rsnext/packages/next/bundles/babel/bundle.js

125 lines
2.7 KiB
JavaScript
Raw Normal View History

/* eslint-disable import/no-extraneous-dependencies */
function codeFrame() {
return require('@babel/code-frame')
}
function core() {
return require('@babel/core')
}
function coreLibConfig() {
return require('@babel/core/lib/config')
}
function coreLibNormalizeFile() {
return require('@babel/core/lib/transformation/normalize-file')
}
function coreLibNormalizeOpts() {
return require('@babel/core/lib/transformation/normalize-opts')
}
function coreLibBlockHoistPlugin() {
return require('@babel/core/lib/transformation/block-hoist-plugin')
}
function coreLibPluginPass() {
return require('@babel/core/lib/transformation/plugin-pass')
}
Adds ESLint with default rule-set (#23702) This PR re-includes ESLint with some notable changes, namely a guided setup similar to how TypeScript is instantiated in a Next.js application. To add ESLint to a project, developers will have to create an `.eslintrc` file in the root of their project or add an empty `eslintConfig` object to their `package.json` file. ```js touch .eslintrc ``` Then running `next build` will show instructions to install the required packages needed: <img width="862" alt="Screen Shot 2021-04-19 at 7 38 27 PM" src="https://user-images.githubusercontent.com/12476932/115316182-dfd51b00-a146-11eb-830c-90bad20ed151.png"> Once installed and `next build` is run again, `.eslintrc` will be automatically configured to include the default config: ```json { "extends": "next" } ``` In addition to this change: - The feature is now under the experimental flag and requires opt-in. After testing and feedback, it will be switched to the top-level namespace and turned on by default. - A new ESLint shareable configuration package is included that can be extended in any application with `{ extends: 'next' }` - This default config extends recommended rule sets from [`eslint-plugin-react`](https://www.npmjs.com/package/eslint-plugin-react), [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks), and [`eslint-plugin-next`](https://www.npmjs.com/package/@next/eslint-plugin-next) - All rules in [`eslint-plugin-next`](https://www.npmjs.com/package/@next/eslint-plugin-next) have been modified to include actionable links that show more information to help resolve each issue
2021-04-30 13:09:07 +02:00
function eslintParser() {
return require('@babel/eslint-parser')
}
function traverse() {
return require('@babel/traverse')
}
function generator() {
return require('@babel/generator')
}
function pluginProposalClassProperties() {
return require('@babel/plugin-proposal-class-properties')
}
function pluginProposalExportNamespaceFrom() {
return require('@babel/plugin-proposal-export-namespace-from')
}
function pluginProposalNumericSeparator() {
return require('@babel/plugin-proposal-numeric-separator')
}
function pluginProposalObjectRestSpread() {
return require('@babel/plugin-proposal-object-rest-spread')
}
function pluginSyntaxBigint() {
return require('@babel/plugin-syntax-bigint')
}
function pluginSyntaxDynamicImport() {
return require('@babel/plugin-syntax-dynamic-import')
}
function pluginSyntaxJsx() {
return require('@babel/plugin-syntax-jsx')
}
function pluginTransformDefine() {
return require('babel-plugin-transform-define')
}
function pluginTransformModulesCommonjs() {
return require('@babel/plugin-transform-modules-commonjs')
}
function pluginTransformReactRemovePropTypes() {
return require('babel-plugin-transform-react-remove-prop-types')
}
function pluginTransformRuntime() {
return require('@babel/plugin-transform-runtime')
}
function presetEnv() {
return require('@babel/preset-env')
}
function presetReact() {
return require('@babel/preset-react')
}
function presetTypescript() {
return require('@babel/preset-typescript')
}
module.exports = {
codeFrame,
core,
coreLibConfig,
coreLibNormalizeFile,
coreLibNormalizeOpts,
coreLibBlockHoistPlugin,
coreLibPluginPass,
Adds ESLint with default rule-set (#23702) This PR re-includes ESLint with some notable changes, namely a guided setup similar to how TypeScript is instantiated in a Next.js application. To add ESLint to a project, developers will have to create an `.eslintrc` file in the root of their project or add an empty `eslintConfig` object to their `package.json` file. ```js touch .eslintrc ``` Then running `next build` will show instructions to install the required packages needed: <img width="862" alt="Screen Shot 2021-04-19 at 7 38 27 PM" src="https://user-images.githubusercontent.com/12476932/115316182-dfd51b00-a146-11eb-830c-90bad20ed151.png"> Once installed and `next build` is run again, `.eslintrc` will be automatically configured to include the default config: ```json { "extends": "next" } ``` In addition to this change: - The feature is now under the experimental flag and requires opt-in. After testing and feedback, it will be switched to the top-level namespace and turned on by default. - A new ESLint shareable configuration package is included that can be extended in any application with `{ extends: 'next' }` - This default config extends recommended rule sets from [`eslint-plugin-react`](https://www.npmjs.com/package/eslint-plugin-react), [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks), and [`eslint-plugin-next`](https://www.npmjs.com/package/@next/eslint-plugin-next) - All rules in [`eslint-plugin-next`](https://www.npmjs.com/package/@next/eslint-plugin-next) have been modified to include actionable links that show more information to help resolve each issue
2021-04-30 13:09:07 +02:00
eslintParser,
generator,
pluginProposalClassProperties,
pluginProposalExportNamespaceFrom,
pluginProposalNumericSeparator,
pluginProposalObjectRestSpread,
pluginSyntaxBigint,
pluginSyntaxDynamicImport,
pluginSyntaxJsx,
pluginTransformDefine,
pluginTransformModulesCommonjs,
pluginTransformReactRemovePropTypes,
pluginTransformRuntime,
presetEnv,
presetReact,
presetTypescript,
traverse,
}