Skip to content

Commit

Permalink
Enable import assertion
Browse files Browse the repository at this point in the history
  • Loading branch information
huozhi committed Mar 1, 2022
1 parent 57702cb commit 0f34421
Show file tree
Hide file tree
Showing 62 changed files with 5,940 additions and 6,907 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.json
Expand Up @@ -15,7 +15,7 @@
"jsx": true
},
"babelOptions": {
"presets": ["@babel/preset-env", "@babel/preset-react"],
"presets": ["next/babel"],
"caller": {
// Eslint supports top level await when a parser for it is included. We enable the parser by default for Babel.
"supportsTopLevelAwait": true
Expand Down
8 changes: 4 additions & 4 deletions package.json
Expand Up @@ -51,8 +51,8 @@
"@fullhuman/postcss-purgecss": "1.3.0",
"@mdx-js/loader": "0.18.0",
"@svgr/webpack": "5.5.0",
"@swc/cli": "0.1.49",
"@swc/core": "1.2.97",
"@swc/cli": "0.1.55",
"@swc/core": "1.2.135",
"@testing-library/react": "11.2.5",
"@types/cheerio": "0.22.16",
"@types/fs-extra": "8.1.0",
Expand Down Expand Up @@ -139,7 +139,7 @@
"postcss-short-size": "4.0.0",
"postcss-trolling": "0.1.7",
"pre-commit": "1.2.2",
"prettier": "2.3.2",
"prettier": "2.5.1",
"pretty-bytes": "5.3.0",
"pretty-ms": "7.0.0",
"random-seed": "0.3.0",
Expand All @@ -165,7 +165,7 @@
"tree-kill": "1.2.2",
"tsec": "0.2.1",
"turbo": "1.0.28",
"typescript": "4.4.3",
"typescript": "4.5.5",
"wait-port": "0.2.2",
"web-streams-polyfill": "2.1.1",
"webpack": "link:./node_modules/webpack5",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config-next/package.json
Expand Up @@ -11,7 +11,7 @@
"dependencies": {
"@next/eslint-plugin-next": "12.1.1-canary.4",
"@rushstack/eslint-patch": "1.0.8",
"@typescript-eslint/parser": "5.0.0",
"@typescript-eslint/parser": "5.10.1",
"eslint-import-resolver-node": "0.3.4",
"eslint-import-resolver-typescript": "2.4.0",
"eslint-plugin-import": "2.25.2",
Expand Down
1 change: 1 addition & 0 deletions packages/next/build/babel/preset.ts
Expand Up @@ -158,6 +158,7 @@ export default (
},
],
require('next/dist/compiled/babel/plugin-syntax-dynamic-import'),
require('next/dist/compiled/babel/plugin-syntax-import-assertions'),
require('./plugins/react-loadable-plugin'),
[
require('next/dist/compiled/babel/plugin-proposal-class-properties'),
Expand Down
5 changes: 4 additions & 1 deletion packages/next/build/swc/options.js
Expand Up @@ -35,11 +35,14 @@ export function getBaseSWCOptions({
parser: {
syntax: isTypeScript ? 'typescript' : 'ecmascript',
dynamicImport: true,
importAssertions: true,
decorators: enableDecorators,
// Exclude regular TypeScript files from React transformation to prevent e.g. generic parameters and angle-bracket type assertion from being interpreted as JSX tags.
[isTypeScript ? 'tsx' : 'jsx']: isTSFile ? false : true,
},

experimental: {
keepImportAssertions: true,
},
transform: {
// Enables https://github.com/swc-project/swc/blob/0359deb4841be743d73db4536d4a22ac797d7f65/crates/swc_ecma_ext_transforms/src/jest.rs
...(jest
Expand Down
10 changes: 10 additions & 0 deletions packages/next/bundles/babel/bundle.js
Expand Up @@ -40,6 +40,10 @@ function generator() {
return require('@babel/generator')
}

function parser() {
return require('@babel/parser')
}

function eslintParser() {
return require('next/dist/compiled/babel-packages').eslintParser()
}
Expand Down Expand Up @@ -68,6 +72,10 @@ function pluginSyntaxDynamicImport() {
return require('next/dist/compiled/babel-packages').pluginSyntaxDynamicImport()
}

function pluginSyntaxImportAssertions() {
return require('next/dist/compiled/babel-packages').pluginSyntaxImportAssertions()
}

function pluginSyntaxJsx() {
return require('next/dist/compiled/babel-packages').pluginSyntaxJsx()
}
Expand Down Expand Up @@ -112,12 +120,14 @@ module.exports = {
generator,
traverse,
eslintParser,
parser,
pluginProposalClassProperties,
pluginProposalExportNamespaceFrom,
pluginProposalNumericSeparator,
pluginProposalObjectRestSpread,
pluginSyntaxBigint,
pluginSyntaxDynamicImport,
pluginSyntaxImportAssertions,
pluginSyntaxJsx,
pluginTransformDefine,
pluginTransformModulesCommonjs,
Expand Down
5 changes: 5 additions & 0 deletions packages/next/bundles/babel/packages-bundle.js
Expand Up @@ -28,6 +28,10 @@ function pluginSyntaxDynamicImport() {
return require('@babel/plugin-syntax-dynamic-import')
}

function pluginSyntaxImportAssertions() {
return require('@babel/plugin-syntax-import-assertions')
}

function pluginSyntaxJsx() {
return require('@babel/plugin-syntax-jsx')
}
Expand Down Expand Up @@ -68,6 +72,7 @@ module.exports = {
pluginProposalObjectRestSpread,
pluginSyntaxBigint,
pluginSyntaxDynamicImport,
pluginSyntaxImportAssertions,
pluginSyntaxJsx,
pluginTransformDefine,
pluginTransformModulesCommonjs,
Expand Down
1 change: 1 addition & 0 deletions packages/next/bundles/babel/packages/parser.js
@@ -0,0 +1 @@
module.exports = require('./bundle').parser()
@@ -0,0 +1 @@
module.exports = require('./bundle').pluginSyntaxImportAssertions()
2 changes: 1 addition & 1 deletion packages/next/compiled/@hapi/accept/index.js

Large diffs are not rendered by default.

37 changes: 5 additions & 32 deletions packages/next/compiled/@peculiar/webcrypto/webcrypto.js

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions packages/next/compiled/@vercel/nft/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/next/compiled/acorn/acorn.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions packages/next/compiled/assert/assert.js

Large diffs are not rendered by default.

446 changes: 131 additions & 315 deletions packages/next/compiled/babel-packages/packages-bundle.js

Large diffs are not rendered by default.

258 changes: 138 additions & 120 deletions packages/next/compiled/babel/bundle.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions packages/next/compiled/babel/parser.js
@@ -0,0 +1 @@
module.exports = require('./bundle').parser()
@@ -0,0 +1 @@
module.exports = require('./bundle').pluginSyntaxImportAssertions()
2 changes: 1 addition & 1 deletion packages/next/compiled/browserslist/index.js

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion packages/next/compiled/buffer/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/next/compiled/chalk/index.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions packages/next/compiled/comment-json/index.js

Large diffs are not rendered by default.

25 changes: 16 additions & 9 deletions packages/next/compiled/compression/index.js

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions packages/next/compiled/conf/index.js

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion packages/next/compiled/crypto-browserify/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/next/compiled/debug/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/next/compiled/find-cache-dir/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/next/compiled/glob/glob.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/next/compiled/gzip-size/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 0f34421

Please sign in to comment.