@rollup/plugin-node-resolve
Advanced tools
Comparing version 11.1.1 to 11.2.0
# @rollup/plugin-node-resolve ChangeLog | ||
## v11.2.0 | ||
_2021-02-14_ | ||
### Features | ||
- feat: add `ignoreSideEffectsForRoot` option (#694) | ||
### Updates | ||
- chore: mark `url` as an external and throw on warning (#783) | ||
- docs: clearer "Resolving Built-Ins" doc (#782) | ||
## v11.1.1 | ||
@@ -4,0 +17,0 @@ |
@@ -119,3 +119,12 @@ 'use strict'; | ||
function getPackageInfo(options) { | ||
const { cache, extensions, pkg, mainFields, preserveSymlinks, useBrowserOverrides } = options; | ||
const { | ||
cache, | ||
extensions, | ||
pkg, | ||
mainFields, | ||
preserveSymlinks, | ||
useBrowserOverrides, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
} = options; | ||
let { pkgPath } = options; | ||
@@ -210,9 +219,11 @@ | ||
const packageSideEffects = pkg.sideEffects; | ||
if (typeof packageSideEffects === 'boolean') { | ||
internalPackageInfo.hasModuleSideEffects = () => packageSideEffects; | ||
} else if (Array.isArray(packageSideEffects)) { | ||
internalPackageInfo.hasModuleSideEffects = pluginutils.createFilter(packageSideEffects, null, { | ||
resolve: pkgRoot | ||
}); | ||
if (!ignoreSideEffectsForRoot || rootDir !== pkgRoot) { | ||
const packageSideEffects = pkg.sideEffects; | ||
if (typeof packageSideEffects === 'boolean') { | ||
internalPackageInfo.hasModuleSideEffects = () => packageSideEffects; | ||
} else if (Array.isArray(packageSideEffects)) { | ||
internalPackageInfo.hasModuleSideEffects = pluginutils.createFilter(packageSideEffects, null, { | ||
resolve: pkgRoot | ||
}); | ||
} | ||
} | ||
@@ -569,3 +580,5 @@ | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}) { | ||
@@ -585,3 +598,5 @@ let hasModuleSideEffects = () => null; | ||
preserveSymlinks, | ||
useBrowserOverrides | ||
useBrowserOverrides, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}); | ||
@@ -708,3 +723,5 @@ | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}) { | ||
@@ -726,3 +743,5 @@ let lastResolveError; | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}); | ||
@@ -816,3 +835,4 @@ | ||
resolveOnly: [], | ||
moduleDirectories: ['node_modules'] | ||
moduleDirectories: ['node_modules'], | ||
ignoreSideEffectsForRoot: false | ||
}; | ||
@@ -825,3 +845,3 @@ const DEFAULTS = deepFreeze(deepMerge__default['default']({}, defaults)); | ||
const options = { ...defaults, ...opts }; | ||
const { extensions, jail, moduleDirectories } = options; | ||
const { extensions, jail, moduleDirectories, ignoreSideEffectsForRoot } = options; | ||
const conditionsEsm = [...baseConditionsEsm, ...(options.exportConditions || [])]; | ||
@@ -835,3 +855,3 @@ const conditionsCjs = [...baseConditionsCjs, ...(options.exportConditions || [])]; | ||
const preferBuiltins = isPreferBuiltinsSet ? options.preferBuiltins : true; | ||
const rootDir = options.rootDir || process.cwd(); | ||
const rootDir = path.resolve(options.rootDir || process.cwd()); | ||
let { dedupe } = options; | ||
@@ -985,3 +1005,5 @@ let rollupOptions; | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}); | ||
@@ -988,0 +1010,0 @@ |
@@ -106,3 +106,12 @@ import path, { dirname, resolve, extname, normalize, sep } from 'path'; | ||
function getPackageInfo(options) { | ||
const { cache, extensions, pkg, mainFields, preserveSymlinks, useBrowserOverrides } = options; | ||
const { | ||
cache, | ||
extensions, | ||
pkg, | ||
mainFields, | ||
preserveSymlinks, | ||
useBrowserOverrides, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
} = options; | ||
let { pkgPath } = options; | ||
@@ -197,9 +206,11 @@ | ||
const packageSideEffects = pkg.sideEffects; | ||
if (typeof packageSideEffects === 'boolean') { | ||
internalPackageInfo.hasModuleSideEffects = () => packageSideEffects; | ||
} else if (Array.isArray(packageSideEffects)) { | ||
internalPackageInfo.hasModuleSideEffects = createFilter(packageSideEffects, null, { | ||
resolve: pkgRoot | ||
}); | ||
if (!ignoreSideEffectsForRoot || rootDir !== pkgRoot) { | ||
const packageSideEffects = pkg.sideEffects; | ||
if (typeof packageSideEffects === 'boolean') { | ||
internalPackageInfo.hasModuleSideEffects = () => packageSideEffects; | ||
} else if (Array.isArray(packageSideEffects)) { | ||
internalPackageInfo.hasModuleSideEffects = createFilter(packageSideEffects, null, { | ||
resolve: pkgRoot | ||
}); | ||
} | ||
} | ||
@@ -556,3 +567,5 @@ | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}) { | ||
@@ -572,3 +585,5 @@ let hasModuleSideEffects = () => null; | ||
preserveSymlinks, | ||
useBrowserOverrides | ||
useBrowserOverrides, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}); | ||
@@ -695,3 +710,5 @@ | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}) { | ||
@@ -713,3 +730,5 @@ let lastResolveError; | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}); | ||
@@ -803,3 +822,4 @@ | ||
resolveOnly: [], | ||
moduleDirectories: ['node_modules'] | ||
moduleDirectories: ['node_modules'], | ||
ignoreSideEffectsForRoot: false | ||
}; | ||
@@ -812,3 +832,3 @@ const DEFAULTS = deepFreeze(deepMerge({}, defaults)); | ||
const options = { ...defaults, ...opts }; | ||
const { extensions, jail, moduleDirectories } = options; | ||
const { extensions, jail, moduleDirectories, ignoreSideEffectsForRoot } = options; | ||
const conditionsEsm = [...baseConditionsEsm, ...(options.exportConditions || [])]; | ||
@@ -822,3 +842,3 @@ const conditionsCjs = [...baseConditionsCjs, ...(options.exportConditions || [])]; | ||
const preferBuiltins = isPreferBuiltinsSet ? options.preferBuiltins : true; | ||
const rootDir = options.rootDir || process.cwd(); | ||
const rootDir = resolve(options.rootDir || process.cwd()); | ||
let { dedupe } = options; | ||
@@ -972,3 +992,5 @@ let rollupOptions; | ||
baseDir, | ||
moduleDirectories | ||
moduleDirectories, | ||
rootDir, | ||
ignoreSideEffectsForRoot | ||
}); | ||
@@ -975,0 +997,0 @@ |
{ | ||
"name": "@rollup/plugin-node-resolve", | ||
"version": "11.1.1", | ||
"version": "11.2.0", | ||
"publishConfig": { | ||
@@ -5,0 +5,0 @@ "access": "public" |
@@ -160,2 +160,6 @@ [npm]: https://img.shields.io/npm/v/@rollup/plugin-node-resolve | ||
## `ignoreSideEffectsForRoot` | ||
If you use the `sideEffects` property in the package.json, by default this is respected for files in the root package. Set to `true` to ignore the `sideEffects` configuration for the root package. | ||
## Preserving symlinks | ||
@@ -191,10 +195,13 @@ | ||
To provide stubbed versions of Node built-ins, use a plugin like [rollup-plugin-node-polyfills](https://github.com/ionic-team/rollup-plugin-node-polyfills) or use [`builtin-modules`](https://github.com/sindresorhus/builtin-modules) with `external`, and set `preferBuiltins` to `false`. e.g. | ||
To provide stubbed versions of Node built-ins, use a plugin like [rollup-plugin-node-polyfills](https://github.com/ionic-team/rollup-plugin-node-polyfills) and set `preferBuiltins` to `false`. e.g. | ||
```js | ||
import { nodeResolve } from '@rollup/plugin-node-resolve'; | ||
import builtins from 'builtin-modules' | ||
import nodePolyfills from 'rollup-plugin-node-polyfills'; | ||
export default ({ | ||
input: ..., | ||
plugins: [nodeResolve()], | ||
plugins: [ | ||
nodePolyfills(), | ||
nodeResolve({ preferBuiltins: false }) | ||
], | ||
external: builtins, | ||
@@ -201,0 +208,0 @@ output: ... |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
86947
1939
228