Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(npm): only support node versions supported by Node.js #175

Merged
merged 11 commits into from
Jul 19, 2019
Merged
1 change: 1 addition & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@
"mocha/no-top-level-hooks": "error",// disallow top-level hooks
"mocha/valid-suite-description": "error",// match suite descriptions against a pre-configured regular expression
"mocha/valid-test-description": "off", // match test descriptions against a pre-configured regular expression
"mocha/no-async-describe": "error",

// node
"node/exports-style": ["error", "module.exports"],
Expand Down
9 changes: 0 additions & 9 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,6 @@ test_async_node_8:
except:
- tags

test_async_node_6:
image: node:6
script:
- npm install
- npm run test:cover
except:
- tags
- master

# publish:
# image: node:latest
# script:
Expand Down
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ sudo: required
language: node_js

node_js:
- "6"
- "8"
- "10"
- "12"
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Test against the latest version of this Node.js version
environment:
nodejs_version: "11"
nodejs_version: "12"

cache:
- node_modules
Expand Down
11 changes: 9 additions & 2 deletions bin/dependency-cruise
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,17 @@ const semver = require("semver");
const processCLI = require("../src/cli");
const $package = require("../package.json");

const VERSION_ERR = `\nERROR: your node version (${process.versions.node}) is not supported. dependency-cruiser
follows the node.js release cycle and runs on these node versions:
${$package.engines.node}
See https://nodejs.org/en/about/releases/ for details.

`;

/* istanbul ignore if */
if (!semver.satisfies(process.versions.node, $package.engines.node)) {
process.stderr.write(`\nERROR: your node version (${process.versions.node}) is not recent enough.\n`);
process.stderr.write(` dependency-cruiser needs a version of node ${$package.engines.node}\n\n`);

process.stderr.write(VERSION_ERR);

/* eslint no-process-exit: 0 */
process.exit(1);
Expand Down
53 changes: 10 additions & 43 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "dependency-cruiser",
"version": "4.27.2",
"version": "5.0.0-beta-1",
"description": "Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.",
"keywords": [
"static analysis",
Expand Down Expand Up @@ -93,38 +93,6 @@
"upem:update": "npm outdated --json | upem",
"version": "npm-run-all build depcruise:graph:doc scm:stage"
},
"upem": {
"donotup": [
{
"package": "eslint",
"because": "eslint 5.16 is the last still running under node 6"
},
{
"package": "eslint-plugin-node",
"because": "eslint-plugin-node 8.0.1 is the last still running under node 6"
},
{
"package": "indent-string",
"because": "indent-string >= 4 dropped node 6 support, while dependency-cruiser still supports node 6"
},
{
"package": "semver-try-require",
"because": "semver-try-require 2.0.7 is the last version still supporting node 6"
},
{
"package": "symlink-dir",
"because": "symlink-dir >= 3 doesn't work on node < 8 - while dependency-cruiser still supports node 6"
},
{
"package": "upem",
"because": "upem 2.1.1 is the last one still running under node 6"
},
{
"package": "wrap-ansi",
"because": "wrap-ansi >= 6 dropped node 6 support, while dependency-cruiser still supports node 6"
}
]
},
"dependencies": {
"acorn": "6.2.0",
"acorn-dynamic-import": "4.0.0",
Expand All @@ -137,38 +105,37 @@
"figures": "3.0.0",
"glob": "7.1.4",
"handlebars": "4.1.2",
"indent-string": "3.2.0",
"indent-string": "4.0.0",
"inquirer": "6.5.0",
"lodash": "4.17.14",
"pnp-webpack-plugin": "1.5.0",
"regexp-tree": "0.1.11",
"resolve": "1.11.1",
"semver": "6.2.0",
"semver-try-require": "2.0.7",
"semver-try-require": "3.0.0",
"strip-json-comments": "3.0.1",
"teamcity-service-messages": "0.1.10",
"tsconfig-paths-webpack-plugin": "3.2.0",
"wrap-ansi": "5.1.0"
"wrap-ansi": "6.0.0"
},
"devDependencies": {
"chai": "4.2.0",
"chai-json-schema": "1.5.1",
"coffeescript": "2.4.1",
"eslint": "5.16.0",
"eslint": "6.0.1",
"eslint-plugin-import": "2.18.0",
"eslint-plugin-mocha": "5.3.0",
"eslint-plugin-node": "8.0.1",
"eslint-plugin-mocha": "6.0.0",
"eslint-plugin-node": "9.1.0",
"eslint-plugin-security": "1.4.0",
"intercept-stdout": "0.1.2",
"mocha": "6.1.4",
"normalize-newline": "3.0.0",
"npm-run-all": "4.1.5",
"nyc": "14.1.1",
"shx": "0.3.2",
"symlink-dir": "2.0.2",
"symlink-dir": "3.1.0",
"tslint": "5.18.0",
"typescript": "3.5.3",
"upem": "2.1.1",
"upem": "3.0.0",
"yarn": "1.17.3"
},
"repository": {
Expand Down Expand Up @@ -212,7 +179,7 @@
"types/**"
],
"engines": {
"node": ">=6"
"node": "^8.10||^10||^12"
},
"supportedTranspilers": {
"coffee-script": ">=1.0.0 <2.0.0",
Expand Down
6 changes: 2 additions & 4 deletions src/extract/resolve/isCore.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// const builtinModules = require('module').builtinModules;
const resolve = require('resolve');
const builtinModules = require('module').builtinModules;
sverweij marked this conversation as resolved.
Show resolved Hide resolved

module.exports = resolve.isCore;
// module.exports = (pModuleName) => builtinModules.some(pBuiltinModule => pBuiltinModule === pModuleName);
module.exports = (pModuleName) => builtinModules.some(pBuiltinModule => pBuiltinModule === pModuleName);
8 changes: 4 additions & 4 deletions test/extract/resolve/isCore.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ const isCore = require('../../../src/extract/resolve/isCore');

describe("extract/resolve/isCore", () => {
it("returns false when passed nothing", () => {
expect(isCore()).to.be.undefined;
expect(isCore()).to.equal(false);
});

it("returns false when passed null", () => {
expect(isCore(null)).to.be.undefined;
expect(isCore(null)).to.equal(false);
});

it("returns false when passed a local module", () => {
expect(isCore("./path")).to.be.undefined;
expect(isCore("./path")).to.equal(false);
});

it("returns false when passed a non core module", () => {
expect(isCore("flowdash")).to.be.undefined;
expect(isCore("flowdash")).to.equal(false);
});

it("returns true when passed a core module", () => {
Expand Down