mirror of
https://github.com/chenasraf/simple-scaffold.git
synced 2026-05-18 01:29:09 +00:00
2.4 KiB
2.4 KiB
title
| title |
|---|
| Examples |
Example files
Input
-
Input file path:
project → scaffold → {{Name}}.js → src → components -
Input file contents:
/** * Author: {{ author }} * Date: {{ now "yyyy-MM-dd" }} */ import React from 'react' export default {{camelCase name}}: React.FC = (props) => { return ( <div className="{{className}}">{{camelCase name}} Component</div> ) }
Output
-
Output file path:
-
With
subdir = false(default):project → src → components → MyComponent.js -
With
subdir = true:project → src → components → MyComponent → MyComponent.js -
With
subdir = trueandsubdirHelper = 'upperCase':project → src → components → MYCOMPONENT → MyComponent.js
-
-
Output file contents:
/** * Author: My Name * Date: 2077-01-01 */ import React from 'react' export default MyComponent: React.FC = (props) => { return ( <div className="myClassName">MyComponent Component</div> ) }
Example run commands
Command Example
simple-scaffold \
-t project/scaffold/**/* \
-o src/components \
-d '{"className": "myClassName","author": "My Name"}'
MyComponent
Equivalent Node Module Example
import Scaffold from "simple-scaffold"
async function main() {
await Scaffold({
name: "MyComponent",
templates: ["project/scaffold/**/*"],
output: ["src/components"],
data: {
className: "myClassName",
author: "My Name",
},
})
console.log("Done.")
}
Re-usable config
Shell
# cjs
simple-scaffold -c scaffold.cjs MyComponent \
-d '{"className": "myClassName","author": "My Name"}'
# mjs
simple-scaffold -c scaffold.mjs MyComponent \
-d '{"className": "myClassName","author": "My Name"}'
scaffold.cjs
module.exports = (config) => ({
default: {
templates: ["project/scaffold/**/*"],
output: ["src/components"],
data: {
className: "myClassName",
author: "My Name",
},
},
})
scaffold.mjs
export default (config) => ({
default: {
templates: ["project/scaffold/**/*"],
output: ["src/components"],
data: {
className: "myClassName",
author: "My Name",
},
},
})