From f193d5e4af3829cd88d1779b0660ae9cd0d3a8db Mon Sep 17 00:00:00 2001 From: Matt Travi Date: Fri, 24 Apr 2020 17:52:26 -0500 Subject: [PATCH] feat(test): exposed the test function --- .eslintrc.yml | 7 ++++++- README.md | 12 ++++++++++-- example.js | 16 ++++++++++++++-- package-lock.json | 6 ++++++ package.json | 1 + src/index.js | 1 + src/test-test.js | 11 +++++++++++ src/test.js | 3 +++ 8 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/test-test.js create mode 100644 src/test.js diff --git a/.eslintrc.yml b/.eslintrc.yml index c8f8211..29f3dc6 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -1,3 +1,8 @@ extends: - '@form8ion' - - '@form8ion/mocha' \ No newline at end of file + - '@form8ion/mocha' + +overrides: + - files: example.js + rules: + import/no-extraneous-dependencies: off diff --git a/README.md b/README.md index 7e71b08..ca76a6d 100644 --- a/README.md +++ b/README.md @@ -36,10 +36,18 @@ $ npm install @form8ion/lift-javascript --save-prod ### Example +#### Import + ```javascript -import {lift} from '@form8ion/lift-javascript'; +import {lift, test} from '@form8ion/lift-javascript'; +``` -lift({results: {dependencies: [], devDependencies: [], scripts: {}, elintConfigs: []}}); +#### Execute + +```javascript +if (test({projectRoot: process.cwd()})) { + lift({results: {dependencies: [], devDependencies: [], scripts: {}, elintConfigs: []}}); +} ``` ## Contributing diff --git a/example.js b/example.js index 4063617..29dbbc5 100644 --- a/example.js +++ b/example.js @@ -1,3 +1,15 @@ -import {lift} from './lib/index.cjs'; +// #### Import +// remark-usage-ignore-next +import stubbedFs from 'mock-fs'; +import {lift, test} from './lib/index.cjs'; -lift({results: {dependencies: [], devDependencies: [], scripts: {}, elintConfigs: []}}); +// remark-usage-ignore-next +stubbedFs(); + +// #### Execute + +if (test({projectRoot: process.cwd()})) { + lift({results: {dependencies: [], devDependencies: [], scripts: {}, elintConfigs: []}}); +} +// remark-usage-ignore-next +stubbedFs.restore(); diff --git a/package-lock.json b/package-lock.json index 10a1ec6..c216b40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6677,6 +6677,12 @@ } } }, + "mock-fs": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.12.0.tgz", + "integrity": "sha512-/P/HtrlvBxY4o/PzXY9cCNBrdylDNxg7gnrv2sMNxj+UJ2m8jSpl0/A6fuJeNAWr99ZvGWH8XCbE0vmnM5KupQ==", + "dev": true + }, "moment": { "version": "2.23.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz", diff --git a/package.json b/package.json index 96d6c6c..47c4e7c 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "husky": "4.2.5", "lockfile-lint": "4.2.2", "mocha": "7.1.1", + "mock-fs": "^4.12.0", "npm-run-all": "4.1.5", "nyc": "15.0.1", "remark-cli": "8.0.0", diff --git a/src/index.js b/src/index.js index 1e35890..2a19112 100644 --- a/src/index.js +++ b/src/index.js @@ -1 +1,2 @@ export {default as lift} from './lift'; +export {default as test} from './test'; diff --git a/src/test-test.js b/src/test-test.js new file mode 100644 index 0000000..2cb6a91 --- /dev/null +++ b/src/test-test.js @@ -0,0 +1,11 @@ +import testApplicability from './test'; + +suite('applicability test', () => { + test('that `true` is returned if the project has an `.nvmrc` file', async () => { + await testApplicability(); + }); + + test('that `false` is returned if the project does not have an `.nvmrc` file', async () => { + + }); +}); diff --git a/src/test.js b/src/test.js new file mode 100644 index 0000000..da2589a --- /dev/null +++ b/src/test.js @@ -0,0 +1,3 @@ +export default function () { + +}