File tree Expand file tree Collapse file tree 3 files changed +34
-2
lines changed Expand file tree Collapse file tree 3 files changed +34
-2
lines changed Original file line number Diff line number Diff line change 82
82
paths :
83
83
- node_modules
84
84
- run :
85
- name : Test
85
+ name : Lint
86
86
command : npm run lint
87
+ - run :
88
+ name : Check
89
+ command : npm run valid
Original file line number Diff line number Diff line change 19
19
"update" : " node ./tools/update.js" ,
20
20
"docs:watch" : " vuepress dev docs" ,
21
21
"predocs:build" : " npm run update" ,
22
- "docs:build" : " vuepress build docs"
22
+ "docs:build" : " vuepress build docs" ,
23
+ "valid" : " node tools/valid-dependencies-engines"
23
24
},
24
25
"files" : [
25
26
" lib"
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @author Yosuke Ota
3
+ * See LICENSE file in root directory for full license.
4
+ */
5
+ 'use strict'
6
+
7
+ const cp = require ( 'child_process' )
8
+ const semver = require ( 'semver' )
9
+ const pkg = require ( '../package.json' )
10
+ const nodeVer = pkg . engines . node
11
+ const deps = { ...pkg . dependencies , ...pkg . peerDependencies }
12
+
13
+ for ( const [ name , ver ] of Object . entries ( deps ) ) {
14
+ // eslint-disable-next-line no-console
15
+ // console.log(`call npm view "${name}@${ver}" --json`)
16
+ const json = cp . execSync ( `npm view "${ name } @${ ver } " --json` , {
17
+ maxBuffer : 1024 * 1024 * 100
18
+ } )
19
+ const meta = JSON . parse ( json )
20
+ const v = meta . engines && meta . engines . node
21
+ if ( v && ! semver . subset ( nodeVer , v ) ) {
22
+ // eslint-disable-next-line no-console
23
+ console . error (
24
+ `"${ name } @${ ver } " is not compatible with "node@${ nodeVer } ".\nAllowed is:${ v } `
25
+ )
26
+ process . exit ( 1 )
27
+ }
28
+ }
You can’t perform that action at this time.
0 commit comments