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 8282 paths :
8383 - node_modules
8484 - run :
85- name : Test
85+ name : Lint
8686 command : npm run lint
87+ - run :
88+ name : Check
89+ command : npm run valid
Original file line number Diff line number Diff line change 1919 "update" : " node ./tools/update.js" ,
2020 "docs:watch" : " vuepress dev docs" ,
2121 "predocs:build" : " npm run update" ,
22- "docs:build" : " vuepress build docs"
22+ "docs:build" : " vuepress build docs" ,
23+ "valid" : " node tools/valid-dependencies-engines"
2324 },
2425 "files" : [
2526 " 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