Update some dependencies (#71, #72, #74)
Update some dependencies (#61)
Some unforeseen circumstances can lead to corrupted dependency files, now you can use clean
to clean it
vrn boi clear
- Supports calling without arguments for
create
(#23)
vrn create app
# Will ask for `folderName`
vrn create
Note that if you call with no arguments and pass the --yes option, you will get an error
- Turn off the default
auto-install-dependencies
(#19, #20)- No longer pass autoinstall dependencies to
presetRunner
by default - Can manually enable it via the
-i
or--auto-install-deps
options
- No longer pass autoinstall dependencies to
- Prettify welcome logo of CLI (#21)
- Implement the conventions of protocol v1.3.0 (vrn-deco/boileerplate#109)
- Passing additional parameters when calling the
runner
(#11, #12)- In
package
mode will automatically install dependencies, disable with-A
or--no-auto-install-deps
option - In
package
mode will automatically initialize git, disable by specifying--post-git remove
- In
- Implemented Lang and Boilerplate support for new protocols in interactive mode selection (#11, #16)
- Highlight
recommended
anddeprecated
- Optimized
tags
display
- Highlight
- node:stream/promises compatibility on node 14 (#6)
Change welcome LOGO
- Dynamic import ESM error in Windows terminal (#5)
Two other creation modes from the 1.x Features concept are implemented
-
Implements the
http
creation mode- Support interactive and non-interactive creation
- Support specify the
apiURL
-
Implements the
git
creation mode- Support
HTTPS
andSSH
- Support handle original records after
git clone
- Support
The http
mode is similar to the v0.x
, fetching the manifest
data from a manifest.json
interface, which contains all the optional boilerplate
compressed files, selecting one of the boilerplates
interactively based on the command line prompts, and then downloading and decompressing it
Interactive creation:
# You need to pass `--mode=http` to enable it, as 'package' mode is default
vrn boi create my-app --mode=http
# You can pass `--api-url` to specify the baseURL, default https://vrndeco.cn/boilerplate
vrn boi create my-app --mode=http --api-url=https://yoursite.com/boilerplate
Non-interactive creation:
# As with the `package` mode, you need to pass `--yes`, `--name`, `--version`, `--author`, `--target`
# here `--target` is packed file name, not the package name
# this means that it will download from the default `--api-url`
# https://vrndeco.cn/boilerplate/boilerplate-typescript-vue3-varlet.tgz
vrn boi create my-app --mode=http --yes \
--name=my-app --version=1.0.0 --author=cphayim \
--target boilerplate-typescript-vue3-varlet.tgz
# You can pass the full url directly to `—target`
vrn boi create my-app --mode=http --yes \
--name=my-app --version=1.0.0 --author=cphayim \
--target https://yoursite.com/boilerplate/boilerplate-typescript-vue3-varlet.tgz
# Equivalent to
vrn boi create my-app --mode=http --yes \
--name=my-app --version=1.0.0 --author=cphayim \
--api-url= https://yoursite.com/boilerplate \
--target boilerplate-typescript-vue3-varlet.tgz
The
http
mode exists to complement specific scenarios, we still recommend that you use thepackage
mode.
The git
mode is created by cloning the specified repository
# You need to pass `--mode=git` to enable it, as 'package' mode is default
# `--target` is repository url, support `HTTPS` and `SSH`
vrn boi create my-app --mode=git --target=https://github.com/vrn-deco/xxx.git
vrn boi create my-app --mode=git [email protected]:vrn-deco/xxx.git
You can pass --post-git
handle original records after git clone
# keep origin record
vrn boi create my-app --mode=git --post-git=retain [email protected]:vrn-deco/xxx.git
# rm -rf .git
vrn boi create my-app --mode=git --post-git=remove [email protected]:vrn-deco/xxx.git
# rm -rf .git && git init && git add . && git commit -m "chore: init repository"
vrn boi create my-app --mode=git --post-git=rebuild [email protected]:vrn-deco/xxx.git
The boi create
and boi list
commands now support specifying manifest-package
boi create
&boi list
support specifying--manifest-package
# Interactive creation, pulling the manifest from `@your-scope/your-manifest-package`
vrn boi create my-app --manifest-package @your-scope/your-manifest-package
# Non-nteractive creation
# can specify a boilerplate that is not in the manifest as the target
# without specifying --manifest-package
vrn boi create my-app --yes \
--name=my-app --version=1.0.0 --author=cphayim \
--target @your-scope/boilerplate-xxx
# Will list the available boilerplate in `@your-scope/your-manifest-package`
vrn boi ls --manifest-package @your-scope/your-manifest-package
Embrace the Pure ESM
, need Node.js v14.13.1
above
-
Migrate all modules from CJS to ESM
-
Change the test case to ESM
- Possible command parsing errors when passing
debug
Completely refactored with new architectural designs and specifications
- Dynamic dependency package management
- Support for multiple Package manager: npm, yarn, pnpm
boilerplate create
implements thepackage
mode, creates projects by fetchingboilerplate-package
frommanifest-package
Interactive creation:
vrn boi create my-app
vrn boi create my-app ./packages
Non-interactive creation, suitable for CI and automation tasks:
vrn boi create my-app --yes \
--name=my-app --version=1.0.0 --author=cphayim \
--target @vrn-deco/boilerplate-javascript-vue
vrn boi create my-app ./packages --yes \
--name=@vrn-deco/my-app --version=1.0.0 --author=cphayim \
--target @vrn-deco/boilerplate-javascript-vue
list available boilerplate, can specify format and output file
vrn boi ls
vrn boi ls --json
vrn boi ls --json --out-file ./boilerplate.json
vrn boi ls --yaml
vrn boi ls --yaml --out-file ./boilerplate.yaml
Interactively edit configuration items, you can modify npmRegistry
, packageManager
, checkUpdateEnabled
vrn config
Boilerplate related services are reimplemented using the @vrn-deco/boilerplate-protocol
specification. If you are using v0.x
and use a custom network interface to distribute boilerplate, please refer to the migration guide
Automatic check for updates turned off
- Replacing the
tar
command with the built-in decompressor - Adapt to new
vrn-boilerplate
rules
- Rebuild the missing config file
- Compatibility with
non-tty
terminals (Windows)
- Rebuild the missing config file
- Compatibility with
non-tty
terminals (Windows)
- User directory write permission problem
- Support for custom
registry
- Now you can distribute
boilerplate
using your own web interface - Automatic new version check and prompt
vrn config set registry https://boilerplate.vrndeco.cn
vrn create app