From 107deaa4f68b7bc3f2386041e1f4fe0272b29c0a Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Sun, 15 Nov 2020 12:44:34 -0500 Subject: [PATCH] fix: expose helpers for legacy versions of Node.js (#1801) --- .eslintignore | 1 + helpers.mjs | 10 ---------- helpers/helpers.mjs | 10 ++++++++++ helpers/index.js | 14 ++++++++++++++ helpers/package.json | 3 +++ package.json | 8 +++++--- test/esm/helpers.mjs | 2 +- yargs | 2 +- 8 files changed, 35 insertions(+), 15 deletions(-) delete mode 100644 helpers.mjs create mode 100644 helpers/helpers.mjs create mode 100644 helpers/index.js create mode 100644 helpers/package.json diff --git a/.eslintignore b/.eslintignore index 9f61ad74d..7e21e213d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ build/ test/ example/ +helpers/ diff --git a/helpers.mjs b/helpers.mjs deleted file mode 100644 index 6fd79c501..000000000 --- a/helpers.mjs +++ /dev/null @@ -1,10 +0,0 @@ -import {applyExtends as _applyExtends} from './build/lib/utils/apply-extends.js'; -import {hideBin} from './build/lib/utils/process-argv.js'; -import Parser from 'yargs-parser'; -import shim from './lib/platform-shims/esm.mjs'; - -const applyExtends = (config, cwd, mergeExtends) => { - return _applyExtends(config, cwd, mergeExtends, shim); -}; - -export {applyExtends, hideBin, Parser}; diff --git a/helpers/helpers.mjs b/helpers/helpers.mjs new file mode 100644 index 000000000..3f96b3db8 --- /dev/null +++ b/helpers/helpers.mjs @@ -0,0 +1,10 @@ +import {applyExtends as _applyExtends} from '../build/lib/utils/apply-extends.js'; +import {hideBin} from '../build/lib/utils/process-argv.js'; +import Parser from 'yargs-parser'; +import shim from '../lib/platform-shims/esm.mjs'; + +const applyExtends = (config, cwd, mergeExtends) => { + return _applyExtends(config, cwd, mergeExtends, shim); +}; + +export {applyExtends, hideBin, Parser}; diff --git a/helpers/index.js b/helpers/index.js new file mode 100644 index 000000000..8ab79a337 --- /dev/null +++ b/helpers/index.js @@ -0,0 +1,14 @@ +const { + applyExtends, + cjsPlatformShim, + Parser, + processArgv, +} = require('../build/index.cjs'); + +module.exports = { + applyExtends: (config, cwd, mergeExtends) => { + return applyExtends(config, cwd, mergeExtends, cjsPlatformShim); + }, + hideBin: processArgv.hideBin, + Parser, +}; diff --git a/helpers/package.json b/helpers/package.json new file mode 100644 index 000000000..5bbefffba --- /dev/null +++ b/helpers/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/package.json b/package.json index 8a344687d..46dfcf9b6 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "./index.cjs" ], "./helpers": { - "import": "./helpers.mjs", - "require": "./yargs" + "import": "./helpers/helpers.mjs", + "require": "./helpers/index.js" }, "./yargs": [ { @@ -33,7 +33,8 @@ "files": [ "browser.mjs", "index.cjs", - "helpers.mjs", + "helpers/*.js", + "helpers/*", "index.mjs", "yargs", "build", @@ -99,6 +100,7 @@ "standardx": { "ignore": [ "build", + "helpers", "**/example/**", "**/platform-shims/esm.mjs" ] diff --git a/test/esm/helpers.mjs b/test/esm/helpers.mjs index 00c0b0c16..4f110ac0e 100644 --- a/test/esm/helpers.mjs +++ b/test/esm/helpers.mjs @@ -1,7 +1,7 @@ 'use strict'; import * as assert from 'assert'; -import {applyExtends, hideBin, Parser} from '../../helpers.mjs'; +import {applyExtends, hideBin, Parser} from '../../helpers/helpers.mjs'; import {describe, it} from 'mocha'; describe('helpers', () => { diff --git a/yargs b/yargs index 4281fdd54..8460d10a6 100644 --- a/yargs +++ b/yargs @@ -1,5 +1,5 @@ // TODO: consolidate on using a helpers file at some point in the future, which -// is the approach currently used to export Parser and applyExtends for ESM: +// is the approach currently used to export Parser and applyExtends for ESM: const {applyExtends, cjsPlatformShim, Parser, Yargs, processArgv} = require('./build/index.cjs') Yargs.applyExtends = (config, cwd, mergeExtends) => { return applyExtends(config, cwd, mergeExtends, cjsPlatformShim)