Skip to content

Commit

Permalink
Bump minimum version to Node 12, add Node 14 to CI (#5542)
Browse files Browse the repository at this point in the history
* Bump minimum version to Node 12, add Node 14 to CI

* Use native flat(Map)

Co-authored-by: Jasper De Moor <jasperdemoor@gmail.com>
  • Loading branch information
mischnic and DeMoorJasper committed Dec 30, 2020
1 parent f62c544 commit 67aefd8
Show file tree
Hide file tree
Showing 92 changed files with 122 additions and 133 deletions.
4 changes: 2 additions & 2 deletions azure-pipelines-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ jobs:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
node_10_x:
node_version: 10.x
node_12_x:
node_version: 12.x
node_14_x:
node_version: 14.x
maxParallel: 3
steps:
- task: NodeTool@0
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"sinon": "^7.3.1"
},
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"husky": {
"hooks": {
Expand Down
2 changes: 1 addition & 1 deletion packages/bundlers/default/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/DefaultBundler.js",
"source": "src/DefaultBundler.js",
"engines": {
"node": ">= 10.0.0",
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/cache/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/Cache.js",
"source": "src/Cache.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/logger": "2.0.0-beta.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/codeframe/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/codeframe.js",
"source": "src/codeframe.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"chalk": "^2.4.2",
Expand Down
3 changes: 3 additions & 0 deletions packages/core/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
},
"main": "lib/index.js",
"source": "src/index.js",
"engines": {
"node": ">= 12.0.0"
},
"scripts": {
"test": "mocha",
"test-ci": "mocha"
Expand Down
12 changes: 6 additions & 6 deletions packages/core/core/src/AssetGraphBuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import {
md5FromOrderedObject,
md5FromString,
PromiseQueue,
flatMap,
} from '@parcel/utils';
import ThrowableDiagnostic from '@parcel/diagnostic';
import AssetGraph from './AssetGraph';
Expand Down Expand Up @@ -195,16 +194,17 @@ export default class AssetGraphBuilder extends EventEmitter {

// Skip symbol propagation if no target is using scope hoisting
// (mainly for faster development builds)
let entryDependencies = flatMap(
flatMap(this.assetGraph.getNodesConnectedFrom(root), entrySpecifier =>
let entryDependencies = this.assetGraph
.getNodesConnectedFrom(root)
.flatMap(entrySpecifier =>
this.assetGraph.getNodesConnectedFrom(entrySpecifier),
),
entryFile =>
)
.flatMap(entryFile =>
this.assetGraph.getNodesConnectedFrom(entryFile).map(dep => {
invariant(dep.type === 'dependency');
return dep;
}),
);
);
if (entryDependencies.some(d => d.value.env.scopeHoist)) {
this.propagateSymbols();
}
Expand Down
21 changes: 10 additions & 11 deletions packages/core/core/src/BundleGraph.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import assert from 'assert';
import invariant from 'assert';
import crypto from 'crypto';
import nullthrows from 'nullthrows';
import {flatMap, objectSortedEntriesDeep} from '@parcel/utils';
import {objectSortedEntriesDeep} from '@parcel/utils';

import {getBundleGroupId, getPublicId} from './utils';
import Graph, {ALL_EDGE_TYPES, mapVisitor, type GraphOpts} from './Graph';
Expand Down Expand Up @@ -609,22 +609,21 @@ export default class BundleGraph {
// asynchonously. If any of them appear in our traversal, this asset is
// referenced.
let asyncInternalReferencingBundles = new Set(
flatMap(
this._graph
.getNodesConnectedTo(assetNode, 'references')
.filter(node => node.type === 'dependency')
.map(node => {
invariant(node.type === 'dependency');
return node;
}),
dependencyNode =>
this._graph
.getNodesConnectedTo(assetNode, 'references')
.filter(node => node.type === 'dependency')
.map(node => {
invariant(node.type === 'dependency');
return node;
})
.flatMap(dependencyNode =>
this._graph
.getNodesConnectedTo(dependencyNode, 'internal_async')
.map(node => {
invariant(node.type === 'bundle');
return node.value;
}),
),
),
);

const bundleHasReference = (bundle: Bundle) => {
Expand Down
8 changes: 4 additions & 4 deletions packages/core/core/src/Transformation.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import {
import logger, {PluginLogger} from '@parcel/logger';
import {init as initSourcemaps} from '@parcel/source-map';
import ThrowableDiagnostic, {errorToDiagnostic} from '@parcel/diagnostic';
import {SOURCEMAP_EXTENSIONS, flatMap} from '@parcel/utils';
import {SOURCEMAP_EXTENSIONS} from '@parcel/utils';

import ConfigLoader from './ConfigLoader';
import {createDependency} from './Dependency';
Expand Down Expand Up @@ -267,7 +267,7 @@ export default class Transformation {
[initialAsset],
pipeline.configs,
await getInvalidationHash(
flatMap(assets, asset => asset.getInvalidations()),
assets.flatMap(asset => asset.getInvalidations()),
this.options,
),
);
Expand Down Expand Up @@ -304,7 +304,7 @@ export default class Transformation {
finalAssets,
pipeline.configs,
await getInvalidationHash(
flatMap(finalAssets, asset => asset.getInvalidations()),
finalAssets.flatMap(asset => asset.getInvalidations()),
this.options,
),
),
Expand All @@ -320,7 +320,7 @@ export default class Transformation {
processedFinalAssets,
pipeline.configs,
await getInvalidationHash(
flatMap(processedFinalAssets, asset => asset.getInvalidations()),
processedFinalAssets.flatMap(asset => asset.getInvalidations()),
this.options,
),
),
Expand Down
3 changes: 1 addition & 2 deletions packages/core/core/src/requests/ParcelConfigRequest.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import {
validateSchema,
findAlternativeNodeModules,
findAlternativeFiles,
flatMap,
} from '@parcel/utils';
import ThrowableDiagnostic, {
generateJSONCodeHighlights,
Expand Down Expand Up @@ -376,7 +375,7 @@ export async function processConfigChain(

if (errors.length > 0) {
throw new ThrowableDiagnostic({
diagnostic: flatMap(errors, e => e.diagnostics),
diagnostic: errors.flatMap(e => e.diagnostics),
});
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/core/diagnostic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/diagnostic.js",
"source": "src/diagnostic.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"json-source-map": "^0.6.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/fs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/index.js",
"source": "src/index.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/fs-write-stream-atomic": "2.0.0-beta.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
},
"modern": {
"engines": {
"node": ">= 10.0.0",
"node": ">= 12.0.0",
"yarn": "^1.13.0"
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/core/logger/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/Logger.js",
"source": "src/Logger.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/diagnostic": "2.0.0-beta.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/markdown-ansi/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/markdown-ansi.js",
"source": "src/markdown-ansi.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"chalk": "^2.4.2"
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package-manager/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/index.js",
"source": "src/index.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/diagnostic": "2.0.0-beta.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"main": "lib/bin.js",
"source": "src/bin.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/config-default": "2.0.0-beta.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/PluginAPI.js",
"source": "src/PluginAPI.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/types": "2.0.0-beta.1"
Expand Down
2 changes: 1 addition & 1 deletion packages/core/register/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/register.js",
"source": "src/register.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"scripts": {
"run-example": "node ./example/index.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/test-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
},
"main": "src/utils.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/config-default": "2.0.0-beta.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/index.js",
"source": "src/index.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@iarna/toml": "^2.2.0",
Expand Down
20 changes: 0 additions & 20 deletions packages/core/utils/src/collection.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,6 @@ export function unique<T>(array: Array<T>): Array<T> {
return [...new Set(array)];
}

export function flat<T>(array: $ReadOnlyArray<$ReadOnlyArray<T>>): Array<T> {
let out = [];
for (let v of array) {
out.push(...v);
}
return out;
}

export function flatMap<T, U>(
array: Array<T>,
projectFn: (T, number, Array<T>) => Array<U>,
): Array<U> {
let out = [];

for (let i = 0; i < array.length; i++) {
out.push(...projectFn(array[i], i, array));
}
return out;
}

export function objectSortedEntries(obj: {
+[string]: mixed,
...,
Expand Down
2 changes: 0 additions & 2 deletions packages/core/utils/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ export {findAlternativeNodeModules, findAlternativeFiles} from './alternatives';
export {blobToBuffer, blobToString} from './blob';
export {
unique,
flat,
flatMap,
objectSortedEntries,
objectSortedEntriesDeep,
setDifference,
Expand Down
2 changes: 1 addition & 1 deletion packages/core/workers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"main": "lib/index.js",
"source": "src/index.js",
"engines": {
"node": ">= 10.0.0"
"node": ">= 12.0.0"
},
"dependencies": {
"@parcel/diagnostic": "2.0.0-beta.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/dev/babel-preset/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module.exports = () => ({
{
modules: false,
targets: {
node: 10,
node: 12,
},
},
],
Expand Down
1 change: 1 addition & 0 deletions packages/namers/default/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"main": "lib/DefaultNamer.js",
"source": "src/DefaultNamer.js",
"engines": {
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
1 change: 1 addition & 0 deletions packages/optimizers/blob-url/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"main": "lib/BlobURLOptimizer.js",
"source": "src/BlobURLOptimizer.js",
"engines": {
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
1 change: 1 addition & 0 deletions packages/optimizers/cssnano/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"main": "lib/CSSNanoOptimizer.js",
"source": "src/CSSNanoOptimizer.js",
"engines": {
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
1 change: 1 addition & 0 deletions packages/optimizers/data-url/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"main": "lib/DataURLOptimizer.js",
"source": "src/DataURLOptimizer.js",
"engines": {
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
1 change: 1 addition & 0 deletions packages/optimizers/htmlnano/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"main": "lib/HTMLNanoOptimizer.js",
"source": "src/HTMLNanoOptimizer.js",
"engines": {
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/optimizers/terser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/TerserOptimizer.js",
"source": "src/TerserOptimizer.js",
"engines": {
"node": ">= 10.0.0",
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/packagers/css/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"main": "lib/CSSPackager.js",
"source": "src/CSSPackager.js",
"engines": {
"node": ">= 10.0.0",
"node": ">= 12.0.0",
"parcel": "^2.0.0-alpha.1.1"
},
"dependencies": {
Expand Down

0 comments on commit 67aefd8

Please sign in to comment.