Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

TypeScript Discussion :

Compilation de l'éditeur JODIT


Sujet :

TypeScript

  1. #1
    Futur Membre du Club
    Compilation de l'éditeur JODIT
    Jodit est un éditeur de texte wysiwyg écrit en TypeScript.
    Le développeur fournit les sources ainsi que les fichiers JavaScript et CSS minifiés, résultats de la compilation des sources TypeScript.

    J'aurai besoin de compiler moi-même les sources pour :
    • produire des fichiers JavaScript et CSS non minifié afin de les étudier plus facilement,
    • pouvoir ajouter des fonctionnalités à cet éditeur.


    Je suis complètement débutant dans les outils comme nodejs, npm, webpack, composer, ...
    J'ai suivi les indications du README.md mais sans succès.
    J'aurai donc besoin de votre aide.

    Voici les détails :

    Tout d'abord mon environnement de développement :
    J'ai crée un conteneur Docker basé sur ubuntu:latest.
    J'y ai installé nodejs (v8.10.0) et npm (3.5.2).
    Puis dans ce conteneur, je fais :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    git clone https://github.com/xdan/jodit.git
    cd jodit
    npm install


    Déjà là, j'ai des warnings à la dernière étape, je ne sais pas si c'est normal !
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    npm WARN deprecated @types/es6-promise@3.3.0: This is a stub types definition for es6-promise (https://github.com/jakearchibald/ES6-Promise). es6-promise provides its own type definitions, so you don't need @types/es6-promise installed!
    npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    loadDep:fsevents → get    ▄ ╢██████████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
    npm WARN deprecated flatten@1.0.2: I wrote this module a very long time ago; you should use something else.
                                          
    > husky@1.3.1 install /var/www/jodit/node_modules/husky
    > node husky install                
                                               
    husky > setting up git hooks                     
    husky > done                                
    jodit@3.2.55 /var/www/jodit            
    ├── @types/ace@0.0.42                 
    ├── @types/es6-promise@3.3.0             
    ├── @types/node@12.11.7
    ...
    └─┬ webpack-hot-middleware@2.25.0
      └── querystring@0.2.0
    
    npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
    npm WARN notsup Not compatible with your operating system or architecture: fsevents@2.1.1
    npm WARN optional Skipping failed optional dependency /watchpack/chokidar/fsevents:
    npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.9
    npm WARN optional Skipping failed optional dependency /webpack-dev-server/chokidar/fsevents:
    npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.9
    npm WARN jodit@3.2.55 license should be a valid SPDX license expression


    Mais le pire est à l'étape suivante où j'ai carrément des erreurs :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    # npm run build                                                                                                                                                                                               
                                                                                                                                                                                                                                                  
    > jodit@3.2.55 build /var/www/jodit
    > rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify
    
    10% building 0/0 modules 0 active(node:281) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
    10% building 0/1 modules 1 active /var/www/jodit/node_modules/awesome-typescript-loader/dist/entry.js??ref--6!/var/www/jodit/src/index.tsℹ 「atl」: Using typescript@3.6.4 from typescript
    ℹ 「atl」: Using tsconfig.json from /var/www/jodit/tsconfig.json
    94% after sealℹ 「atl」: Checking started in a separate process...
    ✖ 「atl」: Checking finished with 2 errors
    Hash: b9d2c63ce63f590627bc
    Version: webpack 4.41.2
    Time: 19275ms
    Built at: 25/10/2019 12:08:54
     2 assets
    Entrypoint main = jodit.min.css jodit.min.js
      [0] ./src/modules/Dom.ts 18.2 KiB {0} [built]
      [2] ./src/constants.ts 3.53 KiB {0} [built]
      [3] ./src/Config.ts 33.4 KiB {0} [built]
      [4] ./src/modules/helpers/index.ts 1.93 KiB {0} [built]
      [6] ./src/modules/toolbar/icon.ts 1.23 KiB {0} [built]
      [7] ./src/modules/Plugin.ts 1.3 KiB {0} [built]
      [8] ./src/modules/Component.ts 1.41 KiB {0} [built]
     [12] ./src/Jodit.ts 42 KiB {0} [built]
     [36] ./src/modules/index.ts 2.57 KiB {0} [built]
     [66] ./src/index.ts 1.95 KiB {0} [built]
     [67] ./src/styles/bundle.less 39 bytes {0} [built]
     [68] ./src/polyfills.ts 1.39 KiB {0} [built]
    [116] ./src/langs/index.ts 1.72 KiB {0} [built]
    [144] ./src/plugins/index.ts 3.69 KiB {0} [built]
    [186] ./src/styles/icons/index.ts 5.31 KiB {0} [built]
        + 249 hidden modules
    
    ERROR in [at-loader] ./src/modules/helpers/async/setTimeout.ts:29:9 
        TS2322: Type 'Timeout' is not assignable to type 'number'.
    
    ERROR in [at-loader] ./src/modules/Selection.ts:1199:6 
        TS2322: Type 'string | null' is not assignable to type 'string'.
      Type 'null' is not assignable to type 'string'.
    Child mini-css-extract-plugin node_modules/css-loader/index.js??ref--4-1!node_modules/postcss-loader/lib/index.js??ref--4-2!node_modules/less-loader/dist/cjs.js??ref--4-3!src/styles/bundle.less:
        Entrypoint mini-css-extract-plugin = *
        [0] ./node_modules/css-loader??ref--4-1!./node_modules/postcss-loader/lib??ref--4-2!./node_modules/less-loader/dist/cjs.js??ref--4-3!./src/styles/bundle.less 104 KiB {0} [built]
            + 1 hidden module
    npm  ERR ! Linux 4.19.0-6-amd64
    npm  ERR ! argv " /usr/bin/node" "/usr/bin/npm" "run" "build"
    npm ERR! node v8.10.0
    npm ERR! npm  v3.5.2
    npm ERR! code ELIFECYCLE
    npm ERR! jodit@3.2.55 build: `rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify`
    npm ERR! Exit status 2
    npm ERR!
    npm ERR! Failed at the jodit@3.2.55 build script 'rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the jodit package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs jodit
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls jodit
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /var/www/jodit/npm-debug.log


    Et le dossier build/ est bien sûr vide.

    Plus d'infos :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    # cat /var/www/jodit/npm-debug.log
    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'build' ]
    2 info using npm@3.5.2
    3 info using node@v8.10.0
    4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
    5 info lifecycle jodit@3.2.55~prebuild: jodit@3.2.55
    6 silly lifecycle jodit@3.2.55~prebuild: no script for prebuild, continuing
    7 info lifecycle jodit@3.2.55~build: jodit@3.2.55
    8 verbose lifecycle jodit@3.2.55~build: unsafe-perm in lifecycle true
    9 verbose lifecycle jodit@3.2.55~build: PATH: /usr/share/npm/bin/node-gyp-bin:/var/www/jodit/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    10 verbose lifecycle jodit@3.2.55~build: CWD: /var/www/jodit
    11 silly lifecycle jodit@3.2.55~build: Args: [ '-c',
    11 silly lifecycle   'rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify' ]
    12 silly lifecycle jodit@3.2.55~build: Returned: code: 2  signal: null
    13 info lifecycle jodit@3.2.55~build: Failed to exec build script
    14 verbose stack Error: jodit@3.2.55 build: `rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify`
    14 verbose stack Exit status 2
    14 verbose stack     at EventEmitter.<anonymous> (/usr/share/npm/lib/utils/lifecycle.js:232:16)
    14 verbose stack     at emitTwo (events.js:126:13)
    14 verbose stack     at EventEmitter.emit (events.js:214:7)
    14 verbose stack     at ChildProcess.<anonymous> (/usr/share/npm/lib/utils/spawn.js:24:14)
    14 verbose stack     at emitTwo (events.js:126:13)
    14 verbose stack     at ChildProcess.emit (events.js:214:7)
    14 verbose stack     at maybeClose (internal/child_process.js:925:16)
    14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
    15 verbose pkgid jodit@3.2.55
    16 verbose cwd /var/www/jodit
    17 error Linux 4.19.0-6-amd64
    18 error argv "/usr/bin/node" "/usr/bin/npm" "run" "build"
    19 error node v8.10.0
    20 error npm  v3.5.2
    21 error code ELIFECYCLE
    22 error jodit@3.2.55 build: `rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify`
    22 error Exit status 2
    23 error Failed at the jodit@3.2.55 build script 'rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify'.
    23 error Make sure you have the latest version of node.js and npm installed.
    23 error If you do, this is most likely a problem with the jodit package,
    23 error not with npm itself.
    23 error Tell the author that this fails on your system:
    23 error     rm -f build/* && webpack --mode production --config ./webpack.config.js --progress  && npm run build-no-uglify
    23 error You can get information on how to open an issue for this project with:
    23 error     npm bugs jodit
    23 error Or if that isn't available, you can get their info via:
    23 error     npm owner ls jodit
    23 error There is likely additional logging output above.
    24 verbose exit [ 1, true ]


    Qui saura m'aider ?

  2. #2
    Futur Membre du Club
    A ce jour, ubuntu:latest correspond à la version 18.04.
    Donc ce n'est donc pas une version récente de nodejs et de npm.

    En se basant sur ubuntu:19.04, on peut compiler le projet.