create-mikrojs 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scaffold.d.ts +2 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +8 -2
- package/dist/scaffold.js.map +1 -1
- package/dist/templates/_common/env-example.d.ts +1 -1
- package/dist/templates/_common/env-example.d.ts.map +1 -1
- package/dist/templates/_common/env-example.js +10 -1
- package/dist/templates/_common/env-example.js.map +1 -1
- package/package.json +1 -1
- package/src/templates/_common/env-example.ts +10 -1
package/dist/scaffold.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ interface TemplateMeta {
|
|
|
6
6
|
wiring?: string;
|
|
7
7
|
/** true = generate WiFi credentials setup section */
|
|
8
8
|
wifiSetup?: boolean;
|
|
9
|
+
/** Env vars consumed by this template — listed in .env.example and .env */
|
|
10
|
+
envVars?: readonly string[];
|
|
9
11
|
}
|
|
10
12
|
export declare const TEMPLATES: readonly TemplateMeta[];
|
|
11
13
|
export interface ScaffoldOptions {
|
package/dist/scaffold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAc9D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAc9D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EA+EnC,CAAA;AAEV,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,QAuEhD"}
|
package/dist/scaffold.js
CHANGED
|
@@ -66,6 +66,7 @@ For long strips (>8 LEDs), power the strip from an external 5V supply, not the b
|
|
|
66
66
|
description: 'Connect to WiFi and fetch JSON from an HTTP API.',
|
|
67
67
|
hardware: 'Any ESP32 board with WiFi + a WiFi network with internet access.',
|
|
68
68
|
wifiSetup: true,
|
|
69
|
+
envVars: ['WIFI_SSID', 'WIFI_PASSPHRASE'],
|
|
69
70
|
},
|
|
70
71
|
{
|
|
71
72
|
name: 'wifi-access-point',
|
|
@@ -77,6 +78,7 @@ For long strips (>8 LEDs), power the strip from an external 5V supply, not the b
|
|
|
77
78
|
description: 'Sync the device clock via NTP so `new Date()` returns real wall-clock time.',
|
|
78
79
|
hardware: 'Any ESP32 board with WiFi + a WiFi network with internet access.',
|
|
79
80
|
wifiSetup: true,
|
|
81
|
+
envVars: ['WIFI_SSID', 'WIFI_PASSPHRASE'],
|
|
80
82
|
},
|
|
81
83
|
{
|
|
82
84
|
name: 'rtc-counter',
|
|
@@ -113,10 +115,14 @@ export function scaffold(options) {
|
|
|
113
115
|
}
|
|
114
116
|
fs.writeFileSync(path.join(targetDir, '.editorconfig'), editorconfig);
|
|
115
117
|
fs.writeFileSync(path.join(targetDir, '.gitignore'), gitignore);
|
|
116
|
-
fs.writeFileSync(path.join(targetDir, '.env.example'), envExample);
|
|
117
118
|
const templateMeta = TEMPLATES.find((t) => t.name === template);
|
|
119
|
+
const envFileContent = envExample(templateMeta?.envVars);
|
|
120
|
+
fs.writeFileSync(path.join(targetDir, '.env.example'), envFileContent);
|
|
121
|
+
// Also scaffold a .env (gitignored) so users can fill values in
|
|
122
|
+
// directly without copying from .env.example.
|
|
123
|
+
fs.writeFileSync(path.join(targetDir, '.env'), envFileContent);
|
|
118
124
|
const setup = templateMeta?.wifiSetup
|
|
119
|
-
? `Set your WiFi credentials on the device:\n\n\`\`\`sh\n${mikroCommand(pkgManager, 'env set WIFI_SSID YourNetworkName')}\n${mikroCommand(pkgManager, 'env set WIFI_PASSPHRASE
|
|
125
|
+
? `Set your WiFi credentials on the device:\n\n\`\`\`sh\n${mikroCommand(pkgManager, 'env set WIFI_SSID YourNetworkName --no-secret')}\n${mikroCommand(pkgManager, 'env set WIFI_PASSPHRASE')}\n\`\`\``
|
|
120
126
|
: undefined;
|
|
121
127
|
fs.writeFileSync(path.join(targetDir, 'README.md'), readme({
|
|
122
128
|
projectName,
|
package/dist/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,YAAY,EAAkB,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAA;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAA;AACjE,OAAO,EAAC,SAAS,EAAC,MAAM,kCAAkC,CAAA;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAA;AACpD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare function envExample(vars?: readonly string[]): string;
|
|
2
2
|
//# sourceMappingURL=env-example.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-example.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/env-example.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env-example.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/env-example.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAa/D"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/* Generate the contents of `.env.example` (and the gitignored `.env`)
|
|
2
|
+
* for a scaffolded project. If the template declares its consumed env
|
|
3
|
+
* vars in TEMPLATES.envVars, list them as empty assignments. Otherwise
|
|
4
|
+
* emit a generic header with a couple of commented-out examples. */
|
|
5
|
+
export function envExample(vars = []) {
|
|
6
|
+
if (vars.length > 0) {
|
|
7
|
+
return vars.map((v) => `${v}=`).join('\n') + '\n';
|
|
8
|
+
}
|
|
9
|
+
return `\
|
|
2
10
|
# Copy this file to .env and add environment variables for your project.
|
|
3
11
|
# .env, .env.development, .env.production, .env.test, and .env.simulator
|
|
4
12
|
# are auto-loaded by \`mikro\` and pushed to the device on deploy.
|
|
@@ -7,4 +15,5 @@ export const envExample = `\
|
|
|
7
15
|
# WIFI_SSID=
|
|
8
16
|
# WIFI_PASSPHRASE=
|
|
9
17
|
`;
|
|
18
|
+
}
|
|
10
19
|
//# sourceMappingURL=env-example.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-example.js","sourceRoot":"","sources":["../../../src/templates/_common/env-example.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"env-example.js","sourceRoot":"","sources":["../../../src/templates/_common/env-example.ts"],"names":[],"mappings":"AAAA;;;oEAGoE;AACpE,MAAM,UAAU,UAAU,CAAC,OAA0B,EAAE;IACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnD,CAAC;IACD,OAAO;;;;;;;;CAQR,CAAA;AACD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/* Generate the contents of `.env.example` (and the gitignored `.env`)
|
|
2
|
+
* for a scaffolded project. If the template declares its consumed env
|
|
3
|
+
* vars in TEMPLATES.envVars, list them as empty assignments. Otherwise
|
|
4
|
+
* emit a generic header with a couple of commented-out examples. */
|
|
5
|
+
export function envExample(vars: readonly string[] = []): string {
|
|
6
|
+
if (vars.length > 0) {
|
|
7
|
+
return vars.map((v) => `${v}=`).join('\n') + '\n'
|
|
8
|
+
}
|
|
9
|
+
return `\
|
|
2
10
|
# Copy this file to .env and add environment variables for your project.
|
|
3
11
|
# .env, .env.development, .env.production, .env.test, and .env.simulator
|
|
4
12
|
# are auto-loaded by \`mikro\` and pushed to the device on deploy.
|
|
@@ -7,3 +15,4 @@ export const envExample = `\
|
|
|
7
15
|
# WIFI_SSID=
|
|
8
16
|
# WIFI_PASSPHRASE=
|
|
9
17
|
`
|
|
18
|
+
}
|