diff --git a/.eslintrc.js b/.eslintrc.js index 7472b0f89..ab374c460 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,6 +6,10 @@ module.exports = { 'rules': { 'comma-dangle': ['error', 'always-multiline'], 'no-var': 'error', + 'node/no-extraneous-import': 'error', + 'node/no-extraneous-require': 'error', + 'node/no-missing-import': 'error', + 'node/no-missing-require': 'error', 'prefer-const': 'error' } } diff --git a/package.json b/package.json index 65e407f04..0ac5e700b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "jest": "^21.2.1", "lint-staged": "^5.0.0", "lodash": "^4.17.4", - "promise-toolbox": "^0.9.5" + "promise-toolbox": "^0.9.5", + "sorted-object": "^2.0.1" }, "engines": { "yarn": "^1.2.1" @@ -40,7 +41,7 @@ "lint-staged-stash": "touch .lint-staged && git stash save --include-untracked --keep-index && true", "lint-staged-unstash": "git stash pop && rm -f .lint-staged && true", "precommit": "lint-staged", - "prepublish": "scripts/run-script prepublish", + "prepare": "scripts/run-script prepare", "pretest": "eslint --ignore-path .gitignore . && jest", "test": "scripts/run-script test" }, diff --git a/packages/vhd-cli/package.json b/packages/vhd-cli/package.json index f1f79baf1..6deb92c70 100644 --- a/packages/vhd-cli/package.json +++ b/packages/vhd-cli/package.json @@ -38,16 +38,14 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "npm run prebuild", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "plugins": [ diff --git a/packages/xen-api/examples/utils.js b/packages/xen-api/examples/utils.js index d7509e4b2..52696f26a 100644 --- a/packages/xen-api/examples/utils.js +++ b/packages/xen-api/examples/utils.js @@ -1,7 +1,7 @@ const { createReadStream, createWriteStream, statSync } = require('fs') const { PassThrough } = require('stream') -const { isOpaqueRef } = require('../') +const { isOpaqueRef } = require('../') // eslint-disable-line node/no-missing-require exports.createInputStream = path => { if (path === undefined || path === '-') { diff --git a/packages/xen-api/package.json b/packages/xen-api/package.json index 9c7524832..3ab758500 100644 --- a/packages/xen-api/package.json +++ b/packages/xen-api/package.json @@ -58,17 +58,15 @@ "babel-preset-env": "^1.6.0", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.5", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", "plot": "gnuplot -p memory-test.gnu", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "npm run prebuild", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "plugins": [ diff --git a/packages/xo-acl-resolver/package.json b/packages/xo-acl-resolver/package.json index 5c93295e5..691688e04 100644 --- a/packages/xo-acl-resolver/package.json +++ b/packages/xo-acl-resolver/package.json @@ -25,14 +25,11 @@ }, "devDependencies": { "babel-cli": "^6.24.1", - "babel-preset-env": "^1.6.1", - "dependency-check": "^2.9.1" + "babel-preset-env": "^1.6.1" }, "scripts": { "build": "babel --source-maps --out-dir=dist/ src/", - "depcheck": "dependency-check ./package.json", "dev": "babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" } } diff --git a/packages/xo-cli/package.json b/packages/xo-cli/package.json index dff603d4c..ebcc5d632 100644 --- a/packages/xo-cli/package.json +++ b/packages/xo-cli/package.json @@ -54,17 +54,15 @@ "babel-preset-env": "^7.0.0-beta.3", "babel-preset-flow": "^7.0.0-beta.3", "cross-env": "^5.1.0", - "dependency-check": "^2.9.1", "flow-bin": "^0.60.1", "rimraf": "^2.6.2" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "npm run prebuild", - "prepublish": "npm run build", + "prepublishOnly": "npm run build", "pretest": "flow status" } } diff --git a/packages/xo-cli/src/index.js b/packages/xo-cli/src/index.js index fbaceff42..aa7008447 100755 --- a/packages/xo-cli/src/index.js +++ b/packages/xo-cli/src/index.js @@ -27,6 +27,9 @@ const startsWith = require('lodash/startsWith') const prettyMs = require('pretty-ms') const progressStream = require('progress-stream') const pw = require('pw') + +// FIXME: re-enable the rule when https://github.com/mysticatea/eslint-plugin-node/issues/100 is fixed +// eslint-disable-next-line node/no-missing-require const Xo = require('xo-lib').default // ------------------------------------------------------------------- diff --git a/packages/xo-collection/index.js b/packages/xo-collection/index.js index aae59039c..33aedb567 100644 --- a/packages/xo-collection/index.js +++ b/packages/xo-collection/index.js @@ -1 +1 @@ -module.exports = require('./dist/index') +module.exports = require('./dist/index') // eslint-disable-line node/no-missing-require diff --git a/packages/xo-collection/package.json b/packages/xo-collection/package.json index fb5db4e0c..4814c53ae 100644 --- a/packages/xo-collection/package.json +++ b/packages/xo-collection/package.json @@ -32,13 +32,11 @@ }, "devDependencies": { "babel-cli": "^6.24.1", - "babel-eslint": "^8.0.3", "babel-plugin-lodash": "^3.3.2", "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "eslint": "^4.12.1", "event-to-promise": "^0.8.0", "lint-staged": "^6.0.0", @@ -47,10 +45,9 @@ "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json --entry dist/collection.js index.js unique-index.js view.js", "prebuild": "rimraf dist/", "predev": "yarn run prebuild", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-collection/src/collection.spec.js b/packages/xo-collection/src/collection.spec.js index e9f3394d7..939056a40 100644 --- a/packages/xo-collection/src/collection.spec.js +++ b/packages/xo-collection/src/collection.spec.js @@ -3,7 +3,7 @@ import eventToPromise from 'event-to-promise' import { forEach } from 'lodash' -import Collection, {DuplicateItem, NoSuchItem} from '..' +import Collection, {DuplicateItem, NoSuchItem} from './collection' // =================================================================== diff --git a/packages/xo-collection/src/index.spec.js b/packages/xo-collection/src/index.spec.js index 59b56abc9..74bd0dfff 100644 --- a/packages/xo-collection/src/index.spec.js +++ b/packages/xo-collection/src/index.spec.js @@ -3,8 +3,8 @@ import eventToPromise from 'event-to-promise' import { forEach } from 'lodash' -import Collection from '..' -import Index from '../index' +import Collection from './collection' +import Index from './index' // =================================================================== diff --git a/packages/xo-collection/src/unique-index.spec.js b/packages/xo-collection/src/unique-index.spec.js index e11e079f4..3b0005b1e 100644 --- a/packages/xo-collection/src/unique-index.spec.js +++ b/packages/xo-collection/src/unique-index.spec.js @@ -3,8 +3,8 @@ import eventToPromise from 'event-to-promise' import { forEach } from 'lodash' -import Collection from '..' -import Index from '../unique-index' +import Collection from './collection' +import Index from './unique-index' // =================================================================== diff --git a/packages/xo-collection/src/view.example.js b/packages/xo-collection/src/view.example.js index 92da39988..4cd60610a 100644 --- a/packages/xo-collection/src/view.example.js +++ b/packages/xo-collection/src/view.example.js @@ -1,7 +1,7 @@ import { forEach } from 'lodash' -import Collection from '..' -import View from '../view' +import Collection from './collection' +import View from './view' // =================================================================== diff --git a/packages/xo-collection/unique-index.js b/packages/xo-collection/unique-index.js index 9f9d92cd5..02fa97efb 100644 --- a/packages/xo-collection/unique-index.js +++ b/packages/xo-collection/unique-index.js @@ -1 +1 @@ -module.exports = require('./dist/unique-index') +module.exports = require('./dist/unique-index') // eslint-disable-line node/no-missing-require diff --git a/packages/xo-collection/view.js b/packages/xo-collection/view.js index 6e691e6c2..b51c3ac5c 100644 --- a/packages/xo-collection/view.js +++ b/packages/xo-collection/view.js @@ -1 +1 @@ -module.exports = require('./dist/view') +module.exports = require('./dist/view') // eslint-disable-line node/no-missing-require diff --git a/packages/xo-common/api-errors.js b/packages/xo-common/api-errors.js index 3b3e7974b..940ac48fb 100644 --- a/packages/xo-common/api-errors.js +++ b/packages/xo-common/api-errors.js @@ -1 +1 @@ -module.exports = require('./dist/api-errors') +module.exports = require('./dist/api-errors') // eslint-disable-line node/no-missing-require diff --git a/packages/xo-common/package.json b/packages/xo-common/package.json index 3b298ee0d..4ae1645f3 100644 --- a/packages/xo-common/package.json +++ b/packages/xo-common/package.json @@ -35,18 +35,15 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json --entry api-errors.js", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", "prebuild": "yarn run clean", "predev": "yarn run clean", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-lib/example.js b/packages/xo-lib/example.js index 5ab7de8c8..742e96f16 100644 --- a/packages/xo-lib/example.js +++ b/packages/xo-lib/example.js @@ -4,7 +4,7 @@ process.on('unhandledRejection', function (error) { console.log(error) }) -const Xo = require('./').default +const Xo = require('./').default // eslint-disable-line node/no-missing-require const xo = new Xo({ url: 'localhost:9000', diff --git a/packages/xo-lib/package.json b/packages/xo-lib/package.json index 9991af696..3897357f0 100644 --- a/packages/xo-lib/package.json +++ b/packages/xo-lib/package.json @@ -38,16 +38,14 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "npm run prebuild", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "env": { diff --git a/packages/xo-remote-parser/package.json b/packages/xo-remote-parser/package.json index f2cc68ee3..1f51e5221 100644 --- a/packages/xo-remote-parser/package.json +++ b/packages/xo-remote-parser/package.json @@ -33,16 +33,14 @@ "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", "deep-freeze": "^0.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "yarn run prebuild", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-auth-github/package.json b/packages/xo-server-auth-github/package.json index d267611a3..fb51ff290 100644 --- a/packages/xo-server-auth-github/package.json +++ b/packages/xo-server-auth-github/package.json @@ -35,15 +35,12 @@ "devDependencies": { "babel-cli": "^6.24.1", "babel-plugin-transform-runtime": "^6.15.0", - "babel-preset-env": "^1.6.1", - "dependency-check": "^2.9.1" + "babel-preset-env": "^1.6.1" }, "scripts": { "build": "NODE_ENV=production babel --source-maps --out-dir=dist/ src/", - "depcheck": "dependency-check ./package.json", "dev": "NODE_DEV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-auth-google/package.json b/packages/xo-server-auth-google/package.json index 81d1010d3..15f58de34 100644 --- a/packages/xo-server-auth-google/package.json +++ b/packages/xo-server-auth-google/package.json @@ -42,16 +42,14 @@ "babel-preset-env": "^1.3.3", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.1.1", - "dependency-check": "^2.8.0", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "npm run prebuild", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "env": { diff --git a/packages/xo-server-auth-ldap/package.json b/packages/xo-server-auth-ldap/package.json index 4fc019cd2..5fedfc5fb 100644 --- a/packages/xo-server-auth-ldap/package.json +++ b/packages/xo-server-auth-ldap/package.json @@ -48,16 +48,14 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "npm run prebuild", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-auth-saml/package.json b/packages/xo-server-auth-saml/package.json index c832996be..7f588f2c1 100644 --- a/packages/xo-server-auth-saml/package.json +++ b/packages/xo-server-auth-saml/package.json @@ -41,18 +41,15 @@ "babel-preset-env": "^1.6.1", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", "prebuild": "yarn run clean", "predev": "yarn run clean", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-backup-reports/package.json b/packages/xo-server-backup-reports/package.json index 305471b49..31f7139b8 100644 --- a/packages/xo-server-backup-reports/package.json +++ b/packages/xo-server-backup-reports/package.json @@ -44,18 +44,15 @@ "babel-plugin-lodash": "^3.3.2", "babel-preset-env": "^1.5.2", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", "prebuild": "yarn run clean", "predev": "yarn run clean", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-cloud/package.json b/packages/xo-server-cloud/package.json index 5e41a28e7..e8d273ccf 100644 --- a/packages/xo-server-cloud/package.json +++ b/packages/xo-server-cloud/package.json @@ -42,18 +42,15 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.16.0", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.5.4" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", "prebuild": "yarn run clean", "predev": "yarn run clean", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-load-balancer/package.json b/packages/xo-server-load-balancer/package.json index b8cee69a4..368ae823e 100644 --- a/packages/xo-server-load-balancer/package.json +++ b/packages/xo-server-load-balancer/package.json @@ -39,15 +39,12 @@ "babel-cli": "^6.24.1", "babel-plugin-lodash": "^3.3.2", "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-stage-3": "^6.24.1", - "dependency-check": "^2.9.1" + "babel-preset-stage-3": "^6.24.1" }, "scripts": { "build": "NODE_ENV=production babel --source-maps --out-dir=dist/ src/", - "depcheck": "dependency-check ./package.json", "dev": "NODE_DEV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-transport-email/package.json b/packages/xo-server-transport-email/package.json index 9f84e9d2a..35c4e12b6 100644 --- a/packages/xo-server-transport-email/package.json +++ b/packages/xo-server-transport-email/package.json @@ -41,16 +41,14 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "dependency-check ./package.json", "prebuild": "rimraf dist/", "predev": "yarn run prebuild", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-transport-nagios/package.json b/packages/xo-server-transport-nagios/package.json index d94d22da8..1e6af27fb 100644 --- a/packages/xo-server-transport-nagios/package.json +++ b/packages/xo-server-transport-nagios/package.json @@ -40,18 +40,15 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", "prebuild": "yarn run clean", "predev": "yarn run clean", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-transport-slack/package.json b/packages/xo-server-transport-slack/package.json index bb368adda..d44929fb4 100644 --- a/packages/xo-server-transport-slack/package.json +++ b/packages/xo-server-transport-slack/package.json @@ -40,18 +40,15 @@ "babel-preset-env": "^1.0.0", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.1.1", - "dependency-check": "^2.6.0", "rimraf": "^2.5.4" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "npm run depcheck", "prebuild": "npm run clean", "predev": "npm run clean", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "presets": [ diff --git a/packages/xo-server-transport-xmpp/package.json b/packages/xo-server-transport-xmpp/package.json index 7b170da31..c1274e3d7 100644 --- a/packages/xo-server-transport-xmpp/package.json +++ b/packages/xo-server-transport-xmpp/package.json @@ -41,18 +41,15 @@ "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.6.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "yarn run depcheck", "prebuild": "yarn run clean", "predev": "yarn run clean", - "prepublish": "yarn run build" + "prepublishOnly": "yarn run build" }, "babel": { "plugins": [ diff --git a/packages/xo-server-usage-report/package.json b/packages/xo-server-usage-report/package.json index e79ddf7b1..e4bf7540f 100644 --- a/packages/xo-server-usage-report/package.json +++ b/packages/xo-server-usage-report/package.json @@ -48,18 +48,15 @@ "babel-preset-env": "^1.5.2", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.1", - "dependency-check": "^2.9.1", "rimraf": "^2.6.1" }, "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", - "posttest": "npm run depcheck", "prebuild": "npm run clean", "predev": "npm run clean", - "prepublish": "npm run build" + "prepublishOnly": "npm run build" }, "babel": { "plugins": [ diff --git a/packages/xo-vmdk-to-vhd/package.json b/packages/xo-vmdk-to-vhd/package.json index 5f28a89f7..29c396580 100644 --- a/packages/xo-vmdk-to-vhd/package.json +++ b/packages/xo-vmdk-to-vhd/package.json @@ -34,7 +34,6 @@ "babel-plugin-transform-runtime": "^6.15.0", "babel-preset-env": "^1.0.0", "cross-env": "^5.1.1", - "dependency-check": "^2.6.0", "mocha": "^4.0.1", "must": "^0.13.2", "rimraf": "^2.5.4" @@ -42,13 +41,11 @@ "scripts": { "build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "clean": "rimraf dist/", - "depcheck": "dependency-check ./package.json", "dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", "dev-test": "mocha --watch --reporter=min \"dist/**/*.spec.js\"", - "posttest": "npm run depcheck", "prebuild": "npm run clean", "predev": "npm run clean", - "prepublish": "npm run build", + "prepublishOnly": "npm run build", "test-disabled": "mocha \"dist/**/*.spec.js\"" }, "babel": { diff --git a/scripts/normalize-packages b/scripts/normalize-packages index 9be4a818a..32077b059 100755 --- a/scripts/normalize-packages +++ b/scripts/normalize-packages @@ -1,6 +1,7 @@ #!/usr/bin/env node const isEmpty = require('lodash/isEmpty') +const sortedObject = require('sorted-object') const { getPackages, writeFile, unlink } = require('./utils') const deleteProperties = (object, property, properties) => { @@ -31,16 +32,30 @@ require('exec-promise')(() => deleteProperties(pkg, 'config', [ 'commitizen' ]) deleteProperties(pkg, 'devDependencies', [ + 'babel-eslint', 'commitizen', + 'cz-conventional-changelog', + 'dependency-check', 'ghooks', 'husky', 'jest', 'standard', - 'babel-eslint', - 'cz-conventional-changelog', ]) deleteProperties(pkg, 'scripts', [ 'commitmsg', 'cz' ]) + const { scripts } = pkg + if (scripts !== undefined) { + const prepublish = scripts.prepublish + if ( + prepublish !== undefined && + !('prepublishOnly' in scripts) + ) { + delete scripts.prepublish + scripts.prepublishOnly = prepublish + pkg.scripts = sortedObject(scripts) + } + } + return Promise.all([ writeFile( `${dir}/package.json`, diff --git a/yarn.lock b/yarn.lock index 2300c4f45..8ce084f8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -443,7 +443,7 @@ babel-core@^6.0.0, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.6" -babel-eslint@^8.0.1, babel-eslint@^8.0.3: +babel-eslint@^8.0.1: version "8.0.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.0.3.tgz#f29ecf02336be438195325cd47c468da81ee4e98" dependencies: @@ -1588,10 +1588,6 @@ builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtins@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - bunyan@^1.8.3: version "1.8.12" resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz#f150f0f6748abdd72aeae84f04403be2ef113797" @@ -2016,10 +2012,6 @@ define-property@^1.0.0: dependencies: is-descriptor "^1.0.0" -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - deflate-js@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/deflate-js/-/deflate-js-0.2.3.tgz#f85abb58ebc5151a306147473d57c3e4f7e4426b" @@ -2044,19 +2036,6 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -dependency-check@^2.6.0, dependency-check@^2.8.0, dependency-check@^2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/dependency-check/-/dependency-check-2.9.1.tgz#228bdba768e3bf819a2a68c36f3f6a773c426ebf" - dependencies: - async "^2.1.4" - builtins "^1.0.0" - debug "^2.2.0" - detective "^4.0.0" - is-relative "^0.2.1" - minimist "^1.2.0" - read-package-json "^2.0.4" - resolve "^1.1.7" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -2067,13 +2046,6 @@ detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -detective@^4.0.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.0.tgz#6276e150f9e50829ad1f90ace4d9a2304188afcf" - dependencies: - acorn "^5.2.1" - defined "^1.0.0" - diff@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" @@ -3274,12 +3246,6 @@ is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" -is-relative@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" - dependencies: - is-unc-path "^0.1.1" - is-resolvable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" @@ -3298,12 +3264,6 @@ is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" -is-unc-path@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - dependencies: - unc-path-regex "^0.1.0" - is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -3688,10 +3648,6 @@ json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" -json-parse-better-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" - json-rpc-peer@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/json-rpc-peer/-/json-rpc-peer-0.14.0.tgz#7bcccde3b22a781973930049e0c3de2e6ef2b798" @@ -4418,7 +4374,7 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.0.0, normalize-package-data@^2.3.2: +normalize-package-data@^2.3.2: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: @@ -4948,17 +4904,6 @@ rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-package-json@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.12.tgz#68ea45f98b3741cb6e10ae3bbd42a605026a6951" - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.0" - normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -5220,7 +5165,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.3.3: +resolve@^1.2.0, resolve@^1.3.2, resolve@^1.3.3: version "1.5.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" dependencies: @@ -5435,6 +5380,10 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" +sorted-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" + source-map-resolve@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" @@ -5849,10 +5798,6 @@ ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" -unc-path-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - unicode-canonical-property-names-ecmascript@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz#f6119f417467593c0086357c85546b6ad5abc583"