This is a base scaffolding package for building and publishing javascript and/or typescript applications to a single CommonJS and ECMAScript distribution.
Feature | Short Description | First Available In | Label |
---|---|---|---|
bootstrap | Supports bootstrapping | 0.0.1 | Pre-Alpha |
mocha | Supports mocha test framework* | 0.0.1 | Pre-Alpha |
md | Supports markdown source | 0.0.1 | Pre-Alpha |
json | Supports json source | 0.0.1 | Pre-Alpha |
typescript | Supports Typescript source | 0.0.1 | Pre-Alpha |
ECMAScript | Supports Javascript source | 0.0.1 | Pre-Alpha |
yarn | Supports the yarn package manager >= 2.0 | 0.0.1 | Pre-Alpha |
pnpm | Supports the pnpm package manager | 0.0.1 | Pre-Alpha |
npm] | Supports the npm package manager | 0.0.1 | Pre-Alpha |
Critical dependencies mean that functionality internal to build-tools depends on these in a way that would render build-tools useless without them.
Critical Dependency | Supported Versions1 | Bootstrap?2 |
---|---|---|
nodejs | LTS Versions since 16: >= 16.13.0 <= 16.18.1 >= 18.12.0 |
No |
npm | If using npm, >= 5.2 | No |
pnpm | If using pnpm, >= 7.17 | No |
yarn | If using yarn, >= 3.30 | No |
- Prior versions may work, they just haven't been tested. Report any successes or issues with these!
- Indicates whether the bootstrapping process can install these dependencies:
- No: Must be installed prior to using build-tools
- Local: Can be installed by the bootstrapping process, and will be installed locally
- Global: Can be installed by the bootstrapping process, and will be installed globally
Feature dependencies extend the build-tools usability. Letting build-tools know you're using them allows build-tools to properly configure itself.
By default, build-tools will install the latest version.Prior versions may work, they just haven't been tested. Report any successes or issues with these!
Dependency | Usage | Supported Versions1 | Bootstrap?2 |
---|---|---|---|
Typescript | Include typescript source | >= 4.0.2 | Local |
Mocha | Test with mocha framework | >= 10.0.0 | Local |
Chai | Assert with chai | >= 4.3.7 | Local |
Jest | Test with Jest framework | >= 29.3.1 | Local |
Jasmine | Jasmine | >= 4.5 | Local |
- Prior versions may work, they just haven't been tested. Report any successes or issues with these!
- Indicates whether the bootstrapping process can install these dependencies:
- No: Must be installed prior to using build-tools
- Local: Can be installed by the bootstrapping process, and will be installed locally
- Global: Can be installed by the bootstrapping process, and will be installed globally
General dependencies, most commonly the various packages required by a project should be installed using the package manager of choice.
npm i gulp-base --save-dev
Use these instructions as a guide for creating or converting an existing repo to gulp-base. The instructions are written for a new repo, however can easily be followed to understand how to convert an existing repo.
-
Nodejs Ensure the latest stable [node release][] is installed. Versions earlier than 16.x.x have not been tested, but let us know if they work or what issues you encounter!
-
NPM Ensure you have NPM >= 5.2 installed so that npx is supported. If not, you will have to use alternative commands.
-
Install gulp-cli globally per gulp.js. Needs to be >= 4.0
-
If desired, per [typescript instructions][], install typescript globally
-
Installing this package will install typescript locally. If you want to run tsc globally, install typescript globally. If you have it installed globally, compare typescript versions to better understand issues, if they occur.
-
Per gulp.js instructions, install gulp-cli globally.
npx gbscaffold
npm i gulp-base --save-dev
The scaffolding consists of directories, base packages and files. Some defaults are requested as part of running gbscaffold, while others are assumed. All defaults can be overriden in the final scaffolding. The scaffolding created is described below in Scaffolding
- [project]