Compare commits

...

5 Commits

Author SHA1 Message Date
semantic-release-bot
83d38073f3 chore(release): 1.4.0 [skip ci]
## [1.4.0](https://github.com/chenasraf/simple-scaffold/compare/v1.3.2...v1.4.0) (2023-04-28)

### Features

* add `--key` | `-k` to config loader ([6c5ba0b](6c5ba0bc91))
2023-04-28 23:01:48 +00:00
Chen Asraf
6c5ba0bc91 feat: add --key | -k to config loader 2023-04-29 01:59:39 +03:00
semantic-release-bot
2c4eccd800 chore(release): 1.3.2 [skip ci]
## [1.3.2](https://github.com/chenasraf/simple-scaffold/compare/v1.3.1...v1.3.2) (2023-04-28)

### Bug Fixes

* release build ([2c23fa9](2c23fa9dbb))
* release build asset ([0bef2df](0bef2df5f3))
2023-04-28 22:08:51 +00:00
Chen Asraf
2c23fa9dbb fix: release build 2023-04-29 01:04:01 +03:00
Chen Asraf
0bef2df5f3 fix: release build asset 2023-04-29 00:59:54 +03:00
8 changed files with 34 additions and 6 deletions

View File

@@ -2,7 +2,7 @@ name: Semantic Release
on:
push:
branches: [master, develop, feat/*, fix/*]
branches: [ master, develop, feat/*, fix/* ]
jobs:
build:
runs-on: ubuntu-latest
@@ -15,6 +15,7 @@ jobs:
- run: yarn install --frozen-lockfile
- run: yarn test
- run: yarn build
- run: cd ./dist && yarn pack --filename=../package.tgz
- run: yarn semantic-release
if: "!contains(github.event.head_commit.message, '[skip publish]')"
env:

View File

@@ -1,5 +1,20 @@
# Change Log
## [1.4.0](https://github.com/chenasraf/simple-scaffold/compare/v1.3.2...v1.4.0) (2023-04-28)
### Features
* add `--key` | `-k` to config loader ([6c5ba0b](https://github.com/chenasraf/simple-scaffold/commit/6c5ba0bc916fb1d59240d2eaa1abedc74527a974))
## [1.3.2](https://github.com/chenasraf/simple-scaffold/compare/v1.3.1...v1.3.2) (2023-04-28)
### Bug Fixes
* release build ([2c23fa9](https://github.com/chenasraf/simple-scaffold/commit/2c23fa9dbb310cd0a31f09606798f96b95d66779))
* release build asset ([0bef2df](https://github.com/chenasraf/simple-scaffold/commit/0bef2df5f3aa800ad5f1094c0996108db9acce51))
## [1.3.1](https://github.com/chenasraf/simple-scaffold/compare/v1.3.0...v1.3.1) (2023-04-28)

View File

@@ -7,7 +7,7 @@ module.exports = {
},
component: {
templates: ["examples/test-input/Component"],
output: "examples/test-output",
output: "examples/test-output/component",
data: { property: "myProp", value: "10" },
},
}

View File

@@ -20,6 +20,10 @@ Options:
arguments to CLI or using a Node.js script. You may pass a
JSON or JS file, with a relative or absolute path.
--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)

View File

@@ -57,7 +57,7 @@ module.exports = {
[
"@semantic-release/npm",
{
packageRoot: "dist",
pkgRoot: "dist",
},
],
[

View File

@@ -31,6 +31,12 @@ export async function parseCliArgs(args = process.argv.slice(2)) {
description:
"Filename 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.",
})
.option({
name: "key",
aliases: ["k"],
description:
"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)",
})
.option({
name: "output",
aliases: ["o"],

View File

@@ -337,6 +337,7 @@ export interface ScaffoldCmdConfig {
verbose: LogLevel
dryRun: boolean
config?: string
key?: string
}
export type ScaffoldConfigFile = Record<string, ScaffoldConfig>

View File

@@ -118,8 +118,8 @@ export function log(config: ScaffoldConfig, level: LogLevel, ...obj: any[]): voi
i instanceof Error
? chalkFn(i, JSON.stringify(i, undefined, 1), i.stack)
: typeof i === "object"
? chalkFn(JSON.stringify(i, undefined, 1))
: chalkFn(i),
? chalkFn(JSON.stringify(i, undefined, 1))
: chalkFn(i),
),
)
}
@@ -402,7 +402,8 @@ export function parseConfig(config: ScaffoldCmdConfig & OptionsBase): ScaffoldCo
let c: ScaffoldConfig = config
if (config.config) {
const [configFile, template = "default"] = config.config.split(":")
const [configFile, colonTemplate = "default"] = config.config.split(":")
const template = config.key ?? colonTemplate
const configImport: ScaffoldConfigFile = require(path.resolve(process.cwd(), configFile))
if (!configImport[template]) {
throw new Error(`Template "${template}" not found in ${configFile}`)