mirror of
https://github.com/zoriya/react-native-web.git
synced 2026-06-04 11:04:58 +00:00
[change] export ES modules by default
ES modules are the default package export. Commonjs modules are exported from 'dist/cjs'. Modern bundlers like webpack can consume ES modules. The addition of the `sideEffects:false` to the `package.json` helps webpack tree-shaking modules.
This commit is contained in:
+3
-2
@@ -5,6 +5,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "del ./packages/*/dist",
|
"clean": "del ./packages/*/dist",
|
||||||
"compile": "yarn clean && cd packages/react-native-web && babel src --out-dir dist --ignore \"**/__tests__\"",
|
"compile": "yarn clean && cd packages/react-native-web && babel src --out-dir dist --ignore \"**/__tests__\"",
|
||||||
|
"compile:commonjs": "cd packages/react-native-web && MODULES=commonjs babel src --out-dir dist/cjs --ignore \"**/__tests__\"",
|
||||||
"benchmarks": "cd packages/benchmarks && yarn build",
|
"benchmarks": "cd packages/benchmarks && yarn build",
|
||||||
"benchmarks:release": "cd packages/benchmarks && yarn release",
|
"benchmarks:release": "cd packages/benchmarks && yarn release",
|
||||||
"website": "cd website && yarn start",
|
"website": "cd website && yarn start",
|
||||||
@@ -12,11 +13,11 @@
|
|||||||
"flow": "flow",
|
"flow": "flow",
|
||||||
"fmt": "find packages scripts types website -name '*.js' | grep -v -E '(node_modules|dist|vendor)' | xargs yarn fmt:cmd",
|
"fmt": "find packages scripts types website -name '*.js' | grep -v -E '(node_modules|dist|vendor)' | xargs yarn fmt:cmd",
|
||||||
"fmt:cmd": "prettier --write",
|
"fmt:cmd": "prettier --write",
|
||||||
"jest": "jest --config ./scripts/jest/config.js",
|
"jest": "MODULES=commonjs jest --config ./scripts/jest/config.js",
|
||||||
"lint": "yarn lint:check --fix",
|
"lint": "yarn lint:check --fix",
|
||||||
"lint:check": "eslint packages scripts website",
|
"lint:check": "eslint packages scripts website",
|
||||||
"precommit": "lint-staged",
|
"precommit": "lint-staged",
|
||||||
"prerelease": "yarn test && yarn compile",
|
"prerelease": "yarn test && yarn compile && yarn compile:commonjs",
|
||||||
"release": "node ./scripts/release/publish.js",
|
"release": "node ./scripts/release/publish.js",
|
||||||
"postrelease": "yarn website:release && yarn benchmarks:release",
|
"postrelease": "yarn website:release && yarn benchmarks:release",
|
||||||
"test": "yarn flow && yarn lint:check && yarn jest --runInBand"
|
"test": "yarn flow && yarn lint:check && yarn jest --runInBand"
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ module.exports = {
|
|||||||
options: {
|
options: {
|
||||||
cacheDirectory: false,
|
cacheDirectory: false,
|
||||||
presets: babelPreset,
|
presets: babelPreset,
|
||||||
plugins: ['react-native-web', 'styled-jsx/babel']
|
plugins: ['styled-jsx/babel']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,5 +43,10 @@ module.exports = {
|
|||||||
analyzerMode: 'static',
|
analyzerMode: 'static',
|
||||||
openAnalyzer: false
|
openAnalyzer: false
|
||||||
})
|
})
|
||||||
]
|
],
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
'react-native': 'react-native-web'
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,9 @@
|
|||||||
"name": "react-native-web",
|
"name": "react-native-web",
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"description": "React Native for Web",
|
"description": "React Native for Web",
|
||||||
"main": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
|
"main": "dist/cjs/index.js",
|
||||||
|
"sideEffects": false,
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
"jest",
|
"jest",
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ module.exports = {
|
|||||||
'babel-preset-env',
|
'babel-preset-env',
|
||||||
{
|
{
|
||||||
loose: true,
|
loose: true,
|
||||||
|
modules: process.env.MODULES || false,
|
||||||
exclude: ['transform-es2015-typeof-symbol'],
|
exclude: ['transform-es2015-typeof-symbol'],
|
||||||
targets: {
|
targets: {
|
||||||
browsers: [
|
browsers: [
|
||||||
|
|||||||
Reference in New Issue
Block a user