From 749a42d0e6e5cef0dd5cb39aaa4061125cbd5355 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Thu, 10 Dec 2020 21:58:37 -0800 Subject: [PATCH] feat: add exportConditions config to esinstall (#1757) * feat: expose exportConditions to esinstall * feat: separate lookup fields --- esinstall/README.md | 7 ++++++- esinstall/package.json | 2 +- esinstall/src/index.ts | 4 ++++ yarn.lock | 14 +++++++++++++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/esinstall/README.md b/esinstall/README.md index bfffe2ef27..e025d6cdf7 100644 --- a/esinstall/README.md +++ b/esinstall/README.md @@ -83,9 +83,10 @@ import { } from './types'; interface InstallOptions { + cwd: string; alias: Record; lockfile?: ImportMap; - logLevel: LoggerLevel; + logger: AbstractLogger; verbose?: boolean; dest: string; env: EnvVarReplacements; @@ -93,8 +94,12 @@ interface InstallOptions { polyfillNode: boolean; sourceMap?: boolean | 'inline'; externalPackage: string[]; + externalPackageEsm: string[]; + packageLookupFields: string[]; + packageExportLookupFields: string[]; namedExports: string[]; rollup: { + context?: string; plugins?: RollupPlugin[]; dedupe?: string[]; }; diff --git a/esinstall/package.json b/esinstall/package.json index 486fe05e83..16e35917cc 100644 --- a/esinstall/package.json +++ b/esinstall/package.json @@ -43,7 +43,7 @@ "@rollup/plugin-commonjs": "^16.0.0", "@rollup/plugin-inject": "^4.0.2", "@rollup/plugin-json": "^4.0.0", - "@rollup/plugin-node-resolve": "^10.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", "@rollup/plugin-replace": "^2.3.3", "cjs-module-lexer": "^1.0.0", "es-module-lexer": "^0.3.24", diff --git a/esinstall/src/index.ts b/esinstall/src/index.ts index ec5b3af368..84d0fe7f88 100644 --- a/esinstall/src/index.ts +++ b/esinstall/src/index.ts @@ -260,6 +260,7 @@ interface InstallOptions { externalPackage: string[]; externalPackageEsm: string[]; packageLookupFields: string[]; + packageExportLookupFields: string[]; namedExports: string[]; rollup: { context?: string; @@ -285,6 +286,7 @@ function setOptionDefaults(_options: PublicInstallOptions): InstallOptions { externalPackageEsm: [], polyfillNode: false, packageLookupFields: [], + packageExportLookupFields: [], env: {}, namedExports: [], rollup: { @@ -316,6 +318,7 @@ export async function install( treeshake: isTreeshake, polyfillNode, packageLookupFields, + packageExportLookupFields } = setOptionDefaults(_options); const env = generateEnvObject(userEnv); @@ -417,6 +420,7 @@ ${colors.dim( // whether to prefer built-in modules (e.g. `fs`, `path`) or local ones with the same names preferBuiltins: true, // Default: true dedupe: userDefinedRollup.dedupe || [], + exportConditions: packageExportLookupFields }), rollupPluginJson({ preferConst: true, diff --git a/yarn.lock b/yarn.lock index 01e7b1ce91..588ca58174 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2474,6 +2474,18 @@ is-module "^1.0.0" resolve "^1.17.0" +"@rollup/plugin-node-resolve@^11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.0.tgz#770458fb26691a686c5f29f37dded94832ffce59" + integrity sha512-8Hrmwjn1pLYjUxcv7U7IPP0qfnzEJWHyHE6CaZ8jbLM+8axaarJRB1jB6JgKTDp5gNga+TpsgX6F8iuvgOerKQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + "@rollup/plugin-replace@^2.3.3": version "2.3.4" resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz#7dd84c17755d62b509577f2db37eb524d7ca88ca" @@ -12367,7 +12379,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.8.1: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==