diff --git a/package-lock.json b/package-lock.json index e3a68c7b..56336954 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3219,6 +3219,12 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -12140,6 +12146,27 @@ "path-exists": "^3.0.0" } }, + "lockfile-lint": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/lockfile-lint/-/lockfile-lint-3.0.5.tgz", + "integrity": "sha512-5d7Mjo80SgCVTRyEiyKMyLfOi8E6lTTpfkWKTEL228Jia8LF2wd8NRc2fTLSxAP0HwZYEy76jbrzfhCp6K+nmQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "lockfile-lint-api": "^5.0.4", + "yargs": "^15.0.2" + } + }, + "lockfile-lint-api": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/lockfile-lint-api/-/lockfile-lint-api-5.0.4.tgz", + "integrity": "sha512-RnqWgWTWIiX+rF7PUKWci3KEznTwJxp5em0CttLBRaCYH1LS1A0pl0mdTKjcoOQ4A65GtfmHWNTrAgfdjdSU1g==", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "debug": "^4.1.1" + } + }, "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", diff --git a/package.json b/package.json index b7c54978..7bb0e75a 100644 --- a/package.json +++ b/package.json @@ -22,13 +22,14 @@ "start:watch": "nodemon --signal SIGTERM --watch src --ext js,jsx --exec babel-node src/server/index.js", "prestart:prod-sample": "npm run build:prod-sample", "start:prod-sample": "docker-compose -f ./prod-sample/docker-compose.yml up --abort-on-container-exit", + "test:lockfile": "lockfile-lint -p package-lock.json -t npm -a npm -o https: -c -i", "test:lint": "eslint --ext js,jsx,md,snap .", "start": "node lib/server/index.js", "test:unit": "jest --testPathIgnorePatterns integration --config jest.config.js", "pretest:integration": "concurrently \"npm run build:prod-sample\" \"docker-compose -f ./prod-sample/docker-compose.yml pull nginx selenium-chrome\" --kill-others-on-fail -n build-prod-sample,build-dependency-images", "test:integration": "JEST_TEST_REPORT_PATH=./test-results/integration-test-report.html jest integration --config jest.integration.config.js --forceExit", "test:danger": "if-env NODE_ENV=production && danger ci || danger local", - "test": "npm run test:lint && npm run test:unit && npm run test:integration && npm run test:danger && npm run test:git-history", + "test": "npm run test:lint && npm run test:lockfile && npm run test:unit && npm run test:integration && npm run test:danger && npm run test:git-history", "test:git-history": "commitlint --from origin/master --to HEAD", "serve-module": "serve-module", "drop-module": "drop-module", @@ -142,6 +143,7 @@ "jest": "^24.9.0", "jest-circus": "^24.9.0", "js-yaml": "^3.13.1", + "lockfile-lint": "^3.0.5", "lodash.set": "^4.3.2", "markdown-table": "^1.1.3", "mkdirp": "^0.5.1",