From dc46938b13289c1a965b2fbaf9c64dd4d30bb3e3 Mon Sep 17 00:00:00 2001 From: Armano Date: Thu, 6 Feb 2020 22:11:54 +0100 Subject: [PATCH] refactor(commitlint): simplify commitlint alias package --- @alias/commitlint/cli.js | 11 ++------ @alias/commitlint/cli.test.js | 28 +++++++++++++++++++ .../fixtures/default/commitlint.config.js | 5 ++++ @alias/commitlint/package.json | 7 ++--- jest.config.js | 3 +- 5 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 @alias/commitlint/cli.test.js create mode 100644 @alias/commitlint/fixtures/default/commitlint.config.js diff --git a/@alias/commitlint/cli.js b/@alias/commitlint/cli.js index 6fd6c3ff4a..caf2882a70 100755 --- a/@alias/commitlint/cli.js +++ b/@alias/commitlint/cli.js @@ -1,10 +1,3 @@ #!/usr/bin/env node -const path = require('path'); -const resolvePkg = require('resolve-pkg'); -const readPkg = require('read-pkg'); - -const pkgDir = resolvePkg('@commitlint/cli', {cwd: __dirname}); -const manifest = readPkg.sync({cwd: pkgDir}); -const bin = path.join(pkgDir, manifest.bin.commitlint); - -require(bin); +const pkgDir = require('@commitlint/cli'); +require(pkgDir); diff --git a/@alias/commitlint/cli.test.js b/@alias/commitlint/cli.test.js new file mode 100644 index 0000000000..ad5110be83 --- /dev/null +++ b/@alias/commitlint/cli.test.js @@ -0,0 +1,28 @@ +import execa from 'execa'; +import {fix} from '@commitlint/test'; + +const bin = require.resolve('./cli.js'); + +function cli(args, options, input) { + const c = execa(bin, args, { + cwd: options.cwd, + env: options.env, + input: input + }); + return c.catch(err => err); +} + +const fixBootstrap = fixture => fix.bootstrap(fixture, __dirname); + +test('should reprint input from stdin', async () => { + const cwd = await fixBootstrap('fixtures/default'); + const actual = await cli([], {cwd}, 'foo: bar'); + expect(actual.stdout).toContain('foo: bar'); +}); + +test('should produce success output with --verbose flag', async () => { + const cwd = await fixBootstrap('fixtures/default'); + const actual = await cli(['--verbose'], {cwd}, 'type: bar'); + expect(actual.stdout).toContain('0 problems, 0 warnings'); + expect(actual.stderr).toEqual(''); +}); diff --git a/@alias/commitlint/fixtures/default/commitlint.config.js b/@alias/commitlint/fixtures/default/commitlint.config.js new file mode 100644 index 0000000000..b6775fef5b --- /dev/null +++ b/@alias/commitlint/fixtures/default/commitlint.config.js @@ -0,0 +1,5 @@ +module.exports = { + rules: { + 'type-enum': [2, 'never', ['foo']] + } +}; diff --git a/@alias/commitlint/package.json b/@alias/commitlint/package.json index e605120c04..085f3985b9 100644 --- a/@alias/commitlint/package.json +++ b/@alias/commitlint/package.json @@ -34,11 +34,10 @@ }, "license": "MIT", "dependencies": { - "@commitlint/cli": "^8.3.5", - "read-pkg": "5.2.0", - "resolve-pkg": "2.0.0" + "@commitlint/cli": "^8.3.5" }, "devDependencies": { - "@commitlint/utils": "^8.3.4" + "@commitlint/utils": "^8.3.4", + "@commitlint/test": "8.2.0" } } diff --git a/jest.config.js b/jest.config.js index c21326e247..319d21f2d3 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,6 +5,7 @@ module.exports = { testMatch: [ '**/*.test.ts?(x)', '**/@commitlint/{lint,read,travis-cli,cli,load,prompt}/src/**/*.test.js?(x)', - '**/@commitlint/{prompt-cli,config-lerna-scopes}/*.test.js?(x)' + '**/@commitlint/{prompt-cli,config-lerna-scopes}/*.test.js?(x)', + '**/@alias/commitlint/*.test.js?(x)' ] };