mirror of https://gitee.com/antv-l7/antv-l7
修复 Windows 环境开发问题 (#109)
* fix(windows): preparing Windows environment * re #101, add `CONTRIBUTING.md` * chore(windows): fix lerna watch command in Windows
This commit is contained in:
parent
99c60bb87b
commit
3eff40b37b
|
@ -0,0 +1,84 @@
|
||||||
|
# Contributing to L7
|
||||||
|
|
||||||
|
👍🎉 欢迎向 L7 贡献代码! 🎉👍
|
||||||
|
|
||||||
|
## 前置依赖安装
|
||||||
|
|
||||||
|
### 安装 Yarn
|
||||||
|
|
||||||
|
由于使用了 Yarn workspace,首先需要安装 Yarn:https://yarnpkg.com/en/docs/install#windows-stable
|
||||||
|
|
||||||
|
### Windows 环境配置
|
||||||
|
|
||||||
|
[L7 测试方案](https://github.com/antvis/L7/blob/master/dev-docs/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E6%96%B9%E6%A1%88.md)依赖 headless-gl,其中需要 node-gyp [编译本地依赖](https://github.com/nodejs/node-gyp#on-windows)。
|
||||||
|
|
||||||
|
1. 首先以管理员身份启动 PowerShell
|
||||||
|
2. 运行 `npm install --global --production windows-build-tools`,安装 Microsoft's windows-build-tools
|
||||||
|
|
||||||
|
安装过程中其他问题[详见](https://github.com/antvis/L7/issues/101)。
|
||||||
|
|
||||||
|
## 安装依赖
|
||||||
|
|
||||||
|
安装依赖并完成 Yarn workspace 初始化:
|
||||||
|
```bash
|
||||||
|
yarn install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
```bash
|
||||||
|
copy node_modules/gl/deps/windows/dll/x64/*.dll c:\windows\system32
|
||||||
|
```
|
||||||
|
|
||||||
|
## 运行 DEMO
|
||||||
|
|
||||||
|
启动各个 package 代码变更监听:
|
||||||
|
```bash
|
||||||
|
yarn watch
|
||||||
|
```
|
||||||
|
|
||||||
|
启动 Storybook,会自动打开 `http://localhost:6006/`:
|
||||||
|
```bash
|
||||||
|
yarn storybook
|
||||||
|
```
|
||||||
|
|
||||||
|
## 运行测试
|
||||||
|
|
||||||
|
运行单元测试:
|
||||||
|
```bash
|
||||||
|
yarn test
|
||||||
|
```
|
||||||
|
|
||||||
|
运行单元测试并查看代码覆盖率:
|
||||||
|
```bash
|
||||||
|
yarn coveralls
|
||||||
|
```
|
||||||
|
|
||||||
|
## 添加 Lerna package
|
||||||
|
|
||||||
|
添加一个新的 lerna package:
|
||||||
|
```bash
|
||||||
|
lerna create my-pack -y
|
||||||
|
```
|
||||||
|
|
||||||
|
将 ui-lib 作为 my-pack 的依赖:
|
||||||
|
```bash
|
||||||
|
yarn workspace my-pack add ui-lib/1.0.0
|
||||||
|
```
|
||||||
|
|
||||||
|
将 lodash 添加为所有 package 的依赖(不包含root)
|
||||||
|
```bash
|
||||||
|
yarn workspaces run add lodash
|
||||||
|
```
|
||||||
|
|
||||||
|
将 typescript 设置为 root 的开发依赖
|
||||||
|
```bash
|
||||||
|
yarn add -W -D typescript jest
|
||||||
|
```
|
||||||
|
|
||||||
|
## 提交代码
|
||||||
|
|
||||||
|
代替 `git commit` 提交:
|
||||||
|
```bash
|
||||||
|
yarn commit
|
||||||
|
```
|
14
.travis.yml
14
.travis.yml
|
@ -1,4 +1,15 @@
|
||||||
language: node_js
|
language: node_js
|
||||||
|
os: linux
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- mesa-utils
|
||||||
|
- xvfb
|
||||||
|
- libgl1-mesa-dri
|
||||||
|
- libglapi-mesa
|
||||||
|
- libosmesa6
|
||||||
|
|
||||||
node_js:
|
node_js:
|
||||||
- '12'
|
- '12'
|
||||||
|
@ -13,6 +24,9 @@ before_install:
|
||||||
install:
|
install:
|
||||||
- yarn install
|
- yarn install
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- export DISPLAY=:99.0; sh -e /etc/init.d/xvfb start
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- yarn lint
|
- yarn lint
|
||||||
- yarn test
|
- yarn test
|
||||||
|
|
26
README.md
26
README.md
|
@ -88,31 +88,7 @@ scene.addLayer(pointLayer);
|
||||||
|
|
||||||
## 🔨 Development
|
## 🔨 Development
|
||||||
|
|
||||||
使用 Yarn Workspace 完成依赖安装以及各包之间的 link 工作:
|
We wrote a [contribution guide](./.github/CONTRIBUTING.md) to help you get started.
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn install
|
|
||||||
```
|
|
||||||
|
|
||||||
开发模式:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn watch
|
|
||||||
```
|
|
||||||
|
|
||||||
运行 Demo,基于 Storybook:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn storybook
|
|
||||||
```
|
|
||||||
|
|
||||||
## view doc example
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn start
|
|
||||||
```
|
|
||||||
|
|
||||||
Visit http://localhost:8000/
|
|
||||||
|
|
||||||
## ✅ License
|
## ✅ License
|
||||||
|
|
||||||
|
|
|
@ -67,53 +67,6 @@ npm install @antv/l7@beta
|
||||||
|
|
||||||
![L7 Road Map](https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*3j9HTLTQT2MAAAAAAAAAAABkARQnAQ)
|
![L7 Road Map](https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*3j9HTLTQT2MAAAAAAAAAAABkARQnAQ)
|
||||||
|
|
||||||
## Development
|
## 向 L7 贡献代码
|
||||||
|
|
||||||
使用 Yarn Workspace 完成依赖安装以及各包之间的 link 工作:
|
您可以参考 [CONTRIBUTING.md](./.github/CONTRIBUTING.md) 向 L7 贡献代码。
|
||||||
```bash
|
|
||||||
yarn install
|
|
||||||
```
|
|
||||||
|
|
||||||
开发模式:
|
|
||||||
```bash
|
|
||||||
yarn watch
|
|
||||||
```
|
|
||||||
|
|
||||||
运行 Demo
|
|
||||||
```bash
|
|
||||||
yarn storybook
|
|
||||||
```
|
|
||||||
|
|
||||||
代替 `git commit` 提交:
|
|
||||||
```bash
|
|
||||||
yarn commit
|
|
||||||
```
|
|
||||||
|
|
||||||
## view doc example
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm start
|
|
||||||
```
|
|
||||||
visit http://localhost:8000/
|
|
||||||
|
|
||||||
## Add Package
|
|
||||||
|
|
||||||
add new package:
|
|
||||||
```bash
|
|
||||||
lerna create my-pack -y
|
|
||||||
```
|
|
||||||
|
|
||||||
将 ui-lib 作为 my-pack 的依赖:
|
|
||||||
```bash
|
|
||||||
yarn workspace my-pack add ui-lib/1.0.0
|
|
||||||
```
|
|
||||||
|
|
||||||
将 lodash 添加为所有 package 的依赖(不包含root)
|
|
||||||
```bash
|
|
||||||
yarn workspaces run add lodash
|
|
||||||
```
|
|
||||||
|
|
||||||
将 typescript 设置为 root 的开发依赖
|
|
||||||
```bash
|
|
||||||
yarn add -W -D typescript jest
|
|
||||||
```
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ module.exports = {
|
||||||
// },
|
// },
|
||||||
// },
|
// },
|
||||||
moduleFileExtensions: [ 'ts', 'tsx', 'js' ],
|
moduleFileExtensions: [ 'ts', 'tsx', 'js' ],
|
||||||
modulePathIgnorePatterns: [ 'dist', 'packages/renderer' ], // TODO: 暂时关闭render test
|
modulePathIgnorePatterns: [ 'dist' ],
|
||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
'@antv/l7-(.+)$': '<rootDir>packages/$1/src'
|
'@antv/l7-(.+)$': '<rootDir>packages/$1/src'
|
||||||
},
|
},
|
||||||
|
|
19
package.json
19
package.json
|
@ -51,6 +51,7 @@
|
||||||
"commitizen": "^4.0.3",
|
"commitizen": "^4.0.3",
|
||||||
"copy-webpack-plugin": "^4.5.2",
|
"copy-webpack-plugin": "^4.5.2",
|
||||||
"coveralls": "^3.0.7",
|
"coveralls": "^3.0.7",
|
||||||
|
"cross-env": "^6.0.3",
|
||||||
"css-loader": "^3.2.0",
|
"css-loader": "^3.2.0",
|
||||||
"cz-conventional-changelog": "^3.0.2",
|
"cz-conventional-changelog": "^3.0.2",
|
||||||
"dat.gui": "^0.7.2",
|
"dat.gui": "^0.7.2",
|
||||||
|
@ -115,11 +116,11 @@
|
||||||
"worker-loader": "^2.0.0"
|
"worker-loader": "^2.0.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "npm run site:clean && npm run site:develop",
|
"start": "yarn run site:clean && yarn run site:develop",
|
||||||
"site:develop": "BABEL_ENV=site gatsby develop --open -H 0.0.0.0",
|
"site:develop": "cross-env BABEL_ENV=site gatsby develop --open -H 0.0.0.0",
|
||||||
"site:build": "npm run site:clean && BABEL_ENV=site gatsby build --prefix-paths",
|
"site:build": "yarn run site:clean && cross-env BABEL_ENV=site gatsby build --prefix-paths",
|
||||||
"site:clean": "gatsby clean",
|
"site:clean": "gatsby clean",
|
||||||
"site:deploy": "npm run site:build && gh-pages -d public",
|
"site:deploy": "yarn run site:build && gh-pages -d public",
|
||||||
"site:publish": "gh-pages -d public",
|
"site:publish": "gh-pages -d public",
|
||||||
"lint-fix:examples": "prettier --write examples/**/**/*.js",
|
"lint-fix:examples": "prettier --write examples/**/**/*.js",
|
||||||
"lint:site": "eslint examples/**/**/*.js --fix",
|
"lint:site": "eslint examples/**/**/*.js --fix",
|
||||||
|
@ -139,12 +140,12 @@
|
||||||
"prerelease": "yarn build && yarn bundle",
|
"prerelease": "yarn build && yarn bundle",
|
||||||
"release": "lerna publish from-package --registry https://registry.npmjs.com/",
|
"release": "lerna publish from-package --registry https://registry.npmjs.com/",
|
||||||
"storybook": "start-storybook -p 6006",
|
"storybook": "start-storybook -p 6006",
|
||||||
"test": "BABEL_ENV=test jest",
|
"test": "cross-env BABEL_ENV=test jest",
|
||||||
"coveralls": "jest --coverage && cat ./tests/coverage/lcov.info | coveralls",
|
"coveralls": "jest --coverage && cat ./tests/coverage/lcov.info | coveralls",
|
||||||
"tsc": "tsc",
|
"tsc": "tsc",
|
||||||
"watch": "yarn clean && lerna exec --parallel 'BABEL_ENV=cjs babel --watch src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments'",
|
"watch": "yarn clean && lerna exec --parallel -- cross-env BABEL_ENV=cjs babel --watch src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
|
||||||
"bundle": "BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js",
|
"bundle": "cross-env BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js",
|
||||||
"bundle:watch": "BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js --watch",
|
"bundle:watch": "cross-env BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js --watch",
|
||||||
"glsl-minify": "node_modules/.bin/glsl-minifier -i ./build/example.frag -o ./build/example.min.frag",
|
"glsl-minify": "node_modules/.bin/glsl-minifier -i ./build/example.frag -o ./build/example.min.frag",
|
||||||
"clean": "lerna run clean"
|
"clean": "lerna run clean"
|
||||||
},
|
},
|
||||||
|
@ -154,7 +155,7 @@
|
||||||
],
|
],
|
||||||
"husky": {
|
"husky": {
|
||||||
"hooks": {
|
"hooks": {
|
||||||
"pre-commit": "npm run lint",
|
"pre-commit": "yarn run lint",
|
||||||
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -52,7 +52,6 @@ export default class PopupComponent extends React.Component {
|
||||||
})
|
})
|
||||||
.setText('hello');
|
.setText('hello');
|
||||||
scene.addPopup(popup);
|
scene.addPopup(popup);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
|
|
|
@ -7649,6 +7649,13 @@ create-react-context@^0.3.0:
|
||||||
gud "^1.0.0"
|
gud "^1.0.0"
|
||||||
warning "^4.0.3"
|
warning "^4.0.3"
|
||||||
|
|
||||||
|
cross-env@^6.0.3:
|
||||||
|
version "6.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941"
|
||||||
|
integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==
|
||||||
|
dependencies:
|
||||||
|
cross-spawn "^7.0.0"
|
||||||
|
|
||||||
cross-fetch@2.0.0:
|
cross-fetch@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.0.0.tgz#a17475449561e0f325146cea636a8619efb9b382"
|
resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.0.0.tgz#a17475449561e0f325146cea636a8619efb9b382"
|
||||||
|
|
Loading…
Reference in New Issue