To match Arctic Ice Studio's workflow for all projects, the current setup will be refactored. This also includes updating all outdated dependencies and adding new packages.
Workflow Refactoring
- Retire Travis CI — As of Circle CI v2, the features like multi-stage builds and custom workflows are by far sufficient and doesn't require a second CI binding.
- Circle CI v2.1 — Update to the latest Circle CI version 2.1 for full compatibility and latest features.
- NPM scripts — Refactored all NPM scripts and added new commands to simplify and stabilize the project development process.
Dependency Updates
Update all outdated development dependencies:
- babel-eslint 8.2.5 ➜ 10.0.1
- del-cli 1.1.0 🆕
- eslint 4.19.1 ➜ 5.16.0
- eslint-config-arcticicestudio-base 0.3.0 ➜ >=0.1.0 <1.0.0
- eslint-plugin-import 2.13.0 ➜ 2.17.3
- eslint-plugin-json 1.2.0 ➜ 1.4.0
- eslint-plugin-prettier 2.6.1 ➜ 3.1.0
- npm-run-all 4.1.5 🆕
- prettier 1.13.7 ➜ 1.17.1
- remark-preset-lint-arcticicestudio >=0.1.0 <1.0.0
- vsce 1.62.0 🆕
NPM Scripts
New and refactored commands will be
build — Creates a clean *.vsix project artifact using the vsce VS Code's official packaging tool.
clean — Cleans the project root directory from previous builds and VSC ignored metadata files.
format:pretty — Extracted from the main format command for a better modularity.
package — Packages the project *.vsix artifact using the vsce VS Code's official packaging tool.
To match Arctic Ice Studio's workflow for all projects, the current setup will be refactored. This also includes updating all outdated dependencies and adding new packages.
Workflow Refactoring
Dependency Updates
Update all outdated development dependencies:
NPM Scripts
New and refactored commands will be
build— Creates a clean*.vsixproject artifact using thevsceVS Code's official packaging tool.clean— Cleans the project root directory from previous builds and VSC ignored metadata files.format:pretty— Extracted from the mainformatcommand for a better modularity.package— Packages the project*.vsixartifact using thevsceVS Code's official packaging tool.