rollup 3.8.0 → 3.8.1
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.md +17 -0
- package/dist/bin/rollup +2 -2
- package/dist/es/rollup.js +2 -2
- package/dist/es/shared/rollup.js +90 -17
- package/dist/es/shared/watch.js +2 -2
- package/dist/loadConfigFile.js +2 -2
- package/dist/rollup.js +2 -2
- package/dist/shared/index.js +2 -2
- package/dist/shared/loadConfigFile.js +2 -2
- package/dist/shared/rollup.js +90 -17
- package/dist/shared/watch-cli.js +2 -2
- package/dist/shared/watch.js +2 -2
- package/package.json +2 -1
package/LICENSE.md
CHANGED
|
@@ -247,6 +247,23 @@ Repository: jonschlinkert/fill-range
|
|
|
247
247
|
|
|
248
248
|
---------------------------------------
|
|
249
249
|
|
|
250
|
+
## flru
|
|
251
|
+
License: MIT
|
|
252
|
+
By: Luke Edwards
|
|
253
|
+
Repository: lukeed/flru
|
|
254
|
+
|
|
255
|
+
> MIT License
|
|
256
|
+
>
|
|
257
|
+
> Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
258
|
+
>
|
|
259
|
+
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
260
|
+
>
|
|
261
|
+
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
262
|
+
>
|
|
263
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
264
|
+
|
|
265
|
+
---------------------------------------
|
|
266
|
+
|
|
250
267
|
## glob-parent
|
|
251
268
|
License: ISC
|
|
252
269
|
By: Gulp Team, Elan Shanker, Blaine Bublitz
|
package/dist/bin/rollup
CHANGED
package/dist/es/rollup.js
CHANGED
package/dist/es/shared/rollup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
@license
|
|
3
|
-
Rollup.js v3.8.
|
|
4
|
-
|
|
3
|
+
Rollup.js v3.8.1
|
|
4
|
+
Fri, 23 Dec 2022 05:34:14 GMT - commit 571f3a83d4e24f7bfa9b085cf9736ccdf89e8251
|
|
5
5
|
|
|
6
6
|
https://github.com/rollup/rollup
|
|
7
7
|
|
|
@@ -16,7 +16,7 @@ import { promises } from 'node:fs';
|
|
|
16
16
|
import { EventEmitter } from 'node:events';
|
|
17
17
|
import * as tty from 'tty';
|
|
18
18
|
|
|
19
|
-
var version$1 = "3.8.
|
|
19
|
+
var version$1 = "3.8.1";
|
|
20
20
|
|
|
21
21
|
var charToInteger = {};
|
|
22
22
|
var chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
|
@@ -5566,7 +5566,7 @@ function getAndCreateKeys(esTreeNode) {
|
|
|
5566
5566
|
|
|
5567
5567
|
const INCLUDE_PARAMETERS = 'variables';
|
|
5568
5568
|
class NodeBase extends ExpressionEntity {
|
|
5569
|
-
constructor(esTreeNode, parent, parentScope) {
|
|
5569
|
+
constructor(esTreeNode, parent, parentScope, keepEsTreeNode = false) {
|
|
5570
5570
|
super();
|
|
5571
5571
|
/**
|
|
5572
5572
|
* Nodes can apply custom deoptimizations once they become part of the
|
|
@@ -5575,7 +5575,9 @@ class NodeBase extends ExpressionEntity {
|
|
|
5575
5575
|
* custom handlers
|
|
5576
5576
|
*/
|
|
5577
5577
|
this.deoptimized = false;
|
|
5578
|
-
|
|
5578
|
+
// Nodes can opt-in to keep the AST if needed during the build pipeline.
|
|
5579
|
+
// Avoid true when possible as large AST takes up memory.
|
|
5580
|
+
this.esTreeNode = keepEsTreeNode ? esTreeNode : null;
|
|
5579
5581
|
this.keys = keys[esTreeNode.type] || getAndCreateKeys(esTreeNode);
|
|
5580
5582
|
this.parent = parent;
|
|
5581
5583
|
this.context = parent.context;
|
|
@@ -5661,7 +5663,7 @@ class NodeBase extends ExpressionEntity {
|
|
|
5661
5663
|
code.appendLeft(this.end, ';');
|
|
5662
5664
|
}
|
|
5663
5665
|
}
|
|
5664
|
-
parseNode(esTreeNode) {
|
|
5666
|
+
parseNode(esTreeNode, keepEsTreeNodeKeys) {
|
|
5665
5667
|
for (const [key, value] of Object.entries(esTreeNode)) {
|
|
5666
5668
|
// That way, we can override this function to add custom initialisation and then call super.parseNode
|
|
5667
5669
|
if (this.hasOwnProperty(key))
|
|
@@ -5683,11 +5685,11 @@ class NodeBase extends ExpressionEntity {
|
|
|
5683
5685
|
for (const child of value) {
|
|
5684
5686
|
this[key].push(child === null
|
|
5685
5687
|
? null
|
|
5686
|
-
: new (this.context.getNodeConstructor(child.type))(child, this, this.scope));
|
|
5688
|
+
: new (this.context.getNodeConstructor(child.type))(child, this, this.scope, keepEsTreeNodeKeys?.includes(key)));
|
|
5687
5689
|
}
|
|
5688
5690
|
}
|
|
5689
5691
|
else {
|
|
5690
|
-
this[key] = new (this.context.getNodeConstructor(value.type))(value, this, this.scope);
|
|
5692
|
+
this[key] = new (this.context.getNodeConstructor(value.type))(value, this, this.scope, keepEsTreeNodeKeys?.includes(key));
|
|
5691
5693
|
}
|
|
5692
5694
|
}
|
|
5693
5695
|
}
|
|
@@ -10674,6 +10676,10 @@ class ImportExpression extends NodeBase {
|
|
|
10674
10676
|
initialise() {
|
|
10675
10677
|
this.context.addDynamicImport(this);
|
|
10676
10678
|
}
|
|
10679
|
+
parseNode(esTreeNode) {
|
|
10680
|
+
// Keep the source AST to be used by renderDynamicImport
|
|
10681
|
+
super.parseNode(esTreeNode, ['source']);
|
|
10682
|
+
}
|
|
10677
10683
|
render(code, options) {
|
|
10678
10684
|
const { snippets: { _, getDirectReturnFunction, getObject, getPropertyAccess } } = options;
|
|
10679
10685
|
if (this.inlineNamespace) {
|
|
@@ -13264,9 +13270,7 @@ class Module {
|
|
|
13264
13270
|
this.transformDependencies = transformDependencies;
|
|
13265
13271
|
this.customTransformCache = customTransformCache;
|
|
13266
13272
|
this.updateOptions(moduleOptions);
|
|
13267
|
-
|
|
13268
|
-
ast = this.tryParse();
|
|
13269
|
-
}
|
|
13273
|
+
const moduleAst = ast || this.tryParse();
|
|
13270
13274
|
timeEnd('generate ast', 3);
|
|
13271
13275
|
timeStart('analyze ast', 3);
|
|
13272
13276
|
this.resolvedIds = resolvedIds || Object.create(null);
|
|
@@ -13308,14 +13312,33 @@ class Module {
|
|
|
13308
13312
|
};
|
|
13309
13313
|
this.scope = new ModuleScope(this.graph.scope, this.astContext);
|
|
13310
13314
|
this.namespace = new NamespaceVariable(this.astContext);
|
|
13311
|
-
this.ast = new Program(
|
|
13312
|
-
|
|
13315
|
+
this.ast = new Program(moduleAst, { context: this.astContext, type: 'Module' }, this.scope);
|
|
13316
|
+
// Assign AST directly if has existing one as there's no way to drop it from memory.
|
|
13317
|
+
// If cache is enabled, also assign directly as otherwise it takes more CPU and memory to re-compute.
|
|
13318
|
+
if (ast || this.options.cache !== false) {
|
|
13319
|
+
this.info.ast = moduleAst;
|
|
13320
|
+
}
|
|
13321
|
+
else {
|
|
13322
|
+
// Make lazy and apply LRU cache to not hog the memory
|
|
13323
|
+
Object.defineProperty(this.info, 'ast', {
|
|
13324
|
+
get: () => {
|
|
13325
|
+
if (this.graph.astLru.has(fileName)) {
|
|
13326
|
+
return this.graph.astLru.get(fileName);
|
|
13327
|
+
}
|
|
13328
|
+
else {
|
|
13329
|
+
const parsedAst = this.tryParse();
|
|
13330
|
+
this.graph.astLru.set(fileName, parsedAst);
|
|
13331
|
+
return parsedAst;
|
|
13332
|
+
}
|
|
13333
|
+
}
|
|
13334
|
+
});
|
|
13335
|
+
}
|
|
13313
13336
|
timeEnd('analyze ast', 3);
|
|
13314
13337
|
}
|
|
13315
13338
|
toJSON() {
|
|
13316
13339
|
return {
|
|
13317
13340
|
assertions: this.info.assertions,
|
|
13318
|
-
ast: this.ast
|
|
13341
|
+
ast: this.info.ast,
|
|
13319
13342
|
code: this.info.code,
|
|
13320
13343
|
customTransformCache: this.customTransformCache,
|
|
13321
13344
|
// eslint-disable-next-line unicorn/prefer-spread
|
|
@@ -15269,6 +15292,9 @@ class Chunk {
|
|
|
15269
15292
|
continue;
|
|
15270
15293
|
}
|
|
15271
15294
|
const chunkDep = this.renderedDependencies.get(chunk);
|
|
15295
|
+
if (!chunkDep) {
|
|
15296
|
+
continue;
|
|
15297
|
+
}
|
|
15272
15298
|
const { imports, reexports } = chunkDep;
|
|
15273
15299
|
const importedByReexported = reexports?.find(({ reexported }) => reexported === exportName);
|
|
15274
15300
|
const isImported = imports?.find(({ imported }) => imported === importedByReexported?.imported);
|
|
@@ -22328,6 +22354,50 @@ const acorn = /*#__PURE__*/Object.defineProperty({
|
|
|
22328
22354
|
version
|
|
22329
22355
|
}, Symbol.toStringTag, { value: 'Module' });
|
|
22330
22356
|
|
|
22357
|
+
function flru (max) {
|
|
22358
|
+
var num, curr, prev;
|
|
22359
|
+
var limit = max || 1;
|
|
22360
|
+
|
|
22361
|
+
function keep(key, value) {
|
|
22362
|
+
if (++num > limit) {
|
|
22363
|
+
prev = curr;
|
|
22364
|
+
reset(1);
|
|
22365
|
+
++num;
|
|
22366
|
+
}
|
|
22367
|
+
curr[key] = value;
|
|
22368
|
+
}
|
|
22369
|
+
|
|
22370
|
+
function reset(isPartial) {
|
|
22371
|
+
num = 0;
|
|
22372
|
+
curr = Object.create(null);
|
|
22373
|
+
isPartial || (prev=Object.create(null));
|
|
22374
|
+
}
|
|
22375
|
+
|
|
22376
|
+
reset();
|
|
22377
|
+
|
|
22378
|
+
return {
|
|
22379
|
+
clear: reset,
|
|
22380
|
+
has: function (key) {
|
|
22381
|
+
return curr[key] !== void 0 || prev[key] !== void 0;
|
|
22382
|
+
},
|
|
22383
|
+
get: function (key) {
|
|
22384
|
+
var val = curr[key];
|
|
22385
|
+
if (val !== void 0) return val;
|
|
22386
|
+
if ((val=prev[key]) !== void 0) {
|
|
22387
|
+
keep(key, val);
|
|
22388
|
+
return val;
|
|
22389
|
+
}
|
|
22390
|
+
},
|
|
22391
|
+
set: function (key, value) {
|
|
22392
|
+
if (curr[key] !== void 0) {
|
|
22393
|
+
curr[key] = value;
|
|
22394
|
+
} else {
|
|
22395
|
+
keep(key, value);
|
|
22396
|
+
}
|
|
22397
|
+
}
|
|
22398
|
+
};
|
|
22399
|
+
}
|
|
22400
|
+
|
|
22331
22401
|
function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, assertions) {
|
|
22332
22402
|
let skipped = null;
|
|
22333
22403
|
let replaceContext = null;
|
|
@@ -23629,6 +23699,7 @@ function normalizeEntryModules(entryModules) {
|
|
|
23629
23699
|
class Graph {
|
|
23630
23700
|
constructor(options, watcher) {
|
|
23631
23701
|
this.options = options;
|
|
23702
|
+
this.astLru = flru(5);
|
|
23632
23703
|
this.cachedModules = new Map();
|
|
23633
23704
|
this.deoptimizationTracker = new PathTracker();
|
|
23634
23705
|
this.entryModules = [];
|
|
@@ -24731,10 +24802,12 @@ async function rollupInternal(rawInputOptions, watcher) {
|
|
|
24731
24802
|
const { options: inputOptions, unsetOptions: unsetInputOptions } = await getInputOptions(rawInputOptions, watcher !== null);
|
|
24732
24803
|
initialiseTimers(inputOptions);
|
|
24733
24804
|
const graph = new Graph(inputOptions, watcher);
|
|
24734
|
-
// remove the cache
|
|
24805
|
+
// remove the cache object from the memory after graph creation (cache is not used anymore)
|
|
24735
24806
|
const useCache = rawInputOptions.cache !== false;
|
|
24736
|
-
|
|
24737
|
-
|
|
24807
|
+
if (rawInputOptions.cache) {
|
|
24808
|
+
inputOptions.cache = undefined;
|
|
24809
|
+
rawInputOptions.cache = undefined;
|
|
24810
|
+
}
|
|
24738
24811
|
timeStart('BUILD', 1);
|
|
24739
24812
|
await catchUnfinishedHookActions(graph.pluginDriver, async () => {
|
|
24740
24813
|
try {
|
package/dist/es/shared/watch.js
CHANGED
package/dist/loadConfigFile.js
CHANGED
package/dist/rollup.js
CHANGED
package/dist/shared/index.js
CHANGED
package/dist/shared/rollup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
@license
|
|
3
|
-
Rollup.js v3.8.
|
|
4
|
-
|
|
3
|
+
Rollup.js v3.8.1
|
|
4
|
+
Fri, 23 Dec 2022 05:34:14 GMT - commit 571f3a83d4e24f7bfa9b085cf9736ccdf89e8251
|
|
5
5
|
|
|
6
6
|
https://github.com/rollup/rollup
|
|
7
7
|
|
|
@@ -31,7 +31,7 @@ function _interopNamespaceDefault(e) {
|
|
|
31
31
|
|
|
32
32
|
const tty__namespace = /*#__PURE__*/_interopNamespaceDefault(tty);
|
|
33
33
|
|
|
34
|
-
var version$1 = "3.8.
|
|
34
|
+
var version$1 = "3.8.1";
|
|
35
35
|
|
|
36
36
|
function ensureArray$1(items) {
|
|
37
37
|
if (Array.isArray(items)) {
|
|
@@ -6082,7 +6082,7 @@ function getAndCreateKeys(esTreeNode) {
|
|
|
6082
6082
|
|
|
6083
6083
|
const INCLUDE_PARAMETERS = 'variables';
|
|
6084
6084
|
class NodeBase extends ExpressionEntity {
|
|
6085
|
-
constructor(esTreeNode, parent, parentScope) {
|
|
6085
|
+
constructor(esTreeNode, parent, parentScope, keepEsTreeNode = false) {
|
|
6086
6086
|
super();
|
|
6087
6087
|
/**
|
|
6088
6088
|
* Nodes can apply custom deoptimizations once they become part of the
|
|
@@ -6091,7 +6091,9 @@ class NodeBase extends ExpressionEntity {
|
|
|
6091
6091
|
* custom handlers
|
|
6092
6092
|
*/
|
|
6093
6093
|
this.deoptimized = false;
|
|
6094
|
-
|
|
6094
|
+
// Nodes can opt-in to keep the AST if needed during the build pipeline.
|
|
6095
|
+
// Avoid true when possible as large AST takes up memory.
|
|
6096
|
+
this.esTreeNode = keepEsTreeNode ? esTreeNode : null;
|
|
6095
6097
|
this.keys = keys[esTreeNode.type] || getAndCreateKeys(esTreeNode);
|
|
6096
6098
|
this.parent = parent;
|
|
6097
6099
|
this.context = parent.context;
|
|
@@ -6177,7 +6179,7 @@ class NodeBase extends ExpressionEntity {
|
|
|
6177
6179
|
code.appendLeft(this.end, ';');
|
|
6178
6180
|
}
|
|
6179
6181
|
}
|
|
6180
|
-
parseNode(esTreeNode) {
|
|
6182
|
+
parseNode(esTreeNode, keepEsTreeNodeKeys) {
|
|
6181
6183
|
for (const [key, value] of Object.entries(esTreeNode)) {
|
|
6182
6184
|
// That way, we can override this function to add custom initialisation and then call super.parseNode
|
|
6183
6185
|
if (this.hasOwnProperty(key))
|
|
@@ -6199,11 +6201,11 @@ class NodeBase extends ExpressionEntity {
|
|
|
6199
6201
|
for (const child of value) {
|
|
6200
6202
|
this[key].push(child === null
|
|
6201
6203
|
? null
|
|
6202
|
-
: new (this.context.getNodeConstructor(child.type))(child, this, this.scope));
|
|
6204
|
+
: new (this.context.getNodeConstructor(child.type))(child, this, this.scope, keepEsTreeNodeKeys?.includes(key)));
|
|
6203
6205
|
}
|
|
6204
6206
|
}
|
|
6205
6207
|
else {
|
|
6206
|
-
this[key] = new (this.context.getNodeConstructor(value.type))(value, this, this.scope);
|
|
6208
|
+
this[key] = new (this.context.getNodeConstructor(value.type))(value, this, this.scope, keepEsTreeNodeKeys?.includes(key));
|
|
6207
6209
|
}
|
|
6208
6210
|
}
|
|
6209
6211
|
}
|
|
@@ -11190,6 +11192,10 @@ class ImportExpression extends NodeBase {
|
|
|
11190
11192
|
initialise() {
|
|
11191
11193
|
this.context.addDynamicImport(this);
|
|
11192
11194
|
}
|
|
11195
|
+
parseNode(esTreeNode) {
|
|
11196
|
+
// Keep the source AST to be used by renderDynamicImport
|
|
11197
|
+
super.parseNode(esTreeNode, ['source']);
|
|
11198
|
+
}
|
|
11193
11199
|
render(code, options) {
|
|
11194
11200
|
const { snippets: { _, getDirectReturnFunction, getObject, getPropertyAccess } } = options;
|
|
11195
11201
|
if (this.inlineNamespace) {
|
|
@@ -13780,9 +13786,7 @@ class Module {
|
|
|
13780
13786
|
this.transformDependencies = transformDependencies;
|
|
13781
13787
|
this.customTransformCache = customTransformCache;
|
|
13782
13788
|
this.updateOptions(moduleOptions);
|
|
13783
|
-
|
|
13784
|
-
ast = this.tryParse();
|
|
13785
|
-
}
|
|
13789
|
+
const moduleAst = ast || this.tryParse();
|
|
13786
13790
|
timeEnd('generate ast', 3);
|
|
13787
13791
|
timeStart('analyze ast', 3);
|
|
13788
13792
|
this.resolvedIds = resolvedIds || Object.create(null);
|
|
@@ -13824,14 +13828,33 @@ class Module {
|
|
|
13824
13828
|
};
|
|
13825
13829
|
this.scope = new ModuleScope(this.graph.scope, this.astContext);
|
|
13826
13830
|
this.namespace = new NamespaceVariable(this.astContext);
|
|
13827
|
-
this.ast = new Program(
|
|
13828
|
-
|
|
13831
|
+
this.ast = new Program(moduleAst, { context: this.astContext, type: 'Module' }, this.scope);
|
|
13832
|
+
// Assign AST directly if has existing one as there's no way to drop it from memory.
|
|
13833
|
+
// If cache is enabled, also assign directly as otherwise it takes more CPU and memory to re-compute.
|
|
13834
|
+
if (ast || this.options.cache !== false) {
|
|
13835
|
+
this.info.ast = moduleAst;
|
|
13836
|
+
}
|
|
13837
|
+
else {
|
|
13838
|
+
// Make lazy and apply LRU cache to not hog the memory
|
|
13839
|
+
Object.defineProperty(this.info, 'ast', {
|
|
13840
|
+
get: () => {
|
|
13841
|
+
if (this.graph.astLru.has(fileName)) {
|
|
13842
|
+
return this.graph.astLru.get(fileName);
|
|
13843
|
+
}
|
|
13844
|
+
else {
|
|
13845
|
+
const parsedAst = this.tryParse();
|
|
13846
|
+
this.graph.astLru.set(fileName, parsedAst);
|
|
13847
|
+
return parsedAst;
|
|
13848
|
+
}
|
|
13849
|
+
}
|
|
13850
|
+
});
|
|
13851
|
+
}
|
|
13829
13852
|
timeEnd('analyze ast', 3);
|
|
13830
13853
|
}
|
|
13831
13854
|
toJSON() {
|
|
13832
13855
|
return {
|
|
13833
13856
|
assertions: this.info.assertions,
|
|
13834
|
-
ast: this.ast
|
|
13857
|
+
ast: this.info.ast,
|
|
13835
13858
|
code: this.info.code,
|
|
13836
13859
|
customTransformCache: this.customTransformCache,
|
|
13837
13860
|
// eslint-disable-next-line unicorn/prefer-spread
|
|
@@ -15785,6 +15808,9 @@ class Chunk {
|
|
|
15785
15808
|
continue;
|
|
15786
15809
|
}
|
|
15787
15810
|
const chunkDep = this.renderedDependencies.get(chunk);
|
|
15811
|
+
if (!chunkDep) {
|
|
15812
|
+
continue;
|
|
15813
|
+
}
|
|
15788
15814
|
const { imports, reexports } = chunkDep;
|
|
15789
15815
|
const importedByReexported = reexports?.find(({ reexported }) => reexported === exportName);
|
|
15790
15816
|
const isImported = imports?.find(({ imported }) => imported === importedByReexported?.imported);
|
|
@@ -22844,6 +22870,50 @@ const acorn = /*#__PURE__*/Object.defineProperty({
|
|
|
22844
22870
|
version
|
|
22845
22871
|
}, Symbol.toStringTag, { value: 'Module' });
|
|
22846
22872
|
|
|
22873
|
+
function flru (max) {
|
|
22874
|
+
var num, curr, prev;
|
|
22875
|
+
var limit = max || 1;
|
|
22876
|
+
|
|
22877
|
+
function keep(key, value) {
|
|
22878
|
+
if (++num > limit) {
|
|
22879
|
+
prev = curr;
|
|
22880
|
+
reset(1);
|
|
22881
|
+
++num;
|
|
22882
|
+
}
|
|
22883
|
+
curr[key] = value;
|
|
22884
|
+
}
|
|
22885
|
+
|
|
22886
|
+
function reset(isPartial) {
|
|
22887
|
+
num = 0;
|
|
22888
|
+
curr = Object.create(null);
|
|
22889
|
+
isPartial || (prev=Object.create(null));
|
|
22890
|
+
}
|
|
22891
|
+
|
|
22892
|
+
reset();
|
|
22893
|
+
|
|
22894
|
+
return {
|
|
22895
|
+
clear: reset,
|
|
22896
|
+
has: function (key) {
|
|
22897
|
+
return curr[key] !== void 0 || prev[key] !== void 0;
|
|
22898
|
+
},
|
|
22899
|
+
get: function (key) {
|
|
22900
|
+
var val = curr[key];
|
|
22901
|
+
if (val !== void 0) return val;
|
|
22902
|
+
if ((val=prev[key]) !== void 0) {
|
|
22903
|
+
keep(key, val);
|
|
22904
|
+
return val;
|
|
22905
|
+
}
|
|
22906
|
+
},
|
|
22907
|
+
set: function (key, value) {
|
|
22908
|
+
if (curr[key] !== void 0) {
|
|
22909
|
+
curr[key] = value;
|
|
22910
|
+
} else {
|
|
22911
|
+
keep(key, value);
|
|
22912
|
+
}
|
|
22913
|
+
}
|
|
22914
|
+
};
|
|
22915
|
+
}
|
|
22916
|
+
|
|
22847
22917
|
function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, assertions) {
|
|
22848
22918
|
let skipped = null;
|
|
22849
22919
|
let replaceContext = null;
|
|
@@ -24145,6 +24215,7 @@ function normalizeEntryModules(entryModules) {
|
|
|
24145
24215
|
class Graph {
|
|
24146
24216
|
constructor(options, watcher) {
|
|
24147
24217
|
this.options = options;
|
|
24218
|
+
this.astLru = flru(5);
|
|
24148
24219
|
this.cachedModules = new Map();
|
|
24149
24220
|
this.deoptimizationTracker = new PathTracker();
|
|
24150
24221
|
this.entryModules = [];
|
|
@@ -25150,10 +25221,12 @@ async function rollupInternal(rawInputOptions, watcher) {
|
|
|
25150
25221
|
const { options: inputOptions, unsetOptions: unsetInputOptions } = await getInputOptions(rawInputOptions, watcher !== null);
|
|
25151
25222
|
initialiseTimers(inputOptions);
|
|
25152
25223
|
const graph = new Graph(inputOptions, watcher);
|
|
25153
|
-
// remove the cache
|
|
25224
|
+
// remove the cache object from the memory after graph creation (cache is not used anymore)
|
|
25154
25225
|
const useCache = rawInputOptions.cache !== false;
|
|
25155
|
-
|
|
25156
|
-
|
|
25226
|
+
if (rawInputOptions.cache) {
|
|
25227
|
+
inputOptions.cache = undefined;
|
|
25228
|
+
rawInputOptions.cache = undefined;
|
|
25229
|
+
}
|
|
25157
25230
|
timeStart('BUILD', 1);
|
|
25158
25231
|
await catchUnfinishedHookActions(graph.pluginDriver, async () => {
|
|
25159
25232
|
try {
|
package/dist/shared/watch-cli.js
CHANGED
package/dist/shared/watch.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rollup",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"description": "Next-generation ES module bundler",
|
|
5
5
|
"main": "dist/rollup.js",
|
|
6
6
|
"module": "dist/es/rollup.js",
|
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
"eslint-plugin-prettier": "^4.2.1",
|
|
91
91
|
"eslint-plugin-unicorn": "^44.0.2",
|
|
92
92
|
"fixturify": "^2.1.1",
|
|
93
|
+
"flru": "^1.0.2",
|
|
93
94
|
"fs-extra": "^10.1.0",
|
|
94
95
|
"github-api": "^3.4.0",
|
|
95
96
|
"hash.js": "^1.1.7",
|