mirror of
https://github.com/zhigang1992/react-native-web.git
synced 2026-01-12 22:51:09 +08:00
Introduces a monorepo structure, relies on yarn workspaces to share
dependencies, and lerna for syncing versions across the monorepo.
* Create 2 workspaces:
'packages' and 'website'
* Create 2 public packages:
'babel-plugin-react-native-web' and 'react-native-web'
* Create 1 private package:
'benchmarks'
A simple release script runs the tests, builds the package assets,
increments the package version numbers, git commits and tags, publishes
the package to npm, pushes the changes to github, and releases the
website update.
Close #657
58 lines
2.0 KiB
JSON
58 lines
2.0 KiB
JSON
{
|
|
"private": true,
|
|
"name": "react-native-web-monorepo",
|
|
"scripts": {
|
|
"benchmark": "cd packages/benchmarks && yarn benchmark",
|
|
"clean": "del ./packages/*/dist",
|
|
"compile": "yarn clean && cd packages/react-native-web && babel src --optional runtime --out-dir dist --ignore \"__tests__\"",
|
|
"docs:start": "cd website && yarn start",
|
|
"docs:release": "cd website && yarn release",
|
|
"flow": "flow",
|
|
"fmt": "find packages scripts types website -name '*.js' | grep -v -E '(node_modules|dist|vendor)' | xargs yarn fmt:cmd",
|
|
"fmt:cmd": "prettier --print-width=100 --single-quote --write",
|
|
"jest": "jest --config ./scripts/jest/config.js",
|
|
"lint": "yarn lint:check --fix",
|
|
"lint:check": "yarn lint:cmd packages scripts website",
|
|
"lint:cmd": "eslint --ignore-path .gitignore --ignore-pattern 'packages/**/vendor/*'",
|
|
"precommit": "lint-staged",
|
|
"release": "yarn test && yarn build && node ./scripts/release/publish.js && yarn docs:release",
|
|
"test": "yarn flow && yarn lint:check && yarn jest"
|
|
},
|
|
"devDependencies": {
|
|
"babel-cli": "^6.26.0",
|
|
"babel-core": "^6.26.0",
|
|
"babel-eslint": "^8.0.3",
|
|
"babel-loader": "^7.1.2",
|
|
"babel-plugin-transform-react-remove-prop-types": "^0.4.10",
|
|
"babel-preset-react-native": "^4.0.0",
|
|
"caniuse-api": "^2.0.0",
|
|
"del-cli": "^1.1.0",
|
|
"enzyme": "^3.2.0",
|
|
"enzyme-adapter-react-16": "^1.1.0",
|
|
"enzyme-to-json": "^3.2.2",
|
|
"eslint": "^4.12.1",
|
|
"eslint-config-prettier": "^2.9.0",
|
|
"eslint-plugin-promise": "^3.6.0",
|
|
"eslint-plugin-react": "^7.5.1",
|
|
"flow-bin": "^0.61.0",
|
|
"jest": "^21.2.1",
|
|
"lerna": "^2.5.1",
|
|
"lint-staged": "^4.1.3",
|
|
"prettier": "^1.8.2",
|
|
"raf": "^3.4.0",
|
|
"react": "^16.2.0",
|
|
"react-dom": "^16.2.0",
|
|
"react-test-renderer": "^16.2.0"
|
|
},
|
|
"workspaces": ["packages/*", "website"],
|
|
"lint-staged": {
|
|
"**/*.js": [
|
|
"fmt:cmd",
|
|
"git update-index --again",
|
|
"lint:cmd"
|
|
]
|
|
},
|
|
"author": "Nicolas Gallagher",
|
|
"license": "BSD-3-Clause"
|
|
}
|