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:
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:
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:
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:
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 ?