Skip to content

Commit

Permalink
Use import maps for bundle manifest (#10073)
Browse files Browse the repository at this point in the history
  • Loading branch information
devongovett authored Jan 20, 2025
1 parent f86f5f2 commit 1b46893
Show file tree
Hide file tree
Showing 48 changed files with 935 additions and 922 deletions.
14 changes: 14 additions & 0 deletions packages/core/core/src/public/Environment.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,20 @@ const supportData = {
op_mob: '64',
node: '10.4.0',
},
'import-meta-resolve': {
edge: '105',
chrome: '105',
firefox: '106',
safari: '16.4',
opera: '91',
ios: '16.4',
android: '105',
and_chr: '105',
and_ff: '106',
op_mob: '72',
samsung: '20.0',
node: '20.8.0',
},
'arrow-functions': {
chrome: '47',
opera: '34',
Expand Down
30 changes: 28 additions & 2 deletions packages/core/core/src/requests/TargetRequest.js
Original file line number Diff line number Diff line change
Expand Up @@ -856,14 +856,27 @@ export class TargetResolver {
? moduleContext
: mainContext);

let engines = descriptor.engines ?? pkgEngines;
if (context === 'browser' && engines.browsers == null) {
engines = {
...engines,
browsers: defaultEngines?.browsers ?? DEFAULT_ENGINES.browsers,
};
} else if (context === 'node' && engines.node == null) {
engines = {
...engines,
node: defaultEngines?.node ?? DEFAULT_ENGINES.node,
};
}

targets.set(targetName, {
name: targetName,
distDir,
distEntry,
publicUrl:
descriptor.publicUrl ?? this.options.defaultTargetOptions.publicUrl,
env: createEnvironment({
engines: descriptor.engines ?? pkgEngines,
engines,
context,
includeNodeModules: descriptor.includeNodeModules ?? false,
outputFormat,
Expand Down Expand Up @@ -1050,6 +1063,19 @@ export class TargetResolver {
? true
: this.options.defaultTargetOptions.shouldScopeHoist;

let engines = descriptor.engines ?? pkgEngines;
if (descriptor.context === 'browser' && engines.browsers == null) {
engines = {
...engines,
browsers: defaultEngines?.browsers ?? DEFAULT_ENGINES.browsers,
};
} else if (descriptor.context === 'node' && engines.node == null) {
engines = {
...engines,
node: defaultEngines?.node ?? DEFAULT_ENGINES.node,
};
}

targets.set(targetName, {
name: targetName,
distDir: toProjectPath(
Expand All @@ -1062,7 +1088,7 @@ export class TargetResolver {
publicUrl:
descriptor.publicUrl ?? this.options.defaultTargetOptions.publicUrl,
env: createEnvironment({
engines: descriptor.engines ?? pkgEngines,
engines,
context: descriptor.context,
includeNodeModules: descriptor.includeNodeModules,
outputFormat:
Expand Down
6 changes: 4 additions & 2 deletions packages/core/core/test/TargetRequest.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -685,14 +685,15 @@ describe('TargetResolver', () => {

it('resolves main target with context from package.json', async () => {
let targetResolver = new TargetResolver(api, DEFAULT_OPTIONS);
assert.deepEqual(await targetResolver.resolve(CONTEXT_FIXTURE_PATH), [
let res = await targetResolver.resolve(CONTEXT_FIXTURE_PATH);
assert.deepEqual(res, [
{
name: 'main',
distDir: 'fixtures/context/dist/main',
distEntry: 'index.js',
publicUrl: '/',
env: {
id: '6aafdb9eaa4a3812',
id: res[0].env.id,
context: 'node',
engines: {
browsers: [
Expand All @@ -701,6 +702,7 @@ describe('TargetResolver', () => {
'last 1 Firefox version',
'last 1 Edge version',
],
node: process.versions.node,
},
includeNodeModules: false,
isLibrary: true,
Expand Down
1 change: 0 additions & 1 deletion packages/core/feature-flags/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ export type FeatureFlags = _FeatureFlags;
export const DEFAULT_FEATURE_FLAGS: FeatureFlags = {
exampleFeature: false,
useWatchmanWatcher: false,
importRetry: false,
};

let featureFlagValues: FeatureFlags = {...DEFAULT_FEATURE_FLAGS};
Expand Down
4 changes: 0 additions & 4 deletions packages/core/feature-flags/src/types.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,4 @@ export type FeatureFlags = {|
* Use node.js implementation of @parcel/watcher watchman backend
*/
+useWatchmanWatcher: boolean,
/**
* Configure runtime to enable retriable dynamic imports
*/
importRetry: boolean,
|};
8 changes: 0 additions & 8 deletions packages/core/integration-tests/test/BundleGraph.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,6 @@ describe('BundleGraph', () => {
type: 'asset',
value: 'get-worker-url.js',
},
{
type: 'asset',
value: 'bundle-url.js',
},
{
type: 'asset',
value: 'runtime.js',
Expand All @@ -68,10 +64,6 @@ describe('BundleGraph', () => {
type: 'asset',
value: 'get-worker-url.js',
},
{
type: 'asset',
value: 'bundle-url.js',
},
{
type: 'asset',
value: 'esmodule-helpers.js',
Expand Down
38 changes: 2 additions & 36 deletions packages/core/integration-tests/test/bundler.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -151,11 +149,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -239,11 +235,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -324,11 +318,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -436,11 +428,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -511,11 +501,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -580,7 +568,6 @@ describe('bundler', function () {
assets: [
'inline-module.js',
'local.html',
'bundle-url.js',
'cacheLoader.js',
'js-loader.js',
],
Expand All @@ -607,12 +594,10 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -657,12 +642,10 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -706,12 +689,10 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -758,12 +739,10 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -809,12 +788,10 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -899,11 +876,9 @@ describe('bundler', function () {
name: 'index.js',
assets: [
'index.js',
'bundle-url.js',
'cacheLoader.js',
'esmodule-helpers.js',
'js-loader.js',
'bundle-manifest.js',
],
},
{
Expand Down Expand Up @@ -1225,12 +1200,10 @@ describe('bundler', function () {
},
{
assets: [
'bundle-manifest.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'index.js',
'esm-js-loader.js',
],
},
{
Expand Down Expand Up @@ -1387,12 +1360,10 @@ describe('bundler', function () {
},
{
assets: [
'bundle-manifest.js',
'cacheLoader.js',
'css-loader.js',
'esmodule-helpers.js',
'index.js',
'esm-js-loader.js',
],
},
{
Expand Down Expand Up @@ -1534,12 +1505,7 @@ describe('bundler', function () {
assets: ['index.html'],
},
{
assets: [
'bundle-manifest.js',
'esm-js-loader.js',
'index.js',
'vendor-constants.js',
],
assets: ['index.js', 'vendor-constants.js'],
},
{
assets: ['async.js'],
Expand Down Expand Up @@ -1804,7 +1770,7 @@ describe('bundler', function () {
assets: ['style.css', 'common.css'],
},
{
assets: ['index.js', 'bundle-manifest.js', 'esm-js-loader.js'],
assets: ['index.js'],
},
{
assets: ['async.js'],
Expand Down
Loading

0 comments on commit 1b46893

Please sign in to comment.