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 @@ -120,5 +120,8 @@ jobs:
120
120
paths :
121
121
- node_modules
122
122
- run :
123
- name : Test
123
+ name : Lint
124
124
command : npm run lint
125
+ - run :
126
+ name : Check
127
+ command : npm run valid
Original file line number Diff line number Diff line change 20
20
"update" : " node ./tools/update.js" ,
21
21
"docs:watch" : " vuepress dev docs" ,
22
22
"predocs:build" : " npm run update" ,
23
- "docs:build" : " vuepress build docs"
23
+ "docs:build" : " vuepress build docs" ,
24
+ "valid" : " node tools/valid-dependencies-engines"
24
25
},
25
26
"files" : [
26
27
" 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