mirror of
https://github.com/chenasraf/simple-scaffold.git
synced 2026-05-18 01:29:09 +00:00
Compare commits
10 Commits
v2.0.2
...
v1.5.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d8344c4f58 | ||
|
|
7e9022f433 | ||
|
|
d0c217adbe | ||
|
|
6b86e9aca2 | ||
|
|
48d5af0fb6 | ||
|
|
408a940853 | ||
|
|
0256e9282b | ||
|
|
e0dc643d4e | ||
|
|
23fcaefdd9 | ||
|
|
9ea414fe1a |
2
.github/workflows/docs.yml
vendored
2
.github/workflows/docs.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
name: Build Documentation
|
name: Documentation
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|||||||
15
.github/workflows/release.yml
vendored
15
.github/workflows/release.yml
vendored
@@ -1,10 +1,10 @@
|
|||||||
name: Semantic Release
|
name: Test & Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master, develop, feat/*, fix/* ]
|
branches: [ master, develop, feat/*, fix/* ]
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
||||||
steps:
|
steps:
|
||||||
@@ -14,6 +14,17 @@ jobs:
|
|||||||
node-version: "18.x"
|
node-version: "18.x"
|
||||||
- run: yarn install --frozen-lockfile
|
- run: yarn install --frozen-lockfile
|
||||||
- run: yarn test
|
- run: yarn test
|
||||||
|
if: "!contains(github.event.head_commit.message, '[skip test]')"
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
||||||
|
needs: test
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: "18.x"
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
- run: yarn build
|
- run: yarn build
|
||||||
- run: cd ./dist && yarn pack --filename=../package.tgz
|
- run: cd ./dist && yarn pack --filename=../package.tgz
|
||||||
- run: yarn semantic-release
|
- run: yarn semantic-release
|
||||||
|
|||||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,5 +1,19 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## [1.5.0-develop.3](https://github.com/chenasraf/simple-scaffold/compare/v1.5.0-develop.2...v1.5.0-develop.3) (2023-05-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* node.js function for remote configs ([7e9022f](https://github.com/chenasraf/simple-scaffold/commit/7e9022f4331c8a1351642042c0215f9160b2768a))
|
||||||
|
|
||||||
|
## [1.5.0-develop.2](https://github.com/chenasraf/simple-scaffold/compare/v1.5.0-develop.1...v1.5.0-develop.2) (2023-05-03)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* move dependency to dev dependency ([408a940](https://github.com/chenasraf/simple-scaffold/commit/408a94085366bb4e39391fcfcfa7df78b06a480f))
|
||||||
|
|
||||||
## [1.5.0-develop.1](https://github.com/chenasraf/simple-scaffold/compare/v1.4.0...v1.5.0-develop.1) (2023-05-02)
|
## [1.5.0-develop.1](https://github.com/chenasraf/simple-scaffold/compare/v1.4.0...v1.5.0-develop.1) (2023-05-02)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<h2 align="center">
|
<h2 align="center">
|
||||||
|
|
||||||
[GitHub](https://github.com/chenasraf/simple-scaffold) |
|
[GitHub](https://github.com/chenasraf/simple-scaffold) |
|
||||||
[Documentation](https://casraf.dev/simple-scaffold) |
|
[Documentation](https://chenasraf.github.io/simple-scaffold) |
|
||||||
[NPM](https://npmjs.com/package/simple-scaffold) | [casraf.dev](https://casraf.dev)
|
[NPM](https://npmjs.com/package/simple-scaffold) | [casraf.dev](https://casraf.dev)
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "simple-scaffold",
|
"name": "simple-scaffold",
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"description": "A simple command to generate any file structure, from single components to entire app boilerplates.",
|
"description": "A simple command to generate any file structure, from single components to entire app boilerplates.",
|
||||||
"homepage": "https://casraf.dev/simple-scaffold",
|
"homepage": "https://chenasraf.github.io/simple-scaffold",
|
||||||
"repository": "https://github.com/chenasraf/simple-scaffold.git",
|
"repository": "https://github.com/chenasraf/simple-scaffold.git",
|
||||||
"author": "Chen Asraf <inbox@casraf.com>",
|
"author": "Chen Asraf <inbox@casraf.com>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@@ -39,9 +39,7 @@
|
|||||||
"glob": "^9.2.1",
|
"glob": "^9.2.1",
|
||||||
"handlebars": "^4.7.7",
|
"handlebars": "^4.7.7",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"massarg": "^1.0.7-pre.1",
|
"massarg": "^1.0.7-pre.1"
|
||||||
"semantic-release-conventional-commits": "^3.0.0",
|
|
||||||
"util.promisify": "^1.1.1"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@knodes/typedoc-plugin-pages": "^0.23.4",
|
"@knodes/typedoc-plugin-pages": "^0.23.4",
|
||||||
@@ -59,6 +57,7 @@
|
|||||||
"mock-fs": "^5.2.0",
|
"mock-fs": "^5.2.0",
|
||||||
"rimraf": "^5.0.0",
|
"rimraf": "^5.0.0",
|
||||||
"semantic-release": "^21.0.1",
|
"semantic-release": "^21.0.1",
|
||||||
|
"semantic-release-conventional-commits": "^3.0.0",
|
||||||
"ts-jest": "^29.1.0",
|
"ts-jest": "^29.1.0",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"typedoc": "^0.24.6",
|
"typedoc": "^0.24.6",
|
||||||
|
|||||||
207
pages/cli.md
207
pages/cli.md
@@ -1,158 +1,73 @@
|
|||||||
## Available flags
|
## Available flags
|
||||||
|
|
||||||
The following is the help text from the `simple-scaffold` binary. To see this and more information
|
|
||||||
anytime, add the `-h` or `--help` flag to your call, e.g. `npx simple-scaffold@latest -h`.
|
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Usage: simple-scaffold [options]
|
Usage: simple-scaffold [options]
|
||||||
|
|
||||||
Create structured files based on templates.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
--help|-h Display help information
|
|
||||||
|
|
||||||
--name|-n Name to be passed to the generated files. {{name}} and
|
|
||||||
{{Name}} inside contents and file names will be replaced
|
|
||||||
accordingly.
|
|
||||||
|
|
||||||
--config|-c Filename or https git URL to load config from instead of
|
|
||||||
passing arguments to CLI or using a Node.js script. You may
|
|
||||||
pass a JSON or JS file with a relative or absolute
|
|
||||||
path
|
|
||||||
|
|
||||||
--github|-gh GitHub path to load config from instead of passing
|
|
||||||
arguments to CLI or using a Node.js script. You may pass a
|
|
||||||
GitHub path (e.g. username/package#scaffold.config.js). You
|
|
||||||
may also optionally add a key (same as passing --key) to load
|
|
||||||
from inside the config.
|
|
||||||
|
|
||||||
--key|-k Key to load inside the config file. This overwrites the
|
|
||||||
config key provided after the colon in --config (e.g. --config
|
|
||||||
scaffold.cmd.js:component)
|
|
||||||
|
|
||||||
--output|-o Path to output to. If --create-sub-folder is enabled,
|
|
||||||
the subfolder will be created inside this path.
|
|
||||||
(default: current dir)
|
|
||||||
|
|
||||||
--templates|-t Template files to use as input. You may provide multiple
|
|
||||||
files, each of which can be a relative or absolute path, or a
|
|
||||||
glob pattern for multiple file matching easily.
|
|
||||||
|
|
||||||
--overwrite|-w Enable to override output files, even if they already
|
|
||||||
exist. (default: false)
|
|
||||||
|
|
||||||
--data|-d Add custom data to the templates. By default, only your
|
|
||||||
app name is included.
|
|
||||||
|
|
||||||
--append-data|-D Append additional custom data to the templates, which
|
|
||||||
will overwrite --data, using an alternate syntax, which is
|
|
||||||
easier to use with CLI: -D key1=string -D key2:=raw
|
|
||||||
|
|
||||||
--create-sub-folder|-s Create subfolder with the input name
|
|
||||||
(default: false)
|
|
||||||
|
|
||||||
--sub-folder-name-helper|-sh Default helper to apply to subfolder name when using
|
|
||||||
`--create-sub-folder true`.
|
|
||||||
|
|
||||||
--quiet|-q Suppress output logs (Same as --verbose 0)
|
|
||||||
(default: false)
|
|
||||||
|
|
||||||
--verbose|-v Determine amount of logs to display. The values are:
|
|
||||||
0 (none) | 1 (debug) | 2 (info) | 3 (warn) | 4
|
|
||||||
(error). The provided level will display messages of
|
|
||||||
the same level or higher. (default:
|
|
||||||
2)
|
|
||||||
|
|
||||||
--dry-run|-dr Don't emit files. This is good for testing your
|
|
||||||
scaffolds and making sure they don't fail, without having to
|
|
||||||
write actual file contents or create directories.
|
|
||||||
(default: false)
|
|
||||||
|
|
||||||
Version: 1.4.0
|
|
||||||
Copyright © Chen Asraf 2017-2023
|
|
||||||
|
|
||||||
Documentation: https://casraf.dev/simple-scaffold
|
|
||||||
NPM: https://npmjs.com/package/simple-scaffold
|
|
||||||
GitHub: https://github.com/chenasraf/simple-scaffold
|
|
||||||
|
|
||||||
✨ Done in 11.00s.
|
|
||||||
❯ yarn build-cmd -h
|
|
||||||
yarn run v1.22.19
|
|
||||||
$ yarn build && yarn cmd -h
|
|
||||||
$ yarn clean && tsc && chmod -R +x ./dist && cp ./package.json ./README.md ./dist/
|
|
||||||
$ rimraf dist/
|
|
||||||
$ node --trace-warnings dist/cmd.js -h
|
|
||||||
Usage: simple-scaffold [options]
|
|
||||||
|
|
||||||
Create structured files based on templates.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
--help|-h Display help information
|
|
||||||
|
|
||||||
--name|-n Name to be passed to the generated files. {{name}} and
|
|
||||||
{{Name}} inside contents and file names will be replaced
|
|
||||||
accordingly.
|
|
||||||
|
|
||||||
--config|-c Filename or https git URL to load config from instead of
|
|
||||||
passing arguments to CLI or using a Node.js script. You may
|
|
||||||
pass a JSON or JS file with a relative or absolute path, or a
|
|
||||||
fully qualified git repository URL.
|
|
||||||
|
|
||||||
--github|-gh GitHub path to load config from instead of passing
|
|
||||||
arguments to CLI or using a Node.js script. You may pass a
|
|
||||||
GitHub path (e.g. username/package#scaffold.config.js). You
|
|
||||||
may also optionally add a key (same as passing --key) to load
|
|
||||||
from inside the config.
|
|
||||||
|
|
||||||
--key|-k Key to load inside the config file. This overwrites the
|
|
||||||
config key provided after the colon in --config (e.g. --config
|
|
||||||
scaffold.cmd.js:component)
|
|
||||||
|
|
||||||
--output|-o Path to output to. If --create-sub-folder is enabled,
|
|
||||||
the subfolder will be created inside this path.
|
|
||||||
(default: current dir)
|
|
||||||
|
|
||||||
--templates|-t Template files to use as input. You may provide multiple
|
|
||||||
files, each of which can be a relative or absolute path, or a
|
|
||||||
glob pattern for multiple file matching easily.
|
|
||||||
|
|
||||||
--overwrite|-w Enable to override output files, even if they already
|
|
||||||
exist. (default: false)
|
|
||||||
|
|
||||||
--data|-d Add custom data to the templates. By default, only your
|
|
||||||
app name is included.
|
|
||||||
|
|
||||||
--append-data|-D Append additional custom data to the templates, which
|
|
||||||
will overwrite --data, using an alternate syntax, which is
|
|
||||||
easier to use with CLI: -D key1=string -D key2:=raw
|
|
||||||
|
|
||||||
--create-sub-folder|-s Create subfolder with the input name
|
|
||||||
(default: false)
|
|
||||||
|
|
||||||
--sub-folder-name-helper|-sh Default helper to apply to subfolder name when using
|
|
||||||
`--create-sub-folder true`.
|
|
||||||
|
|
||||||
--quiet|-q Suppress output logs (Same as --verbose 0)
|
|
||||||
(default: false)
|
|
||||||
|
|
||||||
--verbose|-v Determine amount of logs to display. The values are:
|
|
||||||
0 (none) | 1 (debug) | 2 (info) | 3 (warn) | 4
|
|
||||||
(error). The provided level will display messages of
|
|
||||||
the same level or higher. (default:
|
|
||||||
2)
|
|
||||||
|
|
||||||
--dry-run|-dr Don't emit files. This is good for testing your
|
|
||||||
scaffolds and making sure they don't fail, without having to
|
|
||||||
write actual file contents or create directories.
|
|
||||||
(default: false)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To see this and more information anytime, add the `-h` or `--help` flag to your call, e.g.
|
||||||
|
`npx simple-scaffold@latest -h`.
|
||||||
|
|
||||||
|
| Command \| alias | |
|
||||||
|
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `--help`\|`-h` | Display help information |
|
||||||
|
| `--name`\|`-n` | Name to be passed to the generated files. {{name}} and {{Name}} inside contents and file names will be replaced accordingly. |
|
||||||
|
| `--config`\|`-c` | Filename or HTTPS git URL to load config from instead of passing arguments to CLI or using a Node.js script. |
|
||||||
|
| `--github`\|`-gh` | GitHub path to load config from instead of passing arguments to CLI or using a Node.js script. |
|
||||||
|
| `--key`\|`-k` | Key to load inside the config file. This overwrites the config key provided after the colon in --config (e.g. --config scaffold.cmd.js:component) |
|
||||||
|
| `--output`\|`-o` | Path to output to. If --create-sub-folder is enabled, the subfolder will be created inside this path. (default: current dir) |
|
||||||
|
| `--templates`\|`-t` | Template files to use as input. You may provide multiple files, each of which can be a relative or absolute path, or a glob pattern for multiple file matching easily. |
|
||||||
|
| `--overwrite`\|`-w` | Enable to override output files, even if they already exist. (default: false) |
|
||||||
|
| `--data`\|`-d` | Add custom data to the templates. By default, only your app name is included. |
|
||||||
|
| `--append-data`\|`-D` | Append additional custom data to the templates, which will overwrite --data, using an alternate syntax, which is easier to use with CLI: -D key1=string -D key2:=raw |
|
||||||
|
| `--create-sub-folder`\|`-s` | Create subfolder with the input name (default: false) |
|
||||||
|
| `--sub-folder-name-helper`\|`-sh` | Default helper to apply to subfolder name when using `--create-sub-folder true`. |
|
||||||
|
| `--quiet`\|`-q` | Suppress output logs (Same as --verbose 0) (default: false) |
|
||||||
|
| `--verbose`\|`-v` | Determine amount of logs to display. The values are: 0 (none) \| 1 (debug) \| 2 (info) \| 3 (warn) \| 4 (error). The provided level will display messages of the same level or higher. (default: 2) |
|
||||||
|
| `--dry-run`\|`-dr` | Don't emit files. This is good for testing your scaffolds and making sure they don't fail, without having to write actual file contents or create directories. (default: false) |
|
||||||
|
|
||||||
|
## Examples:
|
||||||
|
|
||||||
> See
|
> See
|
||||||
> [Configuration Files](https://chenasraf.githun.io/simple-scaffold/pages/docs/configuration_files.md)
|
> [Configuration Files](https://chenasraf.github.io/simple-scaffold/pages/docs/configuration_files.md)
|
||||||
> for organizing multiple scaffold types into easy-to-maintain files
|
> for organizing multiple scaffold types into easy-to-maintain files
|
||||||
|
|
||||||
|
Usage with config file
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ simple-scaffold -c scaffold.cmd.js --key component
|
||||||
|
```
|
||||||
|
|
||||||
|
Usage with GitHub config file
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ simple-scaffold -gh chenasraf/simple-scaffold --key component
|
||||||
|
```
|
||||||
|
|
||||||
|
Usage with https git URL (for non-GitHub)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ simple-scaffold -c \
|
||||||
|
https://example.com/user/template.git#scaffold.cmd.js --key component
|
||||||
|
```
|
||||||
|
|
||||||
|
Full syntax with config path and template key (applicable to all above methods)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ simple-scaffold -c scaffold.cmd.js:component MyComponent
|
||||||
|
```
|
||||||
|
|
||||||
|
Excluded template key, assumes 'default' key
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ simple-scaffold -c scaffold.cmd.js MyComponent
|
||||||
|
```
|
||||||
|
|
||||||
|
Shortest syntax for GitHub, assumes file 'scaffold.cmd.js' and template key 'default'
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ simple-scaffold -gh chenasraf/simple-scaffold MyComponent
|
||||||
|
```
|
||||||
|
|
||||||
You can also add this as a script in your `package.json`:
|
You can also add this as a script in your `package.json`:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
|
|||||||
@@ -132,3 +132,24 @@ This example is equivalent to the above, just shorter to write:
|
|||||||
```shell
|
```shell
|
||||||
simple-scaffold -c chenasraf/simple-scaffold#examples/test-input/scaffold.config.js:component
|
simple-scaffold -c chenasraf/simple-scaffold#examples/test-input/scaffold.config.js:component
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Use In Node.js
|
||||||
|
|
||||||
|
You can also start a scaffold from Node.js with a remote file or URL config.
|
||||||
|
|
||||||
|
Just use the `Scaffold.fromConfig` function:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
Scaffold.fromConfig(
|
||||||
|
"scaffold.config.js", // file or HTTPS git URL
|
||||||
|
{
|
||||||
|
// name of the generated component
|
||||||
|
name: "My Component",
|
||||||
|
// key to load from the config
|
||||||
|
key: "component",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// other config overrides
|
||||||
|
},
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|||||||
31
src/cmd.ts
31
src/cmd.ts
@@ -29,13 +29,13 @@ export async function parseCliArgs(args = process.argv.slice(2)) {
|
|||||||
name: "config",
|
name: "config",
|
||||||
aliases: ["c"],
|
aliases: ["c"],
|
||||||
description:
|
description:
|
||||||
"Filename or https git URL to load config from instead of passing arguments to CLI or using a Node.js script. You may pass a JSON or JS file with a relative or absolute path, or a fully qualified git repository URL.",
|
"Filename or https git URL to load config from instead of passing arguments to CLI or using a Node.js script. See examples for syntax.",
|
||||||
})
|
})
|
||||||
.option({
|
.option({
|
||||||
name: "github",
|
name: "github",
|
||||||
aliases: ["gh"],
|
aliases: ["gh"],
|
||||||
description:
|
description:
|
||||||
"GitHub path to load config from instead of passing arguments to CLI or using a Node.js script. You may pass a GitHub path (e.g. username/package#scaffold.config.js). You may also optionally add a key (same as passing --key) to load from inside the config.",
|
"GitHub path to load config from instead of passing arguments to CLI or using a Node.js script. See examples for syntax.",
|
||||||
})
|
})
|
||||||
.option({
|
.option({
|
||||||
name: "key",
|
name: "key",
|
||||||
@@ -121,16 +121,41 @@ export async function parseCliArgs(args = process.argv.slice(2)) {
|
|||||||
// description: "Usage",
|
// description: "Usage",
|
||||||
// output: "",
|
// output: "",
|
||||||
// })
|
// })
|
||||||
|
.example({
|
||||||
|
description: "Usage with config file",
|
||||||
|
input: "simple-scaffold -c scaffold.cmd.js --key component",
|
||||||
|
})
|
||||||
|
.example({
|
||||||
|
description: "Usage with GitHub config file",
|
||||||
|
input: "simple-scaffold -gh chenasraf/simple-scaffold --key component",
|
||||||
|
})
|
||||||
|
.example({
|
||||||
|
description: "Usage with https git URL (for non-GitHub)",
|
||||||
|
input: "simple-scaffold -c https://example.com/user/template.git#scaffold.cmd.js --key component",
|
||||||
|
})
|
||||||
|
.example({
|
||||||
|
description: "Full syntax with config path and template key (applicable to all above methods)",
|
||||||
|
input: "simple-scaffold -c scaffold.cmd.js:component MyComponent",
|
||||||
|
})
|
||||||
|
.example({
|
||||||
|
description: "Excluded template key, assumes 'default' key",
|
||||||
|
input: "simple-scaffold -c scaffold.cmd.js MyComponent",
|
||||||
|
})
|
||||||
|
.example({
|
||||||
|
description: "Shortest syntax for GitHub, assumes file 'scaffold.cmd.js' and template key 'default'",
|
||||||
|
input: "simple-scaffold -gh chenasraf/simple-scaffold MyComponent",
|
||||||
|
})
|
||||||
.help({
|
.help({
|
||||||
binName: "simple-scaffold",
|
binName: "simple-scaffold",
|
||||||
useGlobalColumns: true,
|
useGlobalColumns: true,
|
||||||
usageExample: "[options]",
|
usageExample: "[options]",
|
||||||
|
printWidth: 100,
|
||||||
header: [`Create structured files based on templates.`].join("\n"),
|
header: [`Create structured files based on templates.`].join("\n"),
|
||||||
footer: [
|
footer: [
|
||||||
`Version: ${pkg.version}`,
|
`Version: ${pkg.version}`,
|
||||||
`Copyright © Chen Asraf 2017-${new Date().getFullYear()}`,
|
`Copyright © Chen Asraf 2017-${new Date().getFullYear()}`,
|
||||||
``,
|
``,
|
||||||
`Documentation: ${chalk.underline`https://casraf.dev/simple-scaffold`}`,
|
`Documentation: ${chalk.underline`https://chenasraf.github.io/simple-scaffold`}`,
|
||||||
`NPM: ${chalk.underline`https://npmjs.com/package/simple-scaffold`}`,
|
`NPM: ${chalk.underline`https://npmjs.com/package/simple-scaffold`}`,
|
||||||
`GitHub: ${chalk.underline`https://github.com/chenasraf/simple-scaffold`}`,
|
`GitHub: ${chalk.underline`https://github.com/chenasraf/simple-scaffold`}`,
|
||||||
].join("\n"),
|
].join("\n"),
|
||||||
|
|||||||
39
src/scaffold.ts
Normal file → Executable file
39
src/scaffold.ts
Normal file → Executable file
@@ -23,8 +23,10 @@ import {
|
|||||||
getTemplateFileInfo,
|
getTemplateFileInfo,
|
||||||
logInitStep,
|
logInitStep,
|
||||||
logInputFile,
|
logInputFile,
|
||||||
|
parseConfig,
|
||||||
} from "./utils"
|
} from "./utils"
|
||||||
import { LogLevel, ScaffoldConfig } from "./types"
|
import { LogLevel, ScaffoldCmdConfig, ScaffoldConfig } from "./types"
|
||||||
|
import { OptionsBase } from "massarg/types"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a scaffold using given `options`.
|
* Create a scaffold using given `options`.
|
||||||
@@ -50,6 +52,7 @@ import { LogLevel, ScaffoldConfig } from "./types"
|
|||||||
* For available default values, see {@link DefaultHelpers}.
|
* For available default values, see {@link DefaultHelpers}.
|
||||||
*
|
*
|
||||||
* @param {ScaffoldConfig} config The main configuration object
|
* @param {ScaffoldConfig} config The main configuration object
|
||||||
|
* @return {Promise<void>} A promise that resolves when the scaffold is complete
|
||||||
*
|
*
|
||||||
* @see {@link DefaultHelpers}
|
* @see {@link DefaultHelpers}
|
||||||
* @see {@link CaseHelpers}
|
* @see {@link CaseHelpers}
|
||||||
@@ -101,6 +104,40 @@ export async function Scaffold(config: ScaffoldConfig): Promise<void> {
|
|||||||
throw e
|
throw e
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a scaffold based on a config file or URL.
|
||||||
|
*
|
||||||
|
* @param {string} pathOrUrl The path or URL to the config file
|
||||||
|
* @param {Record<string, string>} config Information needed before loading the config
|
||||||
|
* @param {Partial<Omit<ScaffoldConfig, 'name'>>} overrides Any overrides to the loaded config
|
||||||
|
*
|
||||||
|
* @see {@link Scaffold}
|
||||||
|
* @category Main
|
||||||
|
* @return {Promise<void>} A promise that resolves when the scaffold is complete
|
||||||
|
*/
|
||||||
|
Scaffold.fromConfig = async function (
|
||||||
|
pathOrUrl: string,
|
||||||
|
config: Pick<ScaffoldCmdConfig, "name" | "key">,
|
||||||
|
overrides?: Partial<Omit<ScaffoldConfig, "name">>,
|
||||||
|
): Promise<void> {
|
||||||
|
const _cmdConfig: ScaffoldCmdConfig & OptionsBase = {
|
||||||
|
dryRun: false,
|
||||||
|
output: process.cwd(),
|
||||||
|
verbose: LogLevel.Info,
|
||||||
|
overwrite: false,
|
||||||
|
templates: [],
|
||||||
|
createSubFolder: false,
|
||||||
|
quiet: false,
|
||||||
|
help: false,
|
||||||
|
extras: [],
|
||||||
|
config: pathOrUrl,
|
||||||
|
...config,
|
||||||
|
}
|
||||||
|
const _config = await parseConfig(_cmdConfig)
|
||||||
|
return Scaffold({ ..._config, ...overrides })
|
||||||
|
}
|
||||||
|
|
||||||
async function handleTemplateFile(
|
async function handleTemplateFile(
|
||||||
config: ScaffoldConfig,
|
config: ScaffoldConfig,
|
||||||
{ templatePath, basePath }: { templatePath: string; basePath: string },
|
{ templatePath, basePath }: { templatePath: string; basePath: string },
|
||||||
|
|||||||
20
src/types.ts
20
src/types.ts
@@ -3,7 +3,8 @@ import { HelperDelegate } from "handlebars/runtime"
|
|||||||
/**
|
/**
|
||||||
* The config object for defining a scaffolding group.
|
* The config object for defining a scaffolding group.
|
||||||
*
|
*
|
||||||
* @see https://github.com/chenasraf/simple-scaffold#readme
|
* @see {@link https://chenasraf.github.io/simple-scaffold/pages/node.html | Node.js usage}
|
||||||
|
* @see {@link https://chenasraf.github.io/simple-scaffold/pages/cli.html | CLI usage}
|
||||||
* @see {@link DefaultHelpers}
|
* @see {@link DefaultHelpers}
|
||||||
* @see {@link CaseHelpers}
|
* @see {@link CaseHelpers}
|
||||||
* @see {@link DateHelpers}
|
* @see {@link DateHelpers}
|
||||||
@@ -131,10 +132,8 @@ export interface ScaffoldConfig {
|
|||||||
* @see {@link DefaultHelpers}
|
* @see {@link DefaultHelpers}
|
||||||
* @see {@link CaseHelpers}
|
* @see {@link CaseHelpers}
|
||||||
* @see {@link DateHelpers}
|
* @see {@link DateHelpers}
|
||||||
* @see https://casraf.dev/simple-scaffold#helpers
|
* @see {@link https://chenasraf.github.io/simple-scaffold/pages/templates.html | Templates}
|
||||||
* @see https://casraf.dev/simple-scaffold#built-in-helpers
|
* */
|
||||||
* @see https://handlebarsjs.com/guide/#custom-helpers
|
|
||||||
*/
|
|
||||||
helpers?: Record<string, Helper>
|
helpers?: Record<string, Helper>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -341,4 +340,15 @@ export interface ScaffoldCmdConfig {
|
|||||||
github?: string
|
github?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A mapping of scaffold template keys to their configurations.
|
||||||
|
*
|
||||||
|
* Each configuration is a {@link ScaffoldConfig} object.
|
||||||
|
*
|
||||||
|
* The key is the name of the template, and the value is the configuration for that template.
|
||||||
|
*
|
||||||
|
* When no template key is provided to the scaffold command, the "default" template is used.
|
||||||
|
*
|
||||||
|
* @see {@link ScaffoldConfig}
|
||||||
|
*/
|
||||||
export type ScaffoldConfigFile = Record<string, ScaffoldConfig>
|
export type ScaffoldConfigFile = Record<string, ScaffoldConfig>
|
||||||
|
|||||||
201
yarn.lock
201
yarn.lock
@@ -1705,14 +1705,6 @@ cacache@^17.0.0, cacache@^17.0.4, cacache@^17.0.5:
|
|||||||
tar "^6.1.11"
|
tar "^6.1.11"
|
||||||
unique-filename "^3.0.0"
|
unique-filename "^3.0.0"
|
||||||
|
|
||||||
call-bind@^1.0.0, call-bind@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
|
|
||||||
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
|
|
||||||
dependencies:
|
|
||||||
function-bind "^1.1.1"
|
|
||||||
get-intrinsic "^1.0.2"
|
|
||||||
|
|
||||||
callsites@^3.0.0:
|
callsites@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||||
@@ -2223,13 +2215,6 @@ defaults@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
clone "^1.0.2"
|
clone "^1.0.2"
|
||||||
|
|
||||||
define-properties@^1.1.3:
|
|
||||||
version "1.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
|
|
||||||
integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
|
|
||||||
dependencies:
|
|
||||||
object-keys "^1.0.12"
|
|
||||||
|
|
||||||
delegates@^1.0.0:
|
delegates@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
|
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
|
||||||
@@ -2333,37 +2318,6 @@ error-ex@^1.3.1, error-ex@^1.3.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-arrayish "^0.2.1"
|
is-arrayish "^0.2.1"
|
||||||
|
|
||||||
es-abstract@^1.18.0-next.2:
|
|
||||||
version "1.18.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0"
|
|
||||||
integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
es-to-primitive "^1.2.1"
|
|
||||||
function-bind "^1.1.1"
|
|
||||||
get-intrinsic "^1.1.1"
|
|
||||||
has "^1.0.3"
|
|
||||||
has-symbols "^1.0.2"
|
|
||||||
is-callable "^1.2.3"
|
|
||||||
is-negative-zero "^2.0.1"
|
|
||||||
is-regex "^1.1.3"
|
|
||||||
is-string "^1.0.6"
|
|
||||||
object-inspect "^1.10.3"
|
|
||||||
object-keys "^1.1.1"
|
|
||||||
object.assign "^4.1.2"
|
|
||||||
string.prototype.trimend "^1.0.4"
|
|
||||||
string.prototype.trimstart "^1.0.4"
|
|
||||||
unbox-primitive "^1.0.1"
|
|
||||||
|
|
||||||
es-to-primitive@^1.2.1:
|
|
||||||
version "1.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
|
|
||||||
integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
|
|
||||||
dependencies:
|
|
||||||
is-callable "^1.1.4"
|
|
||||||
is-date-object "^1.0.1"
|
|
||||||
is-symbol "^1.0.2"
|
|
||||||
|
|
||||||
escalade@^3.1.1:
|
escalade@^3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
||||||
@@ -2539,13 +2493,6 @@ find-versions@^5.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver-regex "^4.0.5"
|
semver-regex "^4.0.5"
|
||||||
|
|
||||||
for-each@^0.3.3:
|
|
||||||
version "0.3.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
|
|
||||||
integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
|
|
||||||
dependencies:
|
|
||||||
is-callable "^1.1.3"
|
|
||||||
|
|
||||||
foreground-child@^3.1.0:
|
foreground-child@^3.1.0:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
|
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
|
||||||
@@ -2638,15 +2585,6 @@ get-caller-file@^2.0.5:
|
|||||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
||||||
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||||
|
|
||||||
get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
|
|
||||||
integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
|
|
||||||
dependencies:
|
|
||||||
function-bind "^1.1.1"
|
|
||||||
has "^1.0.3"
|
|
||||||
has-symbols "^1.0.1"
|
|
||||||
|
|
||||||
get-package-type@^0.1.0:
|
get-package-type@^0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
|
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
|
||||||
@@ -2818,11 +2756,6 @@ hard-rejection@^2.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
|
resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
|
||||||
integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
|
integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
|
||||||
|
|
||||||
has-bigints@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
|
|
||||||
integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
|
|
||||||
|
|
||||||
has-flag@^3.0.0:
|
has-flag@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
||||||
@@ -2833,11 +2766,6 @@ has-flag@^4.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
||||||
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
|
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
|
||||||
|
|
||||||
has-symbols@^1.0.1, has-symbols@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
|
|
||||||
integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
|
|
||||||
|
|
||||||
has-unicode@^2.0.1:
|
has-unicode@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
|
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
|
||||||
@@ -3042,23 +2970,6 @@ is-arrayish@^0.2.1:
|
|||||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
||||||
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
|
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
|
||||||
|
|
||||||
is-bigint@^1.0.1:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a"
|
|
||||||
integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==
|
|
||||||
|
|
||||||
is-boolean-object@^1.1.0:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8"
|
|
||||||
integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
|
|
||||||
is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3:
|
|
||||||
version "1.2.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
|
|
||||||
integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
|
|
||||||
|
|
||||||
is-cidr@^4.0.2:
|
is-cidr@^4.0.2:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814"
|
resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814"
|
||||||
@@ -3080,11 +2991,6 @@ is-core-module@^2.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has "^1.0.3"
|
has "^1.0.3"
|
||||||
|
|
||||||
is-date-object@^1.0.1:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5"
|
|
||||||
integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==
|
|
||||||
|
|
||||||
is-extglob@^2.1.1:
|
is-extglob@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||||
@@ -3112,16 +3018,6 @@ is-lambda@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
|
resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
|
||||||
integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
|
integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
|
||||||
|
|
||||||
is-negative-zero@^2.0.1:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
|
|
||||||
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
|
|
||||||
|
|
||||||
is-number-object@^1.0.4:
|
|
||||||
version "1.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb"
|
|
||||||
integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==
|
|
||||||
|
|
||||||
is-number@^7.0.0:
|
is-number@^7.0.0:
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
||||||
@@ -3142,14 +3038,6 @@ is-plain-object@^5.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
|
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
|
||||||
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
|
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
|
||||||
|
|
||||||
is-regex@^1.1.3:
|
|
||||||
version "1.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f"
|
|
||||||
integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
has-symbols "^1.0.2"
|
|
||||||
|
|
||||||
is-stream@^2.0.0:
|
is-stream@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
|
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
|
||||||
@@ -3160,18 +3048,6 @@ is-stream@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
|
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
|
||||||
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
|
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
|
||||||
|
|
||||||
is-string@^1.0.5, is-string@^1.0.6:
|
|
||||||
version "1.0.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f"
|
|
||||||
integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==
|
|
||||||
|
|
||||||
is-symbol@^1.0.2, is-symbol@^1.0.3:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
|
|
||||||
integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
|
|
||||||
dependencies:
|
|
||||||
has-symbols "^1.0.2"
|
|
||||||
|
|
||||||
is-text-path@^1.0.1:
|
is-text-path@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
|
resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
|
||||||
@@ -4595,35 +4471,6 @@ npmlog@^7.0.1:
|
|||||||
gauge "^5.0.0"
|
gauge "^5.0.0"
|
||||||
set-blocking "^2.0.0"
|
set-blocking "^2.0.0"
|
||||||
|
|
||||||
object-inspect@^1.10.3:
|
|
||||||
version "1.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
|
|
||||||
integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==
|
|
||||||
|
|
||||||
object-keys@^1.0.12, object-keys@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
|
|
||||||
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
|
|
||||||
|
|
||||||
object.assign@^4.1.2:
|
|
||||||
version "4.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
|
|
||||||
integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.0"
|
|
||||||
define-properties "^1.1.3"
|
|
||||||
has-symbols "^1.0.1"
|
|
||||||
object-keys "^1.1.1"
|
|
||||||
|
|
||||||
object.getownpropertydescriptors@^2.1.1:
|
|
||||||
version "2.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7"
|
|
||||||
integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
define-properties "^1.1.3"
|
|
||||||
es-abstract "^1.18.0-next.2"
|
|
||||||
|
|
||||||
once@^1.3.0, once@^1.4.0:
|
once@^1.3.0, once@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||||
@@ -5607,22 +5454,6 @@ string-width@^4.1.0, string-width@^4.2.0:
|
|||||||
is-fullwidth-code-point "^3.0.0"
|
is-fullwidth-code-point "^3.0.0"
|
||||||
strip-ansi "^6.0.0"
|
strip-ansi "^6.0.0"
|
||||||
|
|
||||||
string.prototype.trimend@^1.0.4:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
|
|
||||||
integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
define-properties "^1.1.3"
|
|
||||||
|
|
||||||
string.prototype.trimstart@^1.0.4:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
|
|
||||||
integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
define-properties "^1.1.3"
|
|
||||||
|
|
||||||
string_decoder@^1.1.1:
|
string_decoder@^1.1.1:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
|
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
|
||||||
@@ -5939,16 +5770,6 @@ uglify-js@^3.1.4:
|
|||||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.10.tgz#a6bd0d28d38f592c3adb6b180ea6e07e1e540a8d"
|
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.10.tgz#a6bd0d28d38f592c3adb6b180ea6e07e1e540a8d"
|
||||||
integrity sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==
|
integrity sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==
|
||||||
|
|
||||||
unbox-primitive@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
|
|
||||||
integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
|
|
||||||
dependencies:
|
|
||||||
function-bind "^1.1.1"
|
|
||||||
has-bigints "^1.0.1"
|
|
||||||
has-symbols "^1.0.2"
|
|
||||||
which-boxed-primitive "^1.0.2"
|
|
||||||
|
|
||||||
unique-filename@^2.0.0:
|
unique-filename@^2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2"
|
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2"
|
||||||
@@ -6012,17 +5833,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
||||||
|
|
||||||
util.promisify@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b"
|
|
||||||
integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.0"
|
|
||||||
define-properties "^1.1.3"
|
|
||||||
for-each "^0.3.3"
|
|
||||||
has-symbols "^1.0.1"
|
|
||||||
object.getownpropertydescriptors "^2.1.1"
|
|
||||||
|
|
||||||
uuid@^3.3.2:
|
uuid@^3.3.2:
|
||||||
version "3.4.0"
|
version "3.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
||||||
@@ -6099,17 +5909,6 @@ whatwg-url@^5.0.0:
|
|||||||
tr46 "~0.0.3"
|
tr46 "~0.0.3"
|
||||||
webidl-conversions "^3.0.0"
|
webidl-conversions "^3.0.0"
|
||||||
|
|
||||||
which-boxed-primitive@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
|
|
||||||
integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
|
|
||||||
dependencies:
|
|
||||||
is-bigint "^1.0.1"
|
|
||||||
is-boolean-object "^1.1.0"
|
|
||||||
is-number-object "^1.0.4"
|
|
||||||
is-string "^1.0.5"
|
|
||||||
is-symbol "^1.0.3"
|
|
||||||
|
|
||||||
which@^2.0.1, which@^2.0.2:
|
which@^2.0.1, which@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
||||||
|
|||||||
Reference in New Issue
Block a user