@bleedingdev/modern-js-utils 3.2.0-ultramodern.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +26 -0
- package/dist/cjs/cli/alias.js +82 -0
- package/dist/cjs/cli/applyOptionsChain.js +50 -0
- package/dist/cjs/cli/commands.js +69 -0
- package/dist/cjs/cli/common.js +59 -0
- package/dist/cjs/cli/config.js +39 -0
- package/dist/cjs/cli/constants.js +136 -0
- package/dist/cjs/cli/ensure.js +56 -0
- package/dist/cjs/cli/fs.js +46 -0
- package/dist/cjs/cli/get/config.js +48 -0
- package/dist/cjs/cli/get/data.js +106 -0
- package/dist/cjs/cli/get/index.js +112 -0
- package/dist/cjs/cli/index.js +212 -0
- package/dist/cjs/cli/is/config.js +86 -0
- package/dist/cjs/cli/is/env.js +52 -0
- package/dist/cjs/cli/is/index.js +79 -0
- package/dist/cjs/cli/is/project.js +147 -0
- package/dist/cjs/cli/is/type.js +84 -0
- package/dist/cjs/cli/logger.js +39 -0
- package/dist/cjs/cli/modulePath.js +87 -0
- package/dist/cjs/cli/monorepo.js +110 -0
- package/dist/cjs/cli/package.js +97 -0
- package/dist/cjs/cli/path.js +111 -0
- package/dist/cjs/cli/port.js +79 -0
- package/dist/cjs/cli/prettyInstructions.js +117 -0
- package/dist/cjs/cli/require.js +127 -0
- package/dist/cjs/cli/route.js +76 -0
- package/dist/cjs/cli/runtimeExports.js +86 -0
- package/dist/cjs/cli/tsconfig.js +51 -0
- package/dist/cjs/cli/version.js +67 -0
- package/dist/cjs/cli/watch.js +87 -0
- package/dist/cjs/compiled.js +209 -0
- package/dist/cjs/import.js +56 -0
- package/dist/cjs/index.js +72 -0
- package/dist/cjs/universal/constants.js +84 -0
- package/dist/cjs/universal/index.js +36 -0
- package/dist/cjs/universal/path.js +36 -0
- package/dist/cjs/universal/pluginDagSort.js +75 -0
- package/dist/compiled/address/index.js +171 -0
- package/dist/compiled/address/lib/address.d.ts +28 -0
- package/dist/compiled/address/package.json +1 -0
- package/dist/compiled/browserslist/index.d.ts +178 -0
- package/dist/compiled/browserslist/index.js +1329 -0
- package/dist/compiled/browserslist/license +20 -0
- package/dist/compiled/browserslist/package.json +1 -0
- package/dist/compiled/chalk/index.d.ts +415 -0
- package/dist/compiled/chalk/index.js +2368 -0
- package/dist/compiled/chalk/license +9 -0
- package/dist/compiled/chalk/package.json +1 -0
- package/dist/compiled/chokidar/anymatch/index.d.ts +19 -0
- package/dist/compiled/chokidar/fsevents.node +0 -0
- package/dist/compiled/chokidar/index.js +4162 -0
- package/dist/compiled/chokidar/index.js.LICENSE.txt +41 -0
- package/dist/compiled/chokidar/license +21 -0
- package/dist/compiled/chokidar/package.json +1 -0
- package/dist/compiled/chokidar/types/index.d.ts +188 -0
- package/dist/compiled/commander/index.js +1540 -0
- package/dist/compiled/commander/index.mjs +2 -0
- package/dist/compiled/commander/license +22 -0
- package/dist/compiled/commander/package.json +1 -0
- package/dist/compiled/commander/typings/index.d.ts +890 -0
- package/dist/compiled/debug/index.d.ts +54 -0
- package/dist/compiled/debug/index.js +621 -0
- package/dist/compiled/debug/license +20 -0
- package/dist/compiled/debug/ms/index.d.ts +25 -0
- package/dist/compiled/debug/package.json +1 -0
- package/dist/compiled/dotenv/index.js +101 -0
- package/dist/compiled/dotenv/license +23 -0
- package/dist/compiled/dotenv/package.json +1 -0
- package/dist/compiled/dotenv/types/index.d.ts +59 -0
- package/dist/compiled/dotenv-expand/index.d.ts +15 -0
- package/dist/compiled/dotenv-expand/index.js +54 -0
- package/dist/compiled/dotenv-expand/license +24 -0
- package/dist/compiled/dotenv-expand/package.json +1 -0
- package/dist/compiled/execa/index.d.ts +564 -0
- package/dist/compiled/execa/index.js +1738 -0
- package/dist/compiled/execa/license +9 -0
- package/dist/compiled/execa/package.json +1 -0
- package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
- package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/index.d.ts +12 -0
- package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
- package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/settings.d.ts +20 -0
- package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
- package/dist/compiled/fast-glob/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
- package/dist/compiled/fast-glob/@nodelib/fs.stat/out/index.d.ts +12 -0
- package/dist/compiled/fast-glob/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
- package/dist/compiled/fast-glob/@nodelib/fs.stat/out/settings.d.ts +16 -0
- package/dist/compiled/fast-glob/@nodelib/fs.stat/out/types/index.d.ts +4 -0
- package/dist/compiled/fast-glob/@nodelib/fs.walk/out/index.d.ts +14 -0
- package/dist/compiled/fast-glob/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
- package/dist/compiled/fast-glob/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
- package/dist/compiled/fast-glob/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
- package/dist/compiled/fast-glob/@nodelib/fs.walk/out/settings.d.ts +30 -0
- package/dist/compiled/fast-glob/@nodelib/fs.walk/out/types/index.d.ts +8 -0
- package/dist/compiled/fast-glob/index.js +4665 -0
- package/dist/compiled/fast-glob/index.js.LICENSE.txt +38 -0
- package/dist/compiled/fast-glob/license +21 -0
- package/dist/compiled/fast-glob/out/index.d.ts +27 -0
- package/dist/compiled/fast-glob/out/managers/tasks.d.ts +22 -0
- package/dist/compiled/fast-glob/out/settings.d.ts +164 -0
- package/dist/compiled/fast-glob/out/types/index.d.ts +31 -0
- package/dist/compiled/fast-glob/package.json +1 -0
- package/dist/compiled/filesize/filesize.d.ts +131 -0
- package/dist/compiled/filesize/index.js +198 -0
- package/dist/compiled/filesize/index.js.LICENSE.txt +7 -0
- package/dist/compiled/filesize/license +28 -0
- package/dist/compiled/filesize/package.json +1 -0
- package/dist/compiled/fs-extra/index.d.ts +563 -0
- package/dist/compiled/fs-extra/index.js +2222 -0
- package/dist/compiled/fs-extra/license +15 -0
- package/dist/compiled/fs-extra/package.json +1 -0
- package/dist/compiled/glob/index.d.ts +91 -0
- package/dist/compiled/glob/index.js +2011 -0
- package/dist/compiled/glob/license +21 -0
- package/dist/compiled/glob/minimatch/index.d.ts +204 -0
- package/dist/compiled/glob/package.json +1 -0
- package/dist/compiled/globby/index.d.ts +186 -0
- package/dist/compiled/globby/index.js +690 -0
- package/dist/compiled/globby/license +9 -0
- package/dist/compiled/globby/package.json +1 -0
- package/dist/compiled/gzip-size/index.d.ts +96 -0
- package/dist/compiled/gzip-size/index.js +157 -0
- package/dist/compiled/gzip-size/license +9 -0
- package/dist/compiled/gzip-size/package.json +1 -0
- package/dist/compiled/import-lazy/index.d.ts +26 -0
- package/dist/compiled/import-lazy/index.js +45 -0
- package/dist/compiled/import-lazy/license +9 -0
- package/dist/compiled/import-lazy/package.json +1 -0
- package/dist/compiled/inquirer/index.d.ts +997 -0
- package/dist/compiled/inquirer/index.js +20167 -0
- package/dist/compiled/inquirer/index.js.LICENSE.txt +7 -0
- package/dist/compiled/inquirer/lib/objects/choice.d.ts +65 -0
- package/dist/compiled/inquirer/lib/objects/choices.d.ts +206 -0
- package/dist/compiled/inquirer/lib/objects/separator.d.ts +37 -0
- package/dist/compiled/inquirer/lib/ui/baseUI.d.ts +37 -0
- package/dist/compiled/inquirer/lib/ui/bottom-bar.d.ts +65 -0
- package/dist/compiled/inquirer/lib/ui/prompt.d.ts +104 -0
- package/dist/compiled/inquirer/license +22 -0
- package/dist/compiled/inquirer/package.json +1 -0
- package/dist/compiled/inquirer/through/index.d.ts +25 -0
- package/dist/compiled/js-yaml/index.d.ts +154 -0
- package/dist/compiled/js-yaml/index.js +2191 -0
- package/dist/compiled/js-yaml/index.mjs +2167 -0
- package/dist/compiled/js-yaml/index.mjs.LICENSE.txt +1 -0
- package/dist/compiled/js-yaml/license +21 -0
- package/dist/compiled/js-yaml/package.json +1 -0
- package/dist/compiled/json5/index.js +983 -0
- package/dist/compiled/json5/lib/index.d.ts +4 -0
- package/dist/compiled/json5/lib/parse.d.ts +15 -0
- package/dist/compiled/json5/lib/stringify.d.ts +89 -0
- package/dist/compiled/json5/package.json +1 -0
- package/dist/compiled/lodash/common/array.d.ts +2126 -0
- package/dist/compiled/lodash/common/collection.d.ts +1930 -0
- package/dist/compiled/lodash/common/common.d.ts +280 -0
- package/dist/compiled/lodash/common/date.d.ts +23 -0
- package/dist/compiled/lodash/common/function.d.ts +1446 -0
- package/dist/compiled/lodash/common/lang.d.ts +1693 -0
- package/dist/compiled/lodash/common/math.d.ts +405 -0
- package/dist/compiled/lodash/common/number.d.ts +131 -0
- package/dist/compiled/lodash/common/object.d.ts +2519 -0
- package/dist/compiled/lodash/common/seq.d.ts +210 -0
- package/dist/compiled/lodash/common/string.d.ts +788 -0
- package/dist/compiled/lodash/common/util.d.ts +1220 -0
- package/dist/compiled/lodash/index.d.ts +46 -0
- package/dist/compiled/lodash/index.js +1 -0
- package/dist/compiled/lodash/index.mjs +1 -0
- package/dist/compiled/lodash/license +47 -0
- package/dist/compiled/lodash/package.json +1 -0
- package/dist/compiled/mime-types/index.d.ts +14 -0
- package/dist/compiled/mime-types/index.js +116 -0
- package/dist/compiled/mime-types/index.js.LICENSE.txt +13 -0
- package/dist/compiled/mime-types/license +23 -0
- package/dist/compiled/mime-types/package.json +1 -0
- package/dist/compiled/minimist/index.d.ts +95 -0
- package/dist/compiled/minimist/index.js +202 -0
- package/dist/compiled/minimist/license +18 -0
- package/dist/compiled/minimist/package.json +1 -0
- package/dist/compiled/nanoid/index.d.ts +91 -0
- package/dist/compiled/nanoid/index.js +83 -0
- package/dist/compiled/nanoid/index.mjs +69 -0
- package/dist/compiled/nanoid/license +20 -0
- package/dist/compiled/nanoid/package.json +1 -0
- package/dist/compiled/ora/cli-spinners/index.d.ts +125 -0
- package/dist/compiled/ora/index.d.ts +277 -0
- package/dist/compiled/ora/index.js +3936 -0
- package/dist/compiled/ora/index.js.LICENSE.txt +1 -0
- package/dist/compiled/ora/license +9 -0
- package/dist/compiled/ora/package.json +1 -0
- package/dist/compiled/pkg-up/index.d.ts +48 -0
- package/dist/compiled/pkg-up/index.js +15 -0
- package/dist/compiled/pkg-up/license +9 -0
- package/dist/compiled/pkg-up/package.json +1 -0
- package/dist/compiled/semver/classes/comparator.d.ts +17 -0
- package/dist/compiled/semver/classes/range.d.ts +21 -0
- package/dist/compiled/semver/classes/semver.d.ts +62 -0
- package/dist/compiled/semver/functions/clean.d.ts +8 -0
- package/dist/compiled/semver/functions/cmp.d.ts +16 -0
- package/dist/compiled/semver/functions/coerce.d.ts +12 -0
- package/dist/compiled/semver/functions/compare-build.d.ts +16 -0
- package/dist/compiled/semver/functions/compare-loose.d.ts +5 -0
- package/dist/compiled/semver/functions/compare.d.ts +20 -0
- package/dist/compiled/semver/functions/diff.d.ts +13 -0
- package/dist/compiled/semver/functions/eq.d.ts +9 -0
- package/dist/compiled/semver/functions/gt.d.ts +9 -0
- package/dist/compiled/semver/functions/gte.d.ts +9 -0
- package/dist/compiled/semver/functions/inc.d.ts +15 -0
- package/dist/compiled/semver/functions/lt.d.ts +9 -0
- package/dist/compiled/semver/functions/lte.d.ts +8 -0
- package/dist/compiled/semver/functions/major.d.ts +9 -0
- package/dist/compiled/semver/functions/minor.d.ts +9 -0
- package/dist/compiled/semver/functions/neq.d.ts +9 -0
- package/dist/compiled/semver/functions/parse.d.ts +12 -0
- package/dist/compiled/semver/functions/patch.d.ts +9 -0
- package/dist/compiled/semver/functions/prerelease.d.ts +12 -0
- package/dist/compiled/semver/functions/rcompare.d.ts +15 -0
- package/dist/compiled/semver/functions/rsort.d.ts +9 -0
- package/dist/compiled/semver/functions/satisfies.d.ts +14 -0
- package/dist/compiled/semver/functions/sort.d.ts +9 -0
- package/dist/compiled/semver/functions/valid.d.ts +11 -0
- package/dist/compiled/semver/index.d.ts +133 -0
- package/dist/compiled/semver/index.js +1779 -0
- package/dist/compiled/semver/internals/identifiers.d.ts +13 -0
- package/dist/compiled/semver/license +15 -0
- package/dist/compiled/semver/package.json +1 -0
- package/dist/compiled/semver/ranges/gtr.d.ts +14 -0
- package/dist/compiled/semver/ranges/intersects.d.ts +13 -0
- package/dist/compiled/semver/ranges/ltr.d.ts +14 -0
- package/dist/compiled/semver/ranges/max-satisfying.d.ts +14 -0
- package/dist/compiled/semver/ranges/min-satisfying.d.ts +14 -0
- package/dist/compiled/semver/ranges/min-version.d.ts +10 -0
- package/dist/compiled/semver/ranges/outside.d.ts +15 -0
- package/dist/compiled/semver/ranges/simplify.d.ts +14 -0
- package/dist/compiled/semver/ranges/subset.d.ts +13 -0
- package/dist/compiled/semver/ranges/to-comparators.d.ts +9 -0
- package/dist/compiled/semver/ranges/valid.d.ts +12 -0
- package/dist/compiled/signale/index.d.ts +162 -0
- package/dist/compiled/signale/index.js +1704 -0
- package/dist/compiled/signale/package.json +1 -0
- package/dist/compiled/slash/index.d.ts +25 -0
- package/dist/compiled/slash/index.js +32 -0
- package/dist/compiled/slash/license +9 -0
- package/dist/compiled/slash/package.json +1 -0
- package/dist/compiled/strip-ansi/index.d.ts +17 -0
- package/dist/compiled/strip-ansi/index.js +34 -0
- package/dist/compiled/strip-ansi/license +9 -0
- package/dist/compiled/strip-ansi/package.json +1 -0
- package/dist/compiled/tsconfig-paths/index.js +629 -0
- package/dist/compiled/tsconfig-paths/index.mjs +2 -0
- package/dist/compiled/tsconfig-paths/lib/config-loader.d.ts +33 -0
- package/dist/compiled/tsconfig-paths/lib/filesystem.d.ts +34 -0
- package/dist/compiled/tsconfig-paths/lib/index.d.ts +5 -0
- package/dist/compiled/tsconfig-paths/lib/mapping-entry.d.ts +18 -0
- package/dist/compiled/tsconfig-paths/lib/match-path-async.d.ts +21 -0
- package/dist/compiled/tsconfig-paths/lib/match-path-sync.d.ts +32 -0
- package/dist/compiled/tsconfig-paths/lib/register.d.ts +12 -0
- package/dist/compiled/tsconfig-paths/lib/try-path.d.ts +15 -0
- package/dist/compiled/tsconfig-paths/lib/tsconfig-loader.d.ts +28 -0
- package/dist/compiled/tsconfig-paths/license +21 -0
- package/dist/compiled/tsconfig-paths/package.json +1 -0
- package/dist/compiled/upath/index.js +135 -0
- package/dist/compiled/upath/license +22 -0
- package/dist/compiled/upath/package.json +1 -0
- package/dist/compiled/upath/upath.d.ts +241 -0
- package/dist/compiled/url-join/index.d.ts +17 -0
- package/dist/compiled/url-join/index.js +61 -0
- package/dist/compiled/url-join/license +21 -0
- package/dist/compiled/url-join/package.json +1 -0
- package/dist/compiled/webpack-chain/index.js +1475 -0
- package/dist/compiled/webpack-chain/license +373 -0
- package/dist/compiled/webpack-chain/package.json +1 -0
- package/dist/compiled/webpack-chain/types/index.d.ts +599 -0
- package/dist/esm/cli/alias.mjs +31 -0
- package/dist/esm/cli/applyOptionsChain.mjs +16 -0
- package/dist/esm/cli/commands.mjs +23 -0
- package/dist/esm/cli/common.mjs +9 -0
- package/dist/esm/cli/config.mjs +5 -0
- package/dist/esm/cli/constants.mjs +30 -0
- package/dist/esm/cli/ensure.mjs +9 -0
- package/dist/esm/cli/fs.mjs +9 -0
- package/dist/esm/cli/get/config.mjs +14 -0
- package/dist/esm/cli/get/data.mjs +49 -0
- package/dist/esm/cli/get/index.mjs +18 -0
- package/dist/esm/cli/index.mjs +23 -0
- package/dist/esm/cli/is/config.mjs +37 -0
- package/dist/esm/cli/is/env.mjs +6 -0
- package/dist/esm/cli/is/index.mjs +4 -0
- package/dist/esm/cli/is/project.mjs +75 -0
- package/dist/esm/cli/is/type.mjs +26 -0
- package/dist/esm/cli/logger.mjs +1 -0
- package/dist/esm/cli/modulePath.mjs +33 -0
- package/dist/esm/cli/monorepo.mjs +50 -0
- package/dist/esm/cli/package.mjs +51 -0
- package/dist/esm/cli/path.mjs +35 -0
- package/dist/esm/cli/port.mjs +35 -0
- package/dist/esm/cli/prettyInstructions.mjs +70 -0
- package/dist/esm/cli/require.mjs +79 -0
- package/dist/esm/cli/route.mjs +36 -0
- package/dist/esm/cli/runtimeExports.mjs +42 -0
- package/dist/esm/cli/tsconfig.mjs +7 -0
- package/dist/esm/cli/version.mjs +24 -0
- package/dist/esm/cli/watch.mjs +40 -0
- package/dist/esm/compiled.mjs +45 -0
- package/dist/esm/import.mjs +9 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/rslib-runtime.mjs +12 -0
- package/dist/esm/universal/constants.mjs +14 -0
- package/dist/esm/universal/index.mjs +1 -0
- package/dist/esm/universal/path.mjs +2 -0
- package/dist/esm/universal/pluginDagSort.mjs +41 -0
- package/dist/esm-node/cli/alias.mjs +32 -0
- package/dist/esm-node/cli/applyOptionsChain.mjs +17 -0
- package/dist/esm-node/cli/commands.mjs +24 -0
- package/dist/esm-node/cli/common.mjs +10 -0
- package/dist/esm-node/cli/config.mjs +6 -0
- package/dist/esm-node/cli/constants.mjs +31 -0
- package/dist/esm-node/cli/ensure.mjs +10 -0
- package/dist/esm-node/cli/fs.mjs +10 -0
- package/dist/esm-node/cli/get/config.mjs +15 -0
- package/dist/esm-node/cli/get/data.mjs +50 -0
- package/dist/esm-node/cli/get/index.mjs +19 -0
- package/dist/esm-node/cli/index.mjs +24 -0
- package/dist/esm-node/cli/is/config.mjs +38 -0
- package/dist/esm-node/cli/is/env.mjs +7 -0
- package/dist/esm-node/cli/is/index.mjs +5 -0
- package/dist/esm-node/cli/is/project.mjs +76 -0
- package/dist/esm-node/cli/is/type.mjs +27 -0
- package/dist/esm-node/cli/logger.mjs +2 -0
- package/dist/esm-node/cli/modulePath.mjs +34 -0
- package/dist/esm-node/cli/monorepo.mjs +51 -0
- package/dist/esm-node/cli/package.mjs +52 -0
- package/dist/esm-node/cli/path.mjs +36 -0
- package/dist/esm-node/cli/port.mjs +36 -0
- package/dist/esm-node/cli/prettyInstructions.mjs +71 -0
- package/dist/esm-node/cli/require.mjs +80 -0
- package/dist/esm-node/cli/route.mjs +37 -0
- package/dist/esm-node/cli/runtimeExports.mjs +43 -0
- package/dist/esm-node/cli/tsconfig.mjs +8 -0
- package/dist/esm-node/cli/version.mjs +25 -0
- package/dist/esm-node/cli/watch.mjs +41 -0
- package/dist/esm-node/compiled.mjs +45 -0
- package/dist/esm-node/import.mjs +10 -0
- package/dist/esm-node/index.mjs +4 -0
- package/dist/esm-node/universal/constants.mjs +15 -0
- package/dist/esm-node/universal/index.mjs +2 -0
- package/dist/esm-node/universal/path.mjs +3 -0
- package/dist/esm-node/universal/pluginDagSort.mjs +42 -0
- package/dist/types/cli/alias.d.ts +20 -0
- package/dist/types/cli/applyOptionsChain.d.ts +3 -0
- package/dist/types/cli/commands.d.ts +8 -0
- package/dist/types/cli/common.d.ts +9 -0
- package/dist/types/cli/config.d.ts +4 -0
- package/dist/types/cli/constants.d.ts +55 -0
- package/dist/types/cli/ensure.d.ts +8 -0
- package/dist/types/cli/fs.d.ts +7 -0
- package/dist/types/cli/get/config.d.ts +1 -0
- package/dist/types/cli/get/data.d.ts +6 -0
- package/dist/types/cli/get/index.d.ts +11 -0
- package/dist/types/cli/index.d.ts +23 -0
- package/dist/types/cli/is/config.d.ts +22 -0
- package/dist/types/cli/is/env.d.ts +8 -0
- package/dist/types/cli/is/index.d.ts +4 -0
- package/dist/types/cli/is/project.d.ts +39 -0
- package/dist/types/cli/is/type.d.ts +15 -0
- package/dist/types/cli/logger.d.ts +1 -0
- package/dist/types/cli/modulePath.d.ts +5 -0
- package/dist/types/cli/monorepo.d.ts +9 -0
- package/dist/types/cli/package.d.ts +5 -0
- package/dist/types/cli/path.d.ts +11 -0
- package/dist/types/cli/port.d.ts +12 -0
- package/dist/types/cli/prettyInstructions.d.ts +9 -0
- package/dist/types/cli/require.d.ts +9 -0
- package/dist/types/cli/route.d.ts +4 -0
- package/dist/types/cli/runtimeExports.d.ts +5 -0
- package/dist/types/cli/tsconfig.d.ts +1 -0
- package/dist/types/cli/version.d.ts +4 -0
- package/dist/types/cli/watch.d.ts +8 -0
- package/dist/types/compiled.d.ts +37 -0
- package/dist/types/import.d.ts +5 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/universal/constants.d.ts +47 -0
- package/dist/types/universal/index.d.ts +1 -0
- package/dist/types/universal/path.d.ts +1 -0
- package/dist/types/universal/pluginDagSort.d.ts +1 -0
- package/package.json +174 -0
- package/rslib.config.mts +162 -0
- package/rstest.config.mts +8 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { isAbsolute } from "node:path";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
import { moduleResolve } from "import-meta-resolve";
|
|
5
|
+
import { findExists } from "./fs.mjs";
|
|
6
|
+
async function importPath(path) {
|
|
7
|
+
const modulePath = isAbsolute(path) ? pathToFileURL(path).href : path;
|
|
8
|
+
if ('development' !== process.env.NODE_ENV) return await import(modulePath);
|
|
9
|
+
{
|
|
10
|
+
const timestamp = Date.now();
|
|
11
|
+
return await import(`${modulePath}?t=${timestamp}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async function compatibleRequireESM(path, interop = true) {
|
|
15
|
+
if (path.endsWith('.json')) return JSON.parse(await readFile(path, 'utf8'));
|
|
16
|
+
const requiredModule = await importPath(path);
|
|
17
|
+
return interop ? requiredModule.default : requiredModule;
|
|
18
|
+
}
|
|
19
|
+
async function compatibleRequire(path, interop = true) {
|
|
20
|
+
return await compatibleRequireESM(path, interop);
|
|
21
|
+
}
|
|
22
|
+
async function loadFromProject(moduleName, appDir) {
|
|
23
|
+
let requiredModule;
|
|
24
|
+
const paths = [
|
|
25
|
+
appDir,
|
|
26
|
+
process.cwd()
|
|
27
|
+
];
|
|
28
|
+
try {
|
|
29
|
+
const modulePath = tryResolve(moduleName, ...paths);
|
|
30
|
+
{
|
|
31
|
+
const moduleUrl = pathToFileURL(modulePath).href;
|
|
32
|
+
requiredModule = await import(moduleUrl);
|
|
33
|
+
}
|
|
34
|
+
return requiredModule.default || requiredModule;
|
|
35
|
+
} catch (error) {
|
|
36
|
+
if ('MODULE_NOT_FOUND' === error.code) throw new Error(`Cannot find module ${moduleName}.`);
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const dynamicImport = new Function('modulePath', 'return import(modulePath)');
|
|
41
|
+
const requireExistModule = async (filename, opt)=>{
|
|
42
|
+
const final = {
|
|
43
|
+
extensions: [
|
|
44
|
+
'.ts',
|
|
45
|
+
'.js'
|
|
46
|
+
],
|
|
47
|
+
interop: true,
|
|
48
|
+
...opt
|
|
49
|
+
};
|
|
50
|
+
const exist = findExists(final.extensions.map((ext)=>`${filename}${ext}`));
|
|
51
|
+
if (!exist) return null;
|
|
52
|
+
return compatibleRequire(exist, final.interop);
|
|
53
|
+
};
|
|
54
|
+
const cleanRequireCache = (filelist)=>{};
|
|
55
|
+
const tryResolveESM = (name, ...resolvePath)=>{
|
|
56
|
+
const conditions = new Set([
|
|
57
|
+
'node',
|
|
58
|
+
'import',
|
|
59
|
+
'module',
|
|
60
|
+
'default'
|
|
61
|
+
]);
|
|
62
|
+
for (const p of resolvePath)try {
|
|
63
|
+
return moduleResolve(name, pathToFileURL(`${p}/`), conditions, false).pathname.replace(/^\/(\w):/, '$1:');
|
|
64
|
+
} catch (err) {}
|
|
65
|
+
const err = new Error(`Can not find module ${name}.`);
|
|
66
|
+
err.code = 'MODULE_NOT_FOUND';
|
|
67
|
+
throw err;
|
|
68
|
+
};
|
|
69
|
+
const tryResolve = (name, ...resolvePath)=>{
|
|
70
|
+
let filePath = '';
|
|
71
|
+
try {
|
|
72
|
+
filePath = tryResolveESM(name, ...resolvePath);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
if ('MODULE_NOT_FOUND' === err.code) throw new Error(`Can not find module ${name}.`);
|
|
75
|
+
throw err;
|
|
76
|
+
}
|
|
77
|
+
return filePath;
|
|
78
|
+
};
|
|
79
|
+
export { cleanRequireCache, compatibleRequire, dynamicImport, loadFromProject, requireExistModule, tryResolve };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { lodash } from "../compiled.mjs";
|
|
2
|
+
const { cloneDeep: cloneDeep } = lodash;
|
|
3
|
+
function filterRoutesForServer(routes) {
|
|
4
|
+
const clonedRoutes = cloneDeep(routes);
|
|
5
|
+
const newRoutes = clonedRoutes.map((route)=>{
|
|
6
|
+
if ('nested' !== route.type) return route;
|
|
7
|
+
if (route.children && route.children.length > 0) route.children = filterRoutesForServer(route.children);
|
|
8
|
+
if (route.inValidSSRRoute) return null;
|
|
9
|
+
return route;
|
|
10
|
+
}).filter((route)=>null !== route);
|
|
11
|
+
return newRoutes;
|
|
12
|
+
}
|
|
13
|
+
function filterRoutesLoader(routes) {
|
|
14
|
+
const clonedRoutes = cloneDeep(routes);
|
|
15
|
+
const newRoutes = clonedRoutes.map((route)=>{
|
|
16
|
+
if ('nested' !== route.type) return route;
|
|
17
|
+
if (route.children && route.children.length > 0) route.children = filterRoutesLoader(route.children);
|
|
18
|
+
if (route.inValidSSRRoute) {
|
|
19
|
+
delete route.loader;
|
|
20
|
+
delete route.data;
|
|
21
|
+
delete route.action;
|
|
22
|
+
}
|
|
23
|
+
return route;
|
|
24
|
+
}).filter((route)=>null !== route);
|
|
25
|
+
return newRoutes;
|
|
26
|
+
}
|
|
27
|
+
function markRoutes(routes, routeIds) {
|
|
28
|
+
return routes.map((route)=>{
|
|
29
|
+
if ('nested' !== route.type) return route;
|
|
30
|
+
if (route.children && route.children.length > 0) route.children = markRoutes(route.children, routeIds);
|
|
31
|
+
if (route.children && route.children.length > 0) route.inValidSSRRoute = route.children.every((child)=>child.inValidSSRRoute ?? false);
|
|
32
|
+
else if (route.id) route.inValidSSRRoute = !routeIds.includes(route.id);
|
|
33
|
+
return route;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export { filterRoutesForServer, filterRoutesLoader, markRoutes };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { fs } from "../compiled.mjs";
|
|
3
|
+
import { normalizeOutputPath } from "./path.mjs";
|
|
4
|
+
const memo = (fn)=>{
|
|
5
|
+
const cache = new Map();
|
|
6
|
+
return (...params)=>{
|
|
7
|
+
const stringifiedParams = JSON.stringify(params);
|
|
8
|
+
const cachedResult = cache.get(stringifiedParams);
|
|
9
|
+
if (cachedResult) return cachedResult;
|
|
10
|
+
const res = fn(...params);
|
|
11
|
+
cache.set(stringifiedParams, res);
|
|
12
|
+
return res;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
const ensureRuntimeExportsFile = (filepath)=>{
|
|
16
|
+
fs.ensureDirSync(path.dirname(filepath));
|
|
17
|
+
if (!fs.existsSync(filepath)) fs.writeFileSync(filepath, 'export {};\n');
|
|
18
|
+
};
|
|
19
|
+
const formatRuntimeExports = (exportsList)=>{
|
|
20
|
+
if (0 === exportsList.length) return 'export {};\n';
|
|
21
|
+
return `${exportsList.join('\n')}\n`;
|
|
22
|
+
};
|
|
23
|
+
const flushRuntimeExports = (filepath, exportsSet)=>{
|
|
24
|
+
fs.writeFileSync(filepath, formatRuntimeExports(Array.from(exportsSet)));
|
|
25
|
+
};
|
|
26
|
+
const createRuntimeExportsUtils = memo((internalDirectory, filename)=>{
|
|
27
|
+
const filepath = path.resolve(internalDirectory, `${filename}.ts`);
|
|
28
|
+
const exportsSet = new Set();
|
|
29
|
+
ensureRuntimeExportsFile(filepath);
|
|
30
|
+
return {
|
|
31
|
+
addExport (exportStatement) {
|
|
32
|
+
const normalized = exportStatement?.trim();
|
|
33
|
+
if (!normalized) return;
|
|
34
|
+
exportsSet.add(normalized);
|
|
35
|
+
flushRuntimeExports(filepath, exportsSet);
|
|
36
|
+
},
|
|
37
|
+
getPath () {
|
|
38
|
+
return normalizeOutputPath(filepath);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
export { createRuntimeExportsUtils };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { TS_CONFIG_FILENAME } from "./constants.mjs";
|
|
3
|
+
const resolveServerTsconfig = (appDirectory, configuredPath)=>{
|
|
4
|
+
if (configuredPath) return path.isAbsolute(configuredPath) ? configuredPath : path.resolve(appDirectory, configuredPath);
|
|
5
|
+
return path.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
6
|
+
};
|
|
7
|
+
export { resolveServerTsconfig };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const parseNodeVersion = ()=>{
|
|
2
|
+
const [major = 0, minor = 0] = process.versions.node.split('.').map(Number);
|
|
3
|
+
return {
|
|
4
|
+
major,
|
|
5
|
+
minor
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
function isVersionAtLeast1819() {
|
|
9
|
+
const { major, minor } = parseNodeVersion();
|
|
10
|
+
return major > 18 || 18 === major && minor >= 19;
|
|
11
|
+
}
|
|
12
|
+
function isVersionAtLeast18() {
|
|
13
|
+
const { major } = parseNodeVersion();
|
|
14
|
+
return major >= 18;
|
|
15
|
+
}
|
|
16
|
+
function isVersionAtLeast22() {
|
|
17
|
+
const { major } = parseNodeVersion();
|
|
18
|
+
return major >= 22;
|
|
19
|
+
}
|
|
20
|
+
function isVersionAtLeast20() {
|
|
21
|
+
const { major } = parseNodeVersion();
|
|
22
|
+
return major >= 20;
|
|
23
|
+
}
|
|
24
|
+
export { isVersionAtLeast18, isVersionAtLeast1819, isVersionAtLeast20, isVersionAtLeast22 };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { chokidar } from "../compiled.mjs";
|
|
3
|
+
const WatchChangeType = {
|
|
4
|
+
ADD: 'add',
|
|
5
|
+
UNLINK: 'unlink',
|
|
6
|
+
CHANGE: 'change'
|
|
7
|
+
};
|
|
8
|
+
const watch = (watchDir, runTask, ignored = [])=>{
|
|
9
|
+
let ready = false;
|
|
10
|
+
const watcher = chokidar.watch(watchDir, {
|
|
11
|
+
ignored
|
|
12
|
+
});
|
|
13
|
+
watcher.on('ready', ()=>ready = true);
|
|
14
|
+
watcher.on('change', async (filePath)=>{
|
|
15
|
+
const changedFilePath = path.resolve(filePath);
|
|
16
|
+
await runTask({
|
|
17
|
+
changedFilePath,
|
|
18
|
+
changeType: WatchChangeType.CHANGE
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
watcher.on('add', async (filePath)=>{
|
|
22
|
+
const changedFilePath = path.resolve(filePath);
|
|
23
|
+
if (ready) await runTask({
|
|
24
|
+
changedFilePath,
|
|
25
|
+
changeType: WatchChangeType.ADD
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
watcher.on('unlink', async (filePath)=>{
|
|
29
|
+
const changedFilePath = path.resolve(filePath);
|
|
30
|
+
await runTask({
|
|
31
|
+
changedFilePath,
|
|
32
|
+
changeType: WatchChangeType.UNLINK
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
watcher.on('error', (err)=>{
|
|
36
|
+
throw err;
|
|
37
|
+
});
|
|
38
|
+
return watcher;
|
|
39
|
+
};
|
|
40
|
+
export { WatchChangeType, watch };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { Import } from "./import.mjs";
|
|
3
|
+
import { __webpack_require__ } from "./rslib-runtime.mjs";
|
|
4
|
+
import chokidar from "../compiled/chokidar/index.js";
|
|
5
|
+
import signale from "../compiled/signale/index.js";
|
|
6
|
+
const { Signale: Signale } = signale;
|
|
7
|
+
const getNodeRequire = ()=>{
|
|
8
|
+
try {
|
|
9
|
+
return /*#__PURE__*/ createRequire(import.meta.url);
|
|
10
|
+
} catch {
|
|
11
|
+
if ('object' == typeof __webpack_require__.g && 'function' == typeof __webpack_require__.g.require) return __webpack_require__.g.require;
|
|
12
|
+
if ('object' == typeof globalThis && 'function' == typeof globalThis.require) return globalThis.require;
|
|
13
|
+
throw new Error('Unable to resolve require function for lazy compiled imports');
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const mime = Import.lazy('../compiled/mime-types', getNodeRequire);
|
|
17
|
+
const compiled_chokidar = chokidar;
|
|
18
|
+
const inquirer = Import.lazy('../compiled/inquirer', getNodeRequire);
|
|
19
|
+
export { default as address } from "../compiled/address/index.js";
|
|
20
|
+
export { default as browserslist } from "../compiled/browserslist/index.js";
|
|
21
|
+
export { default as chalk } from "../compiled/chalk/index.js";
|
|
22
|
+
export { Command, program } from "../compiled/commander/index.mjs";
|
|
23
|
+
export { default as debug } from "../compiled/debug/index.js";
|
|
24
|
+
export { default as dotenv } from "../compiled/dotenv/index.js";
|
|
25
|
+
export { default as dotenvExpand } from "../compiled/dotenv-expand/index.js";
|
|
26
|
+
export { default as execa } from "../compiled/execa/index.js";
|
|
27
|
+
export { default as fastGlob } from "../compiled/fast-glob/index.js";
|
|
28
|
+
export { default as filesize } from "../compiled/filesize/index.js";
|
|
29
|
+
export { default as fs } from "../compiled/fs-extra/index.js";
|
|
30
|
+
export { default as glob } from "../compiled/glob/index.js";
|
|
31
|
+
export { default as globby } from "../compiled/globby/index.js";
|
|
32
|
+
export { default as gzipSize } from "../compiled/gzip-size/index.js";
|
|
33
|
+
export { default as yaml } from "../compiled/js-yaml/index.mjs";
|
|
34
|
+
export { default as json5 } from "../compiled/json5/index.js";
|
|
35
|
+
export { default as lodash } from "../compiled/lodash/index.js";
|
|
36
|
+
export { default as minimist } from "../compiled/minimist/index.js";
|
|
37
|
+
export { nanoid } from "../compiled/nanoid/index.mjs";
|
|
38
|
+
export { default as ora } from "../compiled/ora/index.js";
|
|
39
|
+
export { default as pkgUp } from "../compiled/pkg-up/index.js";
|
|
40
|
+
export { default as semver } from "../compiled/semver/index.js";
|
|
41
|
+
export { default as slash } from "../compiled/slash/index.js";
|
|
42
|
+
export { default as stripAnsi } from "../compiled/strip-ansi/index.js";
|
|
43
|
+
export { default as upath } from "../compiled/upath/index.js";
|
|
44
|
+
export { default as urlJoin } from "../compiled/url-join/index.js";
|
|
45
|
+
export { Signale, compiled_chokidar as chokidar, inquirer, mime, signale };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import import_lazy from "../compiled/import-lazy/index.js";
|
|
2
|
+
const lazy = (moduleName, getRequireFn)=>{
|
|
3
|
+
const importLazyLocal = import_lazy(getRequireFn());
|
|
4
|
+
return importLazyLocal(moduleName);
|
|
5
|
+
};
|
|
6
|
+
const Import = {
|
|
7
|
+
lazy: lazy
|
|
8
|
+
};
|
|
9
|
+
export { Import, lazy as lazyImport };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var __webpack_require__ = {};
|
|
2
|
+
(()=>{
|
|
3
|
+
__webpack_require__.g = (()=>{
|
|
4
|
+
if ('object' == typeof globalThis) return globalThis;
|
|
5
|
+
try {
|
|
6
|
+
return this || new Function('return this')();
|
|
7
|
+
} catch (e) {
|
|
8
|
+
if ('object' == typeof window) return window;
|
|
9
|
+
}
|
|
10
|
+
})();
|
|
11
|
+
})();
|
|
12
|
+
export { __webpack_require__ };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const ROUTE_MANIFEST = "_MODERNJS_ROUTE_MANIFEST";
|
|
2
|
+
const ROUTE_MODULES = "_routeModules";
|
|
3
|
+
const HTML_CHUNKSMAP_SEPARATOR = '<!--<?- chunksMap.js ?>-->';
|
|
4
|
+
const LOADER_REPORTER_NAME = "server-loader";
|
|
5
|
+
const ROUTE_SPEC_FILE = 'route.json';
|
|
6
|
+
const NESTED_ROUTE_SPEC_FILE = 'nestedRoutes.json';
|
|
7
|
+
const MAIN_ENTRY_NAME = 'main';
|
|
8
|
+
const DEFAULT_ENTRY_NAME = 'index';
|
|
9
|
+
const SERVER_BUNDLE_DIRECTORY = 'bundles';
|
|
10
|
+
const SERVER_RENDER_FUNCTION_NAME = 'serverRender';
|
|
11
|
+
const SERVER_PLUGIN_BFF = '@modern-js/plugin-bff';
|
|
12
|
+
const SERVER_PLUGIN_POLYFILL = '@modern-js/plugin-polyfill';
|
|
13
|
+
const SSR_HYDRATION_ID_PREFIX = 'modern-js-';
|
|
14
|
+
export { DEFAULT_ENTRY_NAME, HTML_CHUNKSMAP_SEPARATOR, LOADER_REPORTER_NAME, MAIN_ENTRY_NAME, NESTED_ROUTE_SPEC_FILE, ROUTE_MANIFEST, ROUTE_MODULES, ROUTE_SPEC_FILE, SERVER_BUNDLE_DIRECTORY, SERVER_PLUGIN_BFF, SERVER_PLUGIN_POLYFILL, SERVER_RENDER_FUNCTION_NAME, SSR_HYDRATION_ID_PREFIX };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { cutNameByHyphen } from "./path.mjs";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const pluginDagSort = (plugins, key = 'name', preKey = 'pre', postKey = 'post')=>{
|
|
2
|
+
let allLines = [];
|
|
3
|
+
function getPluginByAny(q) {
|
|
4
|
+
const target = plugins.find((item)=>'string' == typeof q ? item[key] === q : item[key] === q[key]);
|
|
5
|
+
if (!target) throw new Error(`plugin ${q} not existed`);
|
|
6
|
+
return target;
|
|
7
|
+
}
|
|
8
|
+
plugins.forEach((item)=>{
|
|
9
|
+
item[preKey]?.forEach((p)=>{
|
|
10
|
+
if (plugins.find((ap)=>ap.name === p)) allLines.push([
|
|
11
|
+
getPluginByAny(p)[key],
|
|
12
|
+
getPluginByAny(item)[key]
|
|
13
|
+
]);
|
|
14
|
+
});
|
|
15
|
+
item[postKey]?.forEach((pt)=>{
|
|
16
|
+
if (plugins.find((ap)=>ap.name === pt)) allLines.push([
|
|
17
|
+
getPluginByAny(item)[key],
|
|
18
|
+
getPluginByAny(pt)[key]
|
|
19
|
+
]);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
let zeroEndPoints = plugins.filter((item)=>!allLines.find((l)=>l[1] === item[key]));
|
|
23
|
+
const sortedPoint = [];
|
|
24
|
+
while(zeroEndPoints.length){
|
|
25
|
+
const zep = zeroEndPoints.shift();
|
|
26
|
+
sortedPoint.push(getPluginByAny(zep));
|
|
27
|
+
allLines = allLines.filter((l)=>l[0] !== getPluginByAny(zep)[key]);
|
|
28
|
+
const restPoints = plugins.filter((item)=>!sortedPoint.find((sp)=>sp[key] === item[key]));
|
|
29
|
+
zeroEndPoints = restPoints.filter((item)=>!allLines.find((l)=>l[1] === item[key]));
|
|
30
|
+
}
|
|
31
|
+
if (allLines.length) {
|
|
32
|
+
const restInRingPoints = {};
|
|
33
|
+
allLines.forEach((l)=>{
|
|
34
|
+
restInRingPoints[l[0]] = true;
|
|
35
|
+
restInRingPoints[l[1]] = true;
|
|
36
|
+
});
|
|
37
|
+
throw new Error(`plugins dependencies has loop: ${Object.keys(restInRingPoints).join(',')}`);
|
|
38
|
+
}
|
|
39
|
+
return sortedPoint;
|
|
40
|
+
};
|
|
41
|
+
export { pluginDagSort };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { applyOptionsChain } from "./applyOptionsChain.mjs";
|
|
5
|
+
import { readTsConfigByFile } from "./get/index.mjs";
|
|
6
|
+
const mergeAlias = (alias)=>applyOptionsChain({}, alias);
|
|
7
|
+
const getAliasConfig = (aliasOption, option)=>{
|
|
8
|
+
const isTsProject = fs.existsSync(option.tsconfigPath);
|
|
9
|
+
const alias = mergeAlias(aliasOption);
|
|
10
|
+
if (!isTsProject) return {
|
|
11
|
+
absoluteBaseUrl: option.appDirectory,
|
|
12
|
+
paths: alias,
|
|
13
|
+
isTsPath: false,
|
|
14
|
+
isTsProject
|
|
15
|
+
};
|
|
16
|
+
const tsconfig = readTsConfigByFile(option.tsconfigPath);
|
|
17
|
+
const baseUrl = tsconfig?.compilerOptions?.baseUrl;
|
|
18
|
+
return {
|
|
19
|
+
absoluteBaseUrl: baseUrl ? path.join(option.appDirectory, baseUrl) : option.appDirectory,
|
|
20
|
+
paths: {
|
|
21
|
+
...alias,
|
|
22
|
+
...tsconfig?.compilerOptions?.paths
|
|
23
|
+
},
|
|
24
|
+
isTsPath: true,
|
|
25
|
+
isTsProject
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const getUserAlias = (alias = {})=>Object.keys(alias).reduce((o, k)=>{
|
|
29
|
+
if (Array.isArray(alias[k])) o[k] = alias[k];
|
|
30
|
+
return o;
|
|
31
|
+
}, {});
|
|
32
|
+
export { getAliasConfig, getUserAlias, mergeAlias };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import { isFunction, isPlainObject } from "./is/index.mjs";
|
|
3
|
+
import { logger } from "./logger.mjs";
|
|
4
|
+
function applyOptionsChain(defaults, options, utils, mergeFn = Object.assign) {
|
|
5
|
+
if (!options) return defaults;
|
|
6
|
+
if (isPlainObject(options)) return mergeFn(defaults, options);
|
|
7
|
+
if (isFunction(options)) {
|
|
8
|
+
const ret = options(defaults, utils);
|
|
9
|
+
if (ret) {
|
|
10
|
+
if (!isPlainObject(ret)) logger.warn(`${options.name}: Function should mutate the config and return nothing, Or return a cloned or merged version of config object.`);
|
|
11
|
+
return ret;
|
|
12
|
+
}
|
|
13
|
+
} else if (Array.isArray(options)) return options.reduce((memo, cur)=>applyOptionsChain(memo, cur, utils, mergeFn), defaults);
|
|
14
|
+
else throw new Error(`applyOptionsChain error:\ndefault options is: ${JSON.stringify(defaults)}`);
|
|
15
|
+
return defaults;
|
|
16
|
+
}
|
|
17
|
+
export { applyOptionsChain };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import { logger } from "./logger.mjs";
|
|
3
|
+
const getFullArgv = ()=>process.env.MODERN_ARGV?.split(' ') || process.argv;
|
|
4
|
+
const getArgv = ()=>getFullArgv().slice(2);
|
|
5
|
+
const getCommand = ()=>{
|
|
6
|
+
const args = getArgv();
|
|
7
|
+
const command = args[0];
|
|
8
|
+
return command;
|
|
9
|
+
};
|
|
10
|
+
const isDevCommand = ()=>{
|
|
11
|
+
const command = getCommand();
|
|
12
|
+
return 'dev' === command || 'start' === command;
|
|
13
|
+
};
|
|
14
|
+
const deprecatedCommands = (program)=>{
|
|
15
|
+
const lintCommand = program.commandsMap?.get('lint');
|
|
16
|
+
if (!lintCommand) program.command('lint [...files]').allowUnknownOption().description('Deprecated').action(()=>{
|
|
17
|
+
logger.warn('The "modern lint" command is deprecated, please use "eslint" or "biome" instead.');
|
|
18
|
+
});
|
|
19
|
+
const preCommitCommand = program.commandsMap?.get('pre-commit');
|
|
20
|
+
if (!preCommitCommand) program.command('pre-commit').description('Deprecated').action(()=>{
|
|
21
|
+
logger.warn('The "modern pre-commit" command is deprecated, please use "lint-staged" instead.');
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export { deprecatedCommands, getArgv, getCommand, getFullArgv, isDevCommand };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import debug from "../../compiled/debug/index.js";
|
|
3
|
+
const createDebugger = (scope)=>debug(`modern-js:${scope}`);
|
|
4
|
+
const clearConsole = ()=>{
|
|
5
|
+
if (process.stdout.isTTY && !process.env.DEBUG) process.stdout.write('\x1B[H\x1B[2J');
|
|
6
|
+
};
|
|
7
|
+
const wait = (time = 0)=>new Promise((resolve)=>{
|
|
8
|
+
setTimeout(resolve, time);
|
|
9
|
+
});
|
|
10
|
+
export { clearConsole, createDebugger, wait };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
const JS_EXTENSIONS = [
|
|
3
|
+
'.js',
|
|
4
|
+
'.ts',
|
|
5
|
+
'.jsx',
|
|
6
|
+
'.tsx'
|
|
7
|
+
];
|
|
8
|
+
const SERVER_WORKER_BUNDLE_DIRECTORY = 'worker';
|
|
9
|
+
const ENTRY_NAME_PATTERN = '^[a-zA-Z0-9_-]+$';
|
|
10
|
+
const LOADABLE_STATS_FILE = 'loadable-stats.json';
|
|
11
|
+
const API_DIR = 'api';
|
|
12
|
+
const DEFAULT_API_PREFIX = '/api';
|
|
13
|
+
const SERVER_DIR = 'server';
|
|
14
|
+
const SHARED_DIR = 'shared';
|
|
15
|
+
const TS_CONFIG_FILENAME = 'tsconfig.json';
|
|
16
|
+
const CONFIG_CACHE_DIR = './node_modules/.cache/bundle-require';
|
|
17
|
+
const CONFIG_FILE_EXTENSIONS = [
|
|
18
|
+
'.js',
|
|
19
|
+
'.ts',
|
|
20
|
+
'.mjs'
|
|
21
|
+
];
|
|
22
|
+
const OUTPUT_CONFIG_FILE = 'modern.config.json';
|
|
23
|
+
const DEFAULT_RUNTIME_CONFIG = 'modern.runtime';
|
|
24
|
+
const ROUTE_MANIFEST_FILE = 'routes-manifest.json';
|
|
25
|
+
const LOADER_ROUTES_DIR = "loader-routes";
|
|
26
|
+
const DEFAULT_DEV_HOST = '0.0.0.0';
|
|
27
|
+
const INTERNAL_RUNTIME_PLUGINS = {
|
|
28
|
+
'@modern-js/runtime': '@modern-js/runtime/cli'
|
|
29
|
+
};
|
|
30
|
+
export { DEFAULT_ENTRY_NAME, MAIN_ENTRY_NAME, NESTED_ROUTE_SPEC_FILE, ROUTE_SPEC_FILE, SERVER_BUNDLE_DIRECTORY, SERVER_PLUGIN_BFF, SERVER_PLUGIN_POLYFILL, SERVER_RENDER_FUNCTION_NAME } from "../universal/constants.mjs";
|
|
31
|
+
export { API_DIR, CONFIG_CACHE_DIR, CONFIG_FILE_EXTENSIONS, DEFAULT_API_PREFIX, DEFAULT_DEV_HOST, DEFAULT_RUNTIME_CONFIG, ENTRY_NAME_PATTERN, INTERNAL_RUNTIME_PLUGINS, JS_EXTENSIONS, LOADABLE_STATS_FILE, LOADER_ROUTES_DIR, OUTPUT_CONFIG_FILE, ROUTE_MANIFEST_FILE, SERVER_DIR, SERVER_WORKER_BUNDLE_DIRECTORY, SHARED_DIR, TS_CONFIG_FILENAME };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import path from "path";
|
|
3
|
+
const ensureAbsolutePath = (base, filePath)=>path.isAbsolute(filePath) ? filePath : path.resolve(base, filePath);
|
|
4
|
+
const ensureArray = (params)=>{
|
|
5
|
+
if (Array.isArray(params)) return params;
|
|
6
|
+
return [
|
|
7
|
+
params
|
|
8
|
+
];
|
|
9
|
+
};
|
|
10
|
+
export { ensureAbsolutePath, ensureArray };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import { fs } from "../compiled.mjs";
|
|
3
|
+
const findExists = (files)=>{
|
|
4
|
+
for (const file of files)if (fs.existsSync(file) && fs.statSync(file).isFile()) return file;
|
|
5
|
+
return false;
|
|
6
|
+
};
|
|
7
|
+
const emptyDir = async (dir)=>{
|
|
8
|
+
if (await fs.pathExists(dir)) await fs.emptyDir(dir);
|
|
9
|
+
};
|
|
10
|
+
export { emptyDir, findExists };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import { isPlainObject } from "../is/index.mjs";
|
|
3
|
+
const getEntryOptions = (name, isMainEntry, baseOptions, optionsByEntries, packageName)=>{
|
|
4
|
+
if (!optionsByEntries) return baseOptions;
|
|
5
|
+
{
|
|
6
|
+
let optionsByEntry = getOptionsByEntryName(name, optionsByEntries);
|
|
7
|
+
if (void 0 === optionsByEntry && isMainEntry && packageName) optionsByEntry = getOptionsByEntryName(packageName, optionsByEntries);
|
|
8
|
+
return void 0 !== optionsByEntry ? isPlainObject(optionsByEntry) && isPlainObject(baseOptions) ? {
|
|
9
|
+
...baseOptions,
|
|
10
|
+
...optionsByEntry
|
|
11
|
+
} : optionsByEntry : baseOptions;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const getOptionsByEntryName = (name, optionsByEntries)=>optionsByEntries.hasOwnProperty(name) ? optionsByEntries[name] : void 0;
|
|
15
|
+
export { getEntryOptions };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import os from "os";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { fs, json5 } from "../../compiled.mjs";
|
|
5
|
+
import { isDepExists } from "../is/index.mjs";
|
|
6
|
+
import { canUsePnpm, canUseYarn } from "../package.mjs";
|
|
7
|
+
const MAX_TIMES = 5;
|
|
8
|
+
async function getPackageManager(cwd = process.cwd()) {
|
|
9
|
+
let appDirectory = cwd;
|
|
10
|
+
let times = 0;
|
|
11
|
+
while(os.homedir() !== appDirectory && times < MAX_TIMES){
|
|
12
|
+
times++;
|
|
13
|
+
if (fs.existsSync(path.resolve(appDirectory, 'pnpm-lock.yaml'))) return 'pnpm';
|
|
14
|
+
if (fs.existsSync(path.resolve(appDirectory, 'yarn.lock'))) return 'yarn';
|
|
15
|
+
if (fs.existsSync(path.resolve(appDirectory, 'package-lock.json'))) return 'npm';
|
|
16
|
+
appDirectory = path.join(appDirectory, '..');
|
|
17
|
+
}
|
|
18
|
+
if (await canUsePnpm()) return 'pnpm';
|
|
19
|
+
if (await canUseYarn()) return 'yarn';
|
|
20
|
+
return 'npm';
|
|
21
|
+
}
|
|
22
|
+
const getCoreJsVersion = (corejsPkgPath)=>{
|
|
23
|
+
try {
|
|
24
|
+
const { version } = fs.readJSONSync(corejsPkgPath);
|
|
25
|
+
const [major, minor] = version.split('.');
|
|
26
|
+
return `${major}.${minor}`;
|
|
27
|
+
} catch (err) {
|
|
28
|
+
return '3';
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function getInternalPlugins(appDirectory, internalPlugins = {}) {
|
|
32
|
+
return [
|
|
33
|
+
...Object.keys(internalPlugins).filter((name)=>{
|
|
34
|
+
const config = internalPlugins[name];
|
|
35
|
+
if (config && 'string' != typeof config && true === config.forced) return true;
|
|
36
|
+
return isDepExists(appDirectory, name);
|
|
37
|
+
}).map((name)=>{
|
|
38
|
+
const config = internalPlugins[name];
|
|
39
|
+
if (config && 'string' != typeof config) return config.path;
|
|
40
|
+
if ('string' == typeof config) return config;
|
|
41
|
+
return name;
|
|
42
|
+
})
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
const readTsConfig = (root)=>readTsConfigByFile(path.resolve(root, './tsconfig.json'));
|
|
46
|
+
const readTsConfigByFile = (filename)=>{
|
|
47
|
+
const content = fs.readFileSync(path.resolve(filename), 'utf-8');
|
|
48
|
+
return json5.parse(content);
|
|
49
|
+
};
|
|
50
|
+
export { getCoreJsVersion, getInternalPlugins, getPackageManager, readTsConfig, readTsConfigByFile };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { CONFIG_FILE_EXTENSIONS } from "../constants.mjs";
|
|
4
|
+
import { findExists } from "../fs.mjs";
|
|
5
|
+
export * from "./config.mjs";
|
|
6
|
+
export * from "./data.mjs";
|
|
7
|
+
const getServerConfig = async (appDirectory, configFile)=>{
|
|
8
|
+
const configFilePath = findExists(CONFIG_FILE_EXTENSIONS.map((extension)=>path.resolve(appDirectory, `${configFile}${extension}`)));
|
|
9
|
+
return configFilePath;
|
|
10
|
+
};
|
|
11
|
+
const getMeta = (metaName = 'modern-js')=>{
|
|
12
|
+
const meta = metaName.toLowerCase().split('-')[0];
|
|
13
|
+
return meta;
|
|
14
|
+
};
|
|
15
|
+
const getTargetDir = (from, baseDir, targetBaseDir)=>{
|
|
16
|
+
const relativePath = path.relative(baseDir, from);
|
|
17
|
+
return path.resolve(targetBaseDir, relativePath);
|
|
18
|
+
};
|
|
19
|
+
export { getMeta, getServerConfig, getTargetDir };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
export * from "./alias.mjs";
|
|
3
|
+
export * from "./applyOptionsChain.mjs";
|
|
4
|
+
export * from "./commands.mjs";
|
|
5
|
+
export * from "./common.mjs";
|
|
6
|
+
export * from "./config.mjs";
|
|
7
|
+
export * from "./constants.mjs";
|
|
8
|
+
export * from "./ensure.mjs";
|
|
9
|
+
export * from "./fs.mjs";
|
|
10
|
+
export * from "./get/index.mjs";
|
|
11
|
+
export * from "./is/index.mjs";
|
|
12
|
+
export * from "./logger.mjs";
|
|
13
|
+
export * from "./modulePath.mjs";
|
|
14
|
+
export * from "./monorepo.mjs";
|
|
15
|
+
export * from "./package.mjs";
|
|
16
|
+
export * from "./path.mjs";
|
|
17
|
+
export * from "./port.mjs";
|
|
18
|
+
export * from "./prettyInstructions.mjs";
|
|
19
|
+
export * from "./require.mjs";
|
|
20
|
+
export * from "./route.mjs";
|
|
21
|
+
export * from "./runtimeExports.mjs";
|
|
22
|
+
export * from "./tsconfig.mjs";
|
|
23
|
+
export * from "./version.mjs";
|
|
24
|
+
export * from "./watch.mjs";
|