Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve tree shaking #6064

Merged
merged 12 commits into from
Apr 20, 2024
1 change: 1 addition & 0 deletions .parcelrc-build
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"extends": "@parcel/config-default",
"resolvers": ["@parcel/resolver-glob", "parcel-resolver-build", "..."],
"bundler": "@parcel/bundler-library",
"transformers": {
"packages/**/intl/*.json": ["parcel-transformer-intl"],
"bundle-text:*.svg": ["@parcel/transformer-svg", "@parcel/transformer-inline-string"],
Expand Down
8 changes: 0 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -97,14 +97,6 @@ build:
for pkg in packages/@react-{spectrum,aria,stately}/*/ packages/@internationalized/{message,string,date,number}/ packages/@adobe/react-spectrum/ packages/react-aria/ packages/react-stately/ packages/react-aria-components/; \
do node scripts/buildEsm.js $$pkg; \
done
sed -i.bak s/\.js/\.mjs/ packages/@react-aria/i18n/dist/import.mjs
sed -i.bak 's/@react-aria\/i18n/.\/real-main.js/' packages/@react-aria/i18n/dist/useMessageFormatter.js
sed -i.bak 's/@react-aria\/i18n/.\/real-module.js/' packages/@react-aria/i18n/dist/useMessageFormatter.module.js
sed -i.bak 's/@react-aria\/i18n/.\/real-module.mjs/' packages/@react-aria/i18n/dist/useMessageFormatter.module.mjs
rm packages/@react-aria/i18n/dist/import.mjs.bak
rm packages/@react-aria/i18n/dist/useMessageFormatter.js.bak
rm packages/@react-aria/i18n/dist/useMessageFormatter.module.js.bak
rm packages/@react-aria/i18n/dist/useMessageFormatter.module.mjs.bak
node scripts/buildI18n.js

website:
Expand Down
2 changes: 1 addition & 1 deletion examples/rac-spectrum-tailwind/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"@adobe/react-spectrum": "^3.28.0",
"@spectrum-icons/illustrations": "^3.6.3",
"@spectrum-icons/workflow": "^4.2.2",
"parcel": "^2.10.2",
"parcel": "2.0.0-canary.1563",
"postcss": "^8.2.1",
"react": "^18.2.0",
"react-aria-components": "^1.0.0-alpha.4",
Expand Down
2 changes: 1 addition & 1 deletion examples/rac-tailwind/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"@heroicons/react": "^2.0.16",
"@react-aria/parcel-resolver-optimize-locales": "^1.0.0",
"framer-motion": "^10.12.16",
"parcel": "^2.10.2",
"parcel": "2.0.0-canary.1563",
"postcss": "^8.4.21",
"react": "^18.2.0",
"react-aria-components": "^1.0.0-alpha.4",
Expand Down
19 changes: 10 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,15 @@
"@babel/preset-typescript": "^7.24.1",
"@babel/register": "^7.23.7",
"@octokit/rest": "*",
"@parcel/optimizer-data-url": "^2.12.0",
"@parcel/optimizer-terser": "^2.12.0",
"@parcel/packager-ts": "^2.12.0",
"@parcel/resolver-glob": "^2.12.0",
"@parcel/transformer-inline": "^2.12.0",
"@parcel/transformer-inline-string": "^2.12.0",
"@parcel/transformer-svg-react": "^2.12.0",
"@parcel/transformer-typescript-types": "^2.12.0",
"@parcel/bundler-library": "2.11.1-canary.3188",
"@parcel/optimizer-data-url": "2.0.0-canary.1565",
"@parcel/optimizer-terser": "2.0.0-canary.1565",
"@parcel/packager-ts": "2.0.0-canary.1565",
"@parcel/resolver-glob": "2.12.1-canary.3188",
"@parcel/transformer-inline": "2.0.0-canary.1565",
"@parcel/transformer-inline-string": "2.0.0-canary.1565",
"@parcel/transformer-svg-react": "2.12.1-canary.3188",
"@parcel/transformer-typescript-types": "2.0.0-canary.1565",
"@spectrum-css/component-builder": "^1.0.0",
"@spectrum-css/vars": "^2.3.0",
"@storybook/addon-a11y": "^6.5.12",
Expand Down Expand Up @@ -150,7 +151,7 @@
"npm-cli-login": "^1.0.0",
"nyc": "^10.2.0",
"p-queue": "^6.2.1",
"parcel": "^2.12.0",
"parcel": "2.0.0-canary.1563",
"patch-package": "^6.2.0",
"plop": "^2.4.0",
"postcss": "^8.4.24",
Expand Down
24 changes: 2 additions & 22 deletions packages/@react-aria/i18n/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,13 @@
"require": "./server/index.js"
}
},
"real-main": "dist/real-main.js",
"real-module": "dist/real-module.js",
"server-module": "server/index.mjs",
"server-main": "server/index.js",
"types": "dist/types.d.ts",
"source": "src/index.ts",
"targets": {
"main": false,
"module": false,
"real-module": {
"outputFormat": "esmodule",
"isLibrary": true,
"includeNodeModules": false
},
"real-main": {
"outputFormat": "commonjs",
"isLibrary": true,
"includeNodeModules": false
},
"main": {},
"module": {},
"server-module": {
"source": "src/server.tsx",
"outputFormat": "esmodule",
Expand All @@ -48,14 +36,6 @@
"includeNodeModules": false
}
},
"alias": {
"./src/useMessageFormatter.ts": false
},
"scripts": {
"build:module": "yarn babel --presets @babel/preset-typescript src/useMessageFormatter.ts -o dist/useMessageFormatter.module.js && cp src/module.js dist/module.js && cp dist/real-module.js dist/real-module.mjs && cp dist/real-module.js.map dist/real-module.mjs.map && cp dist/useMessageFormatter.module.js dist/useMessageFormatter.module.mjs",
"build:cjs": "yarn babel --presets @babel/preset-typescript,@babel/preset-env src/useMessageFormatter.ts -o dist/useMessageFormatter.js && cp src/main.js dist/main.js",
"prepublishOnly": "yarn build:module && yarn build:cjs"
},
"files": [
"dist",
"src",
Expand Down
2 changes: 1 addition & 1 deletion packages/@react-aria/i18n/src/useMessageFormatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import {LocalizedStrings, MessageDictionary, MessageFormatter} from '@internationalized/message';
import {useCallback, useMemo} from 'react';
import {useLocale} from '@react-aria/i18n';
import {useLocale} from './context';

export type FormatMessage = (key: string, variables?: {[key: string]: any}) => string;

Expand Down
4 changes: 2 additions & 2 deletions packages/dev/parcel-namer-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"private": true,
"main": "DocsNamer.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0"
"@parcel/plugin": "2.0.0-canary.1565"
}
}
10 changes: 9 additions & 1 deletion packages/dev/parcel-namer-intl/IntlNamer.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,15 @@ module.exports = new Namer({
// Name intl bundles with locale in the filename.
if (!bundle.needsStableName && bundle.type === 'js' && bundle.bundleBehavior !== 'inline') {
let mainAsset = bundle.getMainEntry();
return path.basename(mainAsset.filePath, path.extname(mainAsset.filePath)) + '.' + bundle.target.name + '.js';
let name = path.basename(mainAsset.filePath, path.extname(mainAsset.filePath)).replace(/\*/g, 'intlStrings');
if (mainAsset.filePath.includes('@adobe/spectrum-css-temp')) {
name = mainAsset.filePath.split(path.sep).at(-2) + '_' + name;
}
if (path.extname(mainAsset.filePath) === '.css') {
name += '_css';
}
name += '.' + bundle.target.name + '.js';
return name;
}
return null;
}
Expand Down
4 changes: 2 additions & 2 deletions packages/dev/parcel-namer-intl/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"private": true,
"main": "IntlNamer.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0"
"@parcel/plugin": "2.0.0-canary.1565"
}
}
4 changes: 2 additions & 2 deletions packages/dev/parcel-packager-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"private": true,
"main": "DocsPackager.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0"
"@parcel/plugin": "2.0.0-canary.1565"
}
}
6 changes: 3 additions & 3 deletions packages/dev/parcel-packager-ssg/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
"private": true,
"main": "SSGPackager.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0",
"@parcel/utils": "^2.12.0",
"@parcel/plugin": "2.0.0-canary.1565",
"@parcel/utils": "2.0.0-canary.1565",
"react": "^18.0.0",
"react-dom": "^18.0.0"
}
Expand Down
6 changes: 3 additions & 3 deletions packages/dev/parcel-resolver-build/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
"private": true,
"main": "BuildResolver.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0",
"@parcel/node-resolver-core": "^3.1.2"
"@parcel/plugin": "2.0.0-canary.1565",
"@parcel/node-resolver-core": "3.3.1-canary.3188"
}
}
6 changes: 3 additions & 3 deletions packages/dev/parcel-resolver-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
"private": true,
"main": "DocsResolver.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0",
"@parcel/node-resolver-core": "^3.1.2"
"@parcel/plugin": "2.0.0-canary.1565",
"@parcel/node-resolver-core": "3.3.1-canary.3188"
}
}
4 changes: 2 additions & 2 deletions packages/dev/parcel-resolver-optimize-locales/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
"version": "1.0.2",
"main": "LocalesResolver.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0"
"@parcel/plugin": "2.0.0-canary.1565"
},
"publishConfig": {
"access": "public"
Expand Down
4 changes: 2 additions & 2 deletions packages/dev/parcel-resolver-storybook/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"private": true,
"main": "StorybookResolver.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0"
"@parcel/plugin": "2.0.0-canary.1565"
}
}
4 changes: 2 additions & 2 deletions packages/dev/parcel-transformer-css-env/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"private": true,
"main": "CSSEnvTransformer.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0"
"@parcel/plugin": "2.0.0-canary.1565"
}
}
8 changes: 4 additions & 4 deletions packages/dev/parcel-transformer-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
"private": true,
"main": "DocsTransformer.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@babel/parser": "^7.9.0",
"@babel/traverse": "^7.9.0",
"@babel/types": "^7.9.0",
"@parcel/plugin": "^2.12.0",
"@parcel/plugin": "2.0.0-canary.1565",
"doctrine": "^3.0.0"
},
"devDependencies": {
"@parcel/fs": "^2.12.0",
"@parcel/core": "^2.12.0"
"@parcel/fs": "2.0.0-canary.1565",
"@parcel/core": "2.0.0-canary.1563"
}
}
4 changes: 2 additions & 2 deletions packages/dev/parcel-transformer-intl/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
"private": true,
"main": "IntlTransformer.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@parcel/plugin": "^2.12.0",
"@parcel/plugin": "2.0.0-canary.1565",
"@internationalized/string-compiler": "^3.0.0"
}
}
4 changes: 2 additions & 2 deletions packages/dev/parcel-transformer-mdx-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
"private": true,
"main": "MDXTransformer.js",
"engines": {
"parcel": "^2.12.0"
"parcel": "2.0.0-canary.1563"
},
"dependencies": {
"@mdx-js/mdx": "next",
"@mdx-js/react": "next",
"@parcel/plugin": "^2.12.0",
"@parcel/plugin": "2.0.0-canary.1565",
"dprint-node": "^1.0.7",
"js-yaml": "^3.13.1",
"mdast-util-toc": "^6.1.0",
Expand Down
30 changes: 0 additions & 30 deletions patches/@parcel+packager-js+2.12.0.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/node_modules/@parcel/transformer-css/lib/CSSTransformer.js b/node_modules/@parcel/transformer-css/lib/CSSTransformer.js
index 0d59e0d..6a0b83f 100644
index b8dd9f2..fd3c753 100644
--- a/node_modules/@parcel/transformer-css/lib/CSSTransformer.js
+++ b/node_modules/@parcel/transformer-css/lib/CSSTransformer.js
@@ -88,6 +88,9 @@ var _default = exports.default = new (_plugin().Transformer)({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/node_modules/@parcel/transformer-typescript-types/lib/TSModuleGraph.js b/node_modules/@parcel/transformer-typescript-types/lib/TSModuleGraph.js
index ba4f7d6..1f66e3d 100644
index 78d0e8f..7b0f454 100644
--- a/node_modules/@parcel/transformer-typescript-types/lib/TSModuleGraph.js
+++ b/node_modules/@parcel/transformer-typescript-types/lib/TSModuleGraph.js
@@ -137,7 +137,7 @@ class TSModuleGraph {
@@ -138,7 +138,7 @@ class TSModuleGraph {
for (let e of module.exports) {
if (e.name === name) {
return this.getExport(module, e);
Expand All @@ -11,7 +11,7 @@ index ba4f7d6..1f66e3d 100644
const m = this.resolveExport((0, _nullthrows().default)(this.getModule(e.specifier)), name);
if (m) {
return m;
@@ -153,7 +153,7 @@ class TSModuleGraph {
@@ -154,7 +154,7 @@ class TSModuleGraph {
if (exp) {
res.push(exp);
}
Expand Down
6 changes: 4 additions & 2 deletions scripts/buildEsm.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ const fs = require('fs');
const glob = require('glob');

let pkg = process.argv[process.argv.length - 1];
let regex = /([a-z]{2}-[A-Z]{2})\.module\.js/g;
let regex = /(.*)\.module\.js/g;
if (fs.existsSync(`${pkg}/dist/module.js`)) {
let js = fs.readFileSync(`${pkg}/dist/module.js`, 'utf8');
js = js.replace(regex, '$1.mjs');
fs.writeFileSync(`${pkg}/dist/import.mjs`, js);
}

for (let file of glob.sync(`${pkg}/dist/*.module.js`)) {
fs.copyFileSync(file, file.replace(regex, '$1.mjs'));
let js = fs.readFileSync(file, 'utf8');
js = js.replace(regex, '$1.mjs');
fs.writeFileSync(file.replace(regex, '$1.mjs'), js);
}
Loading