Install dev deps after git clone the repo.
# npm is not allowed.
$ yarn
Link umi globally.
$ cd packages/umi
$ yarn link
$ cd -
Try the umi
cli.
$ yarn build
$ umi -v
[email protected]@local
Transform with babel and rollup.
$ yarn build
# Build and monitor file changes
$ yarn build --watch
# Build specified package only
$ PACKAGE=core yarn build --watch
$ yarn test
# Test specified file and watch
$ yarn test getMockData.test.js -w
# Test specified package
$ yarn test --package core
# Generate coverage
$ yarn test --coverage
$ npm run release
$ npm run release -- --publish-only
$ npm run release -- --skip-git-status-check
$ npm run release -- --skip-build
$ npm run release -- --otp
Such as creating package foo
.
$ mkdir -p packages/foo
$ yarn bootstrap
Then you will find the README.md
and package.json
is generated in packages/foo
.
$ tree packages/foo
packages/foo
├── README.md
└── package.json
$ yarn update:deps
# add doc
$ yarn docs add docs/routing --title Routing
Umi 3 examples in examples/*
directory
Running examples:
yarn example dev examples/normal
Such as creating example hello-world
.
$ mkdir -p examples/hello-world
$ yarn bootstrap:examples
Then you will find the README.md
and package.json
is generated in examples/hello-world
.
$ tree examples/hello-world
examples/hello-world
├── pages/index.tsx
├── README.md
└── package.json
if you want to add a benchmark, you can add examples/*/benchmark.js
like this:
// examples/ssr-normal/benchmark.js
module.exports = (suite) => {
// add tests
suite
// your logic
.add('ssr#normal /')
// your logic
.add('ssr#normal#stream /');
};
and run yarn benchmark
to see the result:
$ node scripts/benchmarks.js
☐ pending building .../examples/ssr-normal
☒ complete success build .../examples/ssr-normal
ssr#normal / x 2,400 ops/sec ±2.08% (76 runs sampled)
ssr#normal#stream / x 4,026 ops/sec ±1.45% (50 runs sampled)