mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-01-13 09:00:30 +08:00
Add .mjs support (#3239)
This commit is contained in:
@@ -92,7 +92,7 @@ module.exports = {
|
||||
// https://github.com/facebookincubator/create-react-app/issues/290
|
||||
// `web` extension prefixes have been added for better support
|
||||
// for React Native Web.
|
||||
extensions: ['.web.js', '.js', '.json', '.web.jsx', '.jsx'],
|
||||
extensions: ['.web.js', '.mjs', '.js', '.json', '.web.jsx', '.jsx'],
|
||||
alias: {
|
||||
// @remove-on-eject-begin
|
||||
// Resolve Babel runtime relative to react-scripts.
|
||||
@@ -126,7 +126,7 @@ module.exports = {
|
||||
// First, run the linter.
|
||||
// It's important to do this before Babel processes the JS.
|
||||
{
|
||||
test: /\.(js|jsx)$/,
|
||||
test: /\.(js|jsx|mjs)$/,
|
||||
enforce: 'pre',
|
||||
use: [
|
||||
{
|
||||
@@ -164,7 +164,7 @@ module.exports = {
|
||||
},
|
||||
// Process JS with Babel.
|
||||
{
|
||||
test: /\.(js|jsx)$/,
|
||||
test: /\.(js|jsx|mjs)$/,
|
||||
include: paths.appSrc,
|
||||
loader: require.resolve('babel-loader'),
|
||||
options: {
|
||||
|
||||
@@ -96,7 +96,7 @@ module.exports = {
|
||||
// https://github.com/facebookincubator/create-react-app/issues/290
|
||||
// `web` extension prefixes have been added for better support
|
||||
// for React Native Web.
|
||||
extensions: ['.web.js', '.js', '.json', '.web.jsx', '.jsx'],
|
||||
extensions: ['.web.js', '.mjs', '.js', '.json', '.web.jsx', '.jsx'],
|
||||
alias: {
|
||||
// @remove-on-eject-begin
|
||||
// Resolve Babel runtime relative to react-scripts.
|
||||
@@ -130,7 +130,7 @@ module.exports = {
|
||||
// First, run the linter.
|
||||
// It's important to do this before Babel processes the JS.
|
||||
{
|
||||
test: /\.(js|jsx)$/,
|
||||
test: /\.(js|jsx|mjs)$/,
|
||||
enforce: 'pre',
|
||||
use: [
|
||||
{
|
||||
@@ -169,7 +169,7 @@ module.exports = {
|
||||
},
|
||||
// Process JS with Babel.
|
||||
{
|
||||
test: /\.(js|jsx)$/,
|
||||
test: /\.(js|jsx|mjs)$/,
|
||||
include: paths.appSrc,
|
||||
loader: require.resolve('babel-loader'),
|
||||
options: {
|
||||
|
||||
@@ -21,27 +21,37 @@ module.exports = (resolve, rootDir, isEjecting) => {
|
||||
// TODO: I don't know if it's safe or not to just use / as path separator
|
||||
// in Jest configs. We need help from somebody with Windows to determine this.
|
||||
const config = {
|
||||
collectCoverageFrom: ['src/**/*.{js,jsx}'],
|
||||
collectCoverageFrom: ['src/**/*.{js,jsx,mjs}'],
|
||||
setupFiles: [resolve('config/polyfills.js')],
|
||||
setupTestFrameworkScriptFile: setupTestsFile,
|
||||
testMatch: [
|
||||
'<rootDir>/src/**/__tests__/**/*.js?(x)',
|
||||
'<rootDir>/src/**/?(*.)(spec|test).js?(x)',
|
||||
'<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}',
|
||||
'<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}',
|
||||
],
|
||||
testEnvironment: 'node',
|
||||
testURL: 'http://localhost',
|
||||
transform: {
|
||||
'^.+\\.(js|jsx)$': isEjecting
|
||||
'^.+\\.(js|jsx|mjs)$': isEjecting
|
||||
? '<rootDir>/node_modules/babel-jest'
|
||||
: resolve('config/jest/babelTransform.js'),
|
||||
'^.+\\.css$': resolve('config/jest/cssTransform.js'),
|
||||
'^(?!.*\\.(js|jsx|css|json)$)': resolve('config/jest/fileTransform.js'),
|
||||
'^(?!.*\\.(js|jsx|mjs|css|json)$)': resolve(
|
||||
'config/jest/fileTransform.js'
|
||||
),
|
||||
},
|
||||
transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$'],
|
||||
transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$'],
|
||||
moduleNameMapper: {
|
||||
'^react-native$': 'react-native-web',
|
||||
},
|
||||
moduleFileExtensions: ['web.js', 'js', 'json', 'web.jsx', 'jsx', 'node'],
|
||||
moduleFileExtensions: [
|
||||
'web.js',
|
||||
'mjs',
|
||||
'js',
|
||||
'json',
|
||||
'web.jsx',
|
||||
'jsx',
|
||||
'node',
|
||||
],
|
||||
};
|
||||
if (rootDir) {
|
||||
config.rootDir = rootDir;
|
||||
|
||||
Reference in New Issue
Block a user