create-mikrojs 0.6.1 → 0.7.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.
Files changed (69) hide show
  1. package/dist/index.js +0 -9
  2. package/dist/index.js.map +1 -1
  3. package/dist/inspect.js +0 -1
  4. package/dist/inspect.js.map +1 -1
  5. package/dist/scaffold.d.ts +0 -1
  6. package/dist/scaffold.d.ts.map +1 -1
  7. package/dist/scaffold.js +17 -17
  8. package/dist/scaffold.js.map +1 -1
  9. package/dist/scaffold.test.js +113 -95
  10. package/dist/scaffold.test.js.map +1 -1
  11. package/dist/templates/_common/dependencies.d.ts +1 -0
  12. package/dist/templates/_common/dependencies.d.ts.map +1 -1
  13. package/dist/templates/_common/dependencies.js +1 -0
  14. package/dist/templates/_common/dependencies.js.map +1 -1
  15. package/dist/templates/_common/eslint-config.d.ts +1 -1
  16. package/dist/templates/_common/eslint-config.d.ts.map +1 -1
  17. package/dist/templates/_common/eslint-config.js +10 -4
  18. package/dist/templates/_common/eslint-config.js.map +1 -1
  19. package/dist/templates/_common/mikro-config.d.ts +2 -0
  20. package/dist/templates/_common/mikro-config.d.ts.map +1 -0
  21. package/dist/templates/_common/mikro-config.js +6 -0
  22. package/dist/templates/_common/mikro-config.js.map +1 -0
  23. package/dist/templates/_common/package-json.d.ts +12 -12
  24. package/dist/templates/_common/package-json.d.ts.map +1 -1
  25. package/dist/templates/_common/package-json.js +10 -16
  26. package/dist/templates/_common/package-json.js.map +1 -1
  27. package/dist/templates/_common/prettier-config.d.ts +2 -0
  28. package/dist/templates/_common/prettier-config.d.ts.map +1 -0
  29. package/dist/templates/_common/prettier-config.js +5 -0
  30. package/dist/templates/_common/prettier-config.js.map +1 -0
  31. package/dist/templates/_common/tsconfig.d.ts +1 -2
  32. package/dist/templates/_common/tsconfig.d.ts.map +1 -1
  33. package/dist/templates/_common/tsconfig.js +32 -25
  34. package/dist/templates/_common/tsconfig.js.map +1 -1
  35. package/dist/templates/sntp/mikro.config.d.ts.map +1 -1
  36. package/dist/templates/sntp/mikro.config.js +3 -2
  37. package/dist/templates/sntp/mikro.config.js.map +1 -1
  38. package/dist/templates/wifi-access-point/mikro.config.d.ts.map +1 -1
  39. package/dist/templates/wifi-access-point/mikro.config.js +3 -2
  40. package/dist/templates/wifi-access-point/mikro.config.js.map +1 -1
  41. package/dist/templates/wifi-fetch/mikro.config.d.ts.map +1 -1
  42. package/dist/templates/wifi-fetch/mikro.config.js +3 -2
  43. package/dist/templates/wifi-fetch/mikro.config.js.map +1 -1
  44. package/package.json +6 -2
  45. package/src/templates/_common/dependencies.ts +1 -0
  46. package/src/templates/_common/eslint-config.ts +10 -4
  47. package/src/templates/_common/mikro-config.ts +5 -0
  48. package/src/templates/_common/package-json.ts +9 -18
  49. package/src/templates/_common/prettier-config.ts +4 -0
  50. package/src/templates/_common/tsconfig.ts +31 -25
  51. package/src/templates/blank/app/main.ts +2 -2
  52. package/src/templates/blinky/app/main.ts +9 -9
  53. package/src/templates/neopixel/app/color.ts +11 -11
  54. package/src/templates/neopixel/app/main.ts +14 -14
  55. package/src/templates/neopixel/app/patterns/breathe.ts +15 -15
  56. package/src/templates/neopixel/app/patterns/color-wipe.ts +20 -20
  57. package/src/templates/neopixel/app/patterns/comet.ts +20 -20
  58. package/src/templates/neopixel/app/patterns/rainbow.ts +15 -15
  59. package/src/templates/neopixel/app/patterns/sparkle.ts +16 -16
  60. package/src/templates/pwm-led/app/main.ts +9 -9
  61. package/src/templates/rtc-counter/app/main.ts +13 -11
  62. package/src/templates/sntp/app/main.ts +19 -17
  63. package/src/templates/sntp/env.d.ts +2 -2
  64. package/src/templates/sntp/mikro.config.ts +4 -3
  65. package/src/templates/wifi-access-point/app/main.ts +16 -16
  66. package/src/templates/wifi-access-point/mikro.config.ts +4 -3
  67. package/src/templates/wifi-fetch/app/main.ts +17 -17
  68. package/src/templates/wifi-fetch/env.d.ts +2 -2
  69. package/src/templates/wifi-fetch/mikro.config.ts +4 -3
package/dist/index.js CHANGED
@@ -65,14 +65,6 @@ async function main(config) {
65
65
  p.cancel('Cancelled.');
66
66
  process.exit(0);
67
67
  }
68
- const typescript = await p.confirm({
69
- message: 'Use TypeScript?',
70
- initialValue: true,
71
- });
72
- if (p.isCancel(typescript)) {
73
- p.cancel('Cancelled.');
74
- process.exit(0);
75
- }
76
68
  const targetDir = path.resolve(process.cwd(), projectName);
77
69
  const isCwd = targetDir === process.cwd();
78
70
  const pkgName = isCwd ? path.basename(targetDir) : projectName;
@@ -92,7 +84,6 @@ async function main(config) {
92
84
  template,
93
85
  projectName: pkgName,
94
86
  mikrojsVersion: pkg.version,
95
- typescript,
96
87
  templatesDir,
97
88
  pkgManager: pm,
98
89
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/inspect.js CHANGED
@@ -26,7 +26,6 @@ scaffold({
26
26
  template,
27
27
  projectName: 'my-project',
28
28
  mikrojsVersion: '0.0.0',
29
- typescript: true,
30
29
  templatesDir,
31
30
  pkgManager: 'npm',
32
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AACxE,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAA;AAC9B,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAA;AAC3E,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAQ,EAAE,WAAW,CAAC,CAAA;AAEjE,aAAa;AACb,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AAC5D,IAAI,QAA4B,CAAA;AAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACtB,CAAC;AACH,CAAC;AAED,IAAI,CAAC,QAAQ,IAAI,CAAE,aAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACrD,OAAO,CAAC,KAAK,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;AAEnD,QAAQ,CAAC;IACP,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,OAAO;IACvB,YAAY;IACZ,UAAU,EAAE,KAAK;CAClB,CAAC,CAAA;AAEF,4DAA4D;AAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;AACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AAC7C,SAAS,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;AACpC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;AAC7D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AACtF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAExF,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,UAAU,UAAU,EAAE,CAAC,CAAA;AAE5D,iCAAiC;AACjC,MAAM,KAAK,GAAI,WAAW,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAC,CAAc,CAAC,MAAM,CACjG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CACrC,CAAA;AACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAA;AAChD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;AAE5C,IAAI,CAAC;IACH,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,EAAE,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAC,CAAC,CAAA;AACjF,CAAC;QAAS,CAAC;IACT,QAAQ,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA;AACtC,CAAC"}
@@ -15,7 +15,6 @@ export interface ScaffoldOptions {
15
15
  template: string;
16
16
  projectName: string;
17
17
  mikrojsVersion: string;
18
- typescript?: boolean;
19
18
  templatesDir: string;
20
19
  pkgManager: PkgManager;
21
20
  }
@@ -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;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"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAgB9D,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,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,QA6DhD"}
package/dist/scaffold.js CHANGED
@@ -6,9 +6,11 @@ import { editorconfig } from './templates/_common/editorconfig.js';
6
6
  import { envExample } from './templates/_common/env-example.js';
7
7
  import { eslintConfig } from './templates/_common/eslint-config.js';
8
8
  import { gitignore } from './templates/_common/gitignore.js';
9
+ import { mikroConfig } from './templates/_common/mikro-config.js';
9
10
  import { packageJson } from './templates/_common/package-json.js';
11
+ import { prettierConfig } from './templates/_common/prettier-config.js';
10
12
  import { readme } from './templates/_common/readme.js';
11
- import { tsconfig } from './templates/_common/tsconfig.js';
13
+ import { tsconfigJson } from './templates/_common/tsconfig.js';
12
14
  export const TEMPLATES = [
13
15
  {
14
16
  name: 'blank',
@@ -87,7 +89,7 @@ For long strips (>8 LEDs), power the strip from an external 5V supply, not the b
87
89
  },
88
90
  ];
89
91
  export function scaffold(options) {
90
- const { targetDir, template, projectName, mikrojsVersion, typescript = true, templatesDir, pkgManager, } = options;
92
+ const { targetDir, template, projectName, mikrojsVersion, templatesDir, pkgManager } = options;
91
93
  // Create project directory
92
94
  fs.mkdirSync(targetDir, { recursive: true });
93
95
  // Copy template files
@@ -96,22 +98,20 @@ export function scaffold(options) {
96
98
  // Write shared files
97
99
  fs.writeFileSync(path.join(targetDir, 'package.json'), JSON.stringify(packageJson(projectName, {
98
100
  dependencies: { ...dependencies, mikrojs: `^${mikrojsVersion}` },
99
- devDependencies: typescript
100
- ? {
101
- ...devDependencies,
102
- ...eslintDevDependencies,
103
- '@mikrojs/eslint-plugin': `^${mikrojsVersion}`,
104
- }
105
- : undefined,
106
- typescript,
101
+ devDependencies: {
102
+ ...devDependencies,
103
+ ...eslintDevDependencies,
104
+ '@mikrojs/eslint-plugin': `^${mikrojsVersion}`,
105
+ },
107
106
  }), null, 2) + '\n');
108
- if (typescript) {
109
- const hasEnvDts = fs.existsSync(path.join(targetDir, 'env.d.ts'));
110
- const tsconfigWithIncludes = hasEnvDts
111
- ? { ...tsconfig, include: ['env.d.ts', ...(tsconfig.include ?? [])] }
112
- : tsconfig;
113
- fs.writeFileSync(path.join(targetDir, 'tsconfig.json'), JSON.stringify(tsconfigWithIncludes, null, 2) + '\n');
114
- fs.writeFileSync(path.join(targetDir, 'eslint.config.js'), eslintConfig);
107
+ const hasEnvDts = fs.existsSync(path.join(targetDir, 'env.d.ts'));
108
+ fs.writeFileSync(path.join(targetDir, 'tsconfig.json'), tsconfigJson(hasEnvDts ? ['env.d.ts'] : []));
109
+ fs.writeFileSync(path.join(targetDir, 'eslint.config.js'), eslintConfig);
110
+ fs.writeFileSync(path.join(targetDir, '.prettierrc.json'), prettierConfig);
111
+ // Write a default mikro.config.ts unless the template ships its own.
112
+ const mikroConfigPath = path.join(targetDir, 'mikro.config.ts');
113
+ if (!fs.existsSync(mikroConfigPath)) {
114
+ fs.writeFileSync(mikroConfigPath, mikroConfig);
115
115
  }
116
116
  fs.writeFileSync(path.join(targetDir, '.editorconfig'), editorconfig);
117
117
  fs.writeFileSync(path.join(targetDir, '.gitignore'), gitignore);
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { execFileSync } from 'node:child_process';
2
- import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, symlinkSync } from 'node:fs';
2
+ import { mkdirSync, mkdtempSync, readFileSync, rmSync, symlinkSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
4
  import path from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
@@ -9,9 +9,42 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
9
  const templatesDir = __dirname + '/templates';
10
10
  const mikrojsPkgDir = path.resolve(__dirname, '..', '..', 'mikrojs');
11
11
  const createMikrojsPkgDir = path.resolve(__dirname, '..');
12
- const tscBin = path.resolve(createMikrojsPkgDir, 'node_modules', '.bin', 'tsc');
13
- // Extra packages needed for type-checking specific templates
12
+ const workspaceRoot = path.resolve(__dirname, '..', '..', '..');
13
+ const cmNodeModules = path.resolve(createMikrojsPkgDir, 'node_modules');
14
+ const tscBin = path.resolve(cmNodeModules, '.bin', 'tsc');
15
+ const eslintBin = path.resolve(cmNodeModules, '.bin', 'eslint');
16
+ const prettierBin = path.resolve(cmNodeModules, '.bin', 'prettier');
17
+ // Packages the scaffolded project's eslint/prettier/tsc need to resolve.
18
+ // Paths point at the workspace install so the test doesn't actually
19
+ // install anything into the temp project.
20
+ const DEPS_TO_LINK = [
21
+ [mikrojsPkgDir, 'mikrojs'],
22
+ [path.join(cmNodeModules, 'eslint'), 'eslint'],
23
+ [path.join(cmNodeModules, 'prettier'), 'prettier'],
24
+ [path.join(cmNodeModules, 'typescript'), 'typescript'],
25
+ [path.join(cmNodeModules, 'typescript-eslint'), 'typescript-eslint'],
26
+ [path.join(cmNodeModules, '@mikrojs/eslint-plugin'), '@mikrojs/eslint-plugin'],
27
+ [path.join(workspaceRoot, 'node_modules/@eslint/js'), '@eslint/js'],
28
+ ];
29
+ // Extra packages needed for specific templates beyond DEPS_TO_LINK.
14
30
  const EXTRA_TYPE_DEPS = {};
31
+ function installDeps(targetDir, name) {
32
+ const nodeModules = path.join(targetDir, 'node_modules');
33
+ mkdirSync(nodeModules, { recursive: true });
34
+ for (const [src, rel] of DEPS_TO_LINK) {
35
+ const dst = path.join(nodeModules, rel);
36
+ mkdirSync(path.dirname(dst), { recursive: true });
37
+ symlinkSync(src, dst);
38
+ }
39
+ const extras = EXTRA_TYPE_DEPS[name];
40
+ if (extras) {
41
+ for (const [pkg, pkgPath] of Object.entries(extras)) {
42
+ const dst = path.join(nodeModules, pkg);
43
+ mkdirSync(path.dirname(dst), { recursive: true });
44
+ symlinkSync(pkgPath, dst);
45
+ }
46
+ }
47
+ }
15
48
  describe.each(TEMPLATES)('template: $name', ({ name }) => {
16
49
  let tempDir;
17
50
  let targetDir;
@@ -22,102 +55,87 @@ describe.each(TEMPLATES)('template: $name', ({ name }) => {
22
55
  afterEach(() => {
23
56
  rmSync(tempDir, { recursive: true, force: true });
24
57
  });
25
- describe('with typescript', () => {
26
- beforeEach(() => {
27
- scaffold({
28
- targetDir,
29
- template: name,
30
- projectName: 'test-project',
31
- mikrojsVersion: '0.0.0',
32
- typescript: true,
33
- templatesDir,
34
- pkgManager: 'npm',
35
- });
36
- });
37
- it('creates package.json with correct fields', () => {
38
- const pkg = JSON.parse(readFileSync(path.join(targetDir, 'package.json'), 'utf-8'));
39
- expect(pkg.name).toBe('test-project');
40
- expect(pkg.type).toBe('module');
41
- expect(pkg.main).toBe('./app/main.ts');
42
- expect(pkg.dependencies.mikrojs).toBe('^0.0.0');
43
- expect(pkg.devDependencies.typescript).toBeDefined();
44
- expect(pkg.scripts.lint).toBe('eslint .');
45
- expect(pkg.scripts.typecheck).toBe('tsc --noEmit --pretty');
46
- expect(pkg.scripts.dev).toBeUndefined();
47
- expect(pkg.scripts.flash).toBeUndefined();
48
- expect(pkg.engines).toBeUndefined();
49
- });
50
- it('creates tsconfig.json with mikrojs runtime types', () => {
51
- const tsconfig = JSON.parse(readFileSync(path.join(targetDir, 'tsconfig.json'), 'utf-8'));
52
- expect(tsconfig.compilerOptions.types).toContain('mikrojs/runtime');
53
- expect(tsconfig.include).toContain('app/**/*');
54
- });
55
- it('creates .gitignore', () => {
56
- const content = readFileSync(path.join(targetDir, '.gitignore'), 'utf-8');
57
- expect(content).toContain('node_modules');
58
- expect(content).toContain('.mikro');
59
- });
60
- it('creates .editorconfig', () => {
61
- const content = readFileSync(path.join(targetDir, '.editorconfig'), 'utf-8');
62
- expect(content).toContain('root = true');
63
- expect(content).toContain('indent_style');
64
- });
65
- it('creates eslint.config.js with mikrojs plugin', () => {
66
- const content = readFileSync(path.join(targetDir, 'eslint.config.js'), 'utf-8');
67
- expect(content).toContain('@mikrojs/eslint-plugin');
68
- const pkg = JSON.parse(readFileSync(path.join(targetDir, 'package.json'), 'utf-8'));
69
- expect(pkg.devDependencies.eslint).toBeDefined();
70
- expect(pkg.devDependencies['@mikrojs/eslint-plugin']).toBeDefined();
71
- });
72
- it('creates app/main.ts', () => {
73
- const content = readFileSync(path.join(targetDir, 'app', 'main.ts'), 'utf-8');
74
- expect(content.length).toBeGreaterThan(0);
75
- });
76
- it('type-checks against mikrojs types', () => {
77
- // Symlink the workspace mikrojs package so tsc can resolve types
78
- const nodeModules = path.join(targetDir, 'node_modules');
79
- mkdirSync(nodeModules, { recursive: true });
80
- symlinkSync(mikrojsPkgDir, path.join(nodeModules, 'mikrojs'));
81
- // Symlink any extra dependencies needed for this template
82
- const extras = EXTRA_TYPE_DEPS[name];
83
- if (extras) {
84
- for (const [pkg, pkgPath] of Object.entries(extras)) {
85
- const dest = path.join(nodeModules, pkg);
86
- mkdirSync(path.dirname(dest), { recursive: true });
87
- symlinkSync(pkgPath, dest);
88
- }
89
- }
90
- execFileSync(tscBin, ['--noEmit'], {
91
- cwd: targetDir,
92
- stdio: 'pipe',
93
- env: { ...process.env, NODE_OPTIONS: '' },
94
- });
58
+ beforeEach(() => {
59
+ scaffold({
60
+ targetDir,
61
+ template: name,
62
+ projectName: 'test-project',
63
+ mikrojsVersion: '0.0.0',
64
+ templatesDir,
65
+ pkgManager: 'npm',
95
66
  });
96
67
  });
97
- describe('without typescript', () => {
98
- beforeEach(() => {
99
- scaffold({
100
- targetDir,
101
- template: name,
102
- projectName: 'test-project',
103
- mikrojsVersion: '0.0.0',
104
- typescript: false,
105
- templatesDir,
106
- pkgManager: 'npm',
107
- });
108
- });
109
- it('does not include typescript in devDependencies', () => {
110
- const pkg = JSON.parse(readFileSync(path.join(targetDir, 'package.json'), 'utf-8'));
111
- expect(pkg.devDependencies).toBeUndefined();
112
- });
113
- it('does not create tsconfig.json', () => {
114
- expect(existsSync(path.join(targetDir, 'tsconfig.json'))).toBe(false);
68
+ it('creates package.json with correct fields', () => {
69
+ const pkg = JSON.parse(readFileSync(path.join(targetDir, 'package.json'), 'utf-8'));
70
+ expect(pkg.name).toBe('test-project');
71
+ expect(pkg.type).toBe('module');
72
+ expect(pkg.main).toBe('./app/main.ts');
73
+ expect(pkg.dependencies.mikrojs).toBe('^0.0.0');
74
+ expect(pkg.devDependencies.typescript).toBeDefined();
75
+ expect(pkg.devDependencies.prettier).toBeDefined();
76
+ expect(pkg.scripts.lint).toBe('eslint .');
77
+ expect(pkg.scripts.typecheck).toBe('tsc --noEmit --pretty');
78
+ expect(pkg.scripts.format).toBe('prettier --write .');
79
+ expect(pkg.scripts['format:check']).toBe('prettier --check .');
80
+ expect(pkg.scripts.dev).toBeUndefined();
81
+ expect(pkg.scripts.flash).toBeUndefined();
82
+ expect(pkg.engines).toBeUndefined();
83
+ });
84
+ it('creates tsconfig.json with mikrojs runtime types', () => {
85
+ const tsconfig = JSON.parse(readFileSync(path.join(targetDir, 'tsconfig.json'), 'utf-8'));
86
+ expect(tsconfig.compilerOptions.types).toContain('mikrojs/runtime');
87
+ expect(tsconfig.include).toContain('app/**/*');
88
+ expect(tsconfig.include).toContain('mikro.config.ts');
89
+ });
90
+ it('creates .gitignore', () => {
91
+ const content = readFileSync(path.join(targetDir, '.gitignore'), 'utf-8');
92
+ expect(content).toContain('node_modules');
93
+ expect(content).toContain('.mikro');
94
+ });
95
+ it('creates .editorconfig', () => {
96
+ const content = readFileSync(path.join(targetDir, '.editorconfig'), 'utf-8');
97
+ expect(content).toContain('root = true');
98
+ expect(content).toContain('indent_style');
99
+ });
100
+ it('creates eslint.config.js with mikrojs plugin', () => {
101
+ const content = readFileSync(path.join(targetDir, 'eslint.config.js'), 'utf-8');
102
+ expect(content).toContain('@mikrojs/eslint-plugin');
103
+ const pkg = JSON.parse(readFileSync(path.join(targetDir, 'package.json'), 'utf-8'));
104
+ expect(pkg.devDependencies.eslint).toBeDefined();
105
+ expect(pkg.devDependencies['@mikrojs/eslint-plugin']).toBeDefined();
106
+ });
107
+ it('creates app/main.ts', () => {
108
+ const content = readFileSync(path.join(targetDir, 'app', 'main.ts'), 'utf-8');
109
+ expect(content.length).toBeGreaterThan(0);
110
+ });
111
+ it('creates mikro.config.ts with defineConfig', () => {
112
+ const content = readFileSync(path.join(targetDir, 'mikro.config.ts'), 'utf-8');
113
+ expect(content).toContain('from "mikrojs"');
114
+ expect(content).toContain('defineConfig');
115
+ expect(content).toContain('https://mikrojs.dev/config');
116
+ });
117
+ it('type-checks against mikrojs types', () => {
118
+ installDeps(targetDir, name);
119
+ execFileSync(tscBin, ['--noEmit'], {
120
+ cwd: targetDir,
121
+ stdio: 'pipe',
122
+ env: { ...process.env, NODE_OPTIONS: '' },
115
123
  });
116
- it('does not create eslint config', () => {
117
- expect(existsSync(path.join(targetDir, 'eslint.config.js'))).toBe(false);
124
+ });
125
+ it('passes eslint', () => {
126
+ installDeps(targetDir, name);
127
+ execFileSync(eslintBin, ['--max-warnings=0', '.'], {
128
+ cwd: targetDir,
129
+ stdio: 'pipe',
130
+ env: { ...process.env, NODE_OPTIONS: '' },
118
131
  });
119
- it('still creates .editorconfig', () => {
120
- expect(existsSync(path.join(targetDir, '.editorconfig'))).toBe(true);
132
+ });
133
+ it('passes prettier --check', () => {
134
+ installDeps(targetDir, name);
135
+ execFileSync(prettierBin, ['--check', '.'], {
136
+ cwd: targetDir,
137
+ stdio: 'pipe',
138
+ env: { ...process.env, NODE_OPTIONS: '' },
121
139
  });
122
140
  });
123
141
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../src/scaffold.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../src/scaffold.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare const dependencies: {
2
2
  mikrojs: string;
3
3
  };
4
4
  export declare const devDependencies: {
5
+ prettier: string;
5
6
  typescript: string;
6
7
  };
7
8
  export declare const eslintDevDependencies: {
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/dependencies.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;CAEc,CAAA;AAEvC,eAAO,MAAM,eAAe;;CAEc,CAAA;AAE1C,eAAO,MAAM,qBAAqB;;;;CAIQ,CAAA"}
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/dependencies.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;CAEc,CAAA;AAEvC,eAAO,MAAM,eAAe;;;CAGc,CAAA;AAE1C,eAAO,MAAM,qBAAqB;;;;CAIQ,CAAA"}
@@ -2,6 +2,7 @@ export const dependencies = {
2
2
  mikrojs: 'latest',
3
3
  };
4
4
  export const devDependencies = {
5
+ prettier: '^3.4.0',
5
6
  typescript: '^6.0.3',
6
7
  };
7
8
  export const eslintDevDependencies = {
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/templates/_common/dependencies.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,QAAQ;CACoB,CAAA;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,QAAQ;CACoB,CAAA;AAE1C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,SAAS;IACjB,mBAAmB,EAAE,SAAS;CACU,CAAA"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/templates/_common/dependencies.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,QAAQ;CACoB,CAAA;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;CACoB,CAAA;AAE1C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,SAAS;IACjB,mBAAmB,EAAE,SAAS;CACU,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const eslintConfig = "import js from '@eslint/js'\nimport mikrojs from '@mikrojs/eslint-plugin'\nimport tseslint from 'typescript-eslint'\n\nexport default [\n js.configs.recommended,\n ...tseslint.configs.recommended,\n ...mikrojs.configs.recommended,\n]\n";
1
+ export declare const eslintConfig = "import js from \"@eslint/js\";\nimport mikrojs from \"@mikrojs/eslint-plugin\";\nimport tseslint from \"typescript-eslint\";\n\nexport default [\n js.configs.recommended,\n ...tseslint.configs.recommended,\n {\n files: [\"**/*.ts\", \"**/*.tsx\"],\n languageOptions: {\n parserOptions: { projectService: true },\n },\n },\n ...mikrojs.configs.recommended,\n];\n";
2
2
  //# sourceMappingURL=eslint-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-config.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/eslint-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,mPAUxB,CAAA"}
1
+ {"version":3,"file":"eslint-config.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/eslint-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iYAgBxB,CAAA"}
@@ -1,12 +1,18 @@
1
1
  export const eslintConfig = `\
2
- import js from '@eslint/js'
3
- import mikrojs from '@mikrojs/eslint-plugin'
4
- import tseslint from 'typescript-eslint'
2
+ import js from "@eslint/js";
3
+ import mikrojs from "@mikrojs/eslint-plugin";
4
+ import tseslint from "typescript-eslint";
5
5
 
6
6
  export default [
7
7
  js.configs.recommended,
8
8
  ...tseslint.configs.recommended,
9
+ {
10
+ files: ["**/*.ts", "**/*.tsx"],
11
+ languageOptions: {
12
+ parserOptions: { projectService: true },
13
+ },
14
+ },
9
15
  ...mikrojs.configs.recommended,
10
- ]
16
+ ];
11
17
  `;
12
18
  //# sourceMappingURL=eslint-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-config.js","sourceRoot":"","sources":["../../../src/templates/_common/eslint-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;CAU3B,CAAA"}
1
+ {"version":3,"file":"eslint-config.js","sourceRoot":"","sources":["../../../src/templates/_common/eslint-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;CAgB3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const mikroConfig = "import { defineConfig } from \"mikrojs\";\n\n// Project configuration. See https://mikrojs.dev/config for all options.\nexport default defineConfig({});\n";
2
+ //# sourceMappingURL=mikro-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mikro-config.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/mikro-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,+JAIvB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export const mikroConfig = `import { defineConfig } from "mikrojs";
2
+
3
+ // Project configuration. See https://mikrojs.dev/config for all options.
4
+ export default defineConfig({});
5
+ `;
6
+ //# sourceMappingURL=mikro-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mikro-config.js","sourceRoot":"","sources":["../../../src/templates/_common/mikro-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;;;;CAI1B,CAAA"}
@@ -1,23 +1,23 @@
1
1
  import type { PackageJson } from 'type-fest';
2
- export declare function packageJson(name: string, { devDependencies, dependencies, typescript, }?: {
2
+ export declare function packageJson(name: string, { devDependencies, dependencies, }?: {
3
3
  dependencies?: PackageJson['devDependencies'];
4
4
  devDependencies?: PackageJson['dependencies'];
5
- /** Include the tsc predeploy hook. */
6
- typescript?: boolean;
7
5
  }): {
8
- mikrojs?: {
9
- predeploy: string[];
10
- } | undefined;
11
- dependencies: {};
12
- devDependencies: {};
13
- scripts?: {
14
- lint: string;
15
- typecheck: string;
16
- } | undefined;
17
6
  name: string;
18
7
  version: string;
19
8
  private: true;
20
9
  type: "module";
21
10
  main: string;
11
+ scripts: {
12
+ format: string;
13
+ 'format:check': string;
14
+ lint: string;
15
+ typecheck: string;
16
+ };
17
+ dependencies: {};
18
+ devDependencies: {};
19
+ mikrojs: {
20
+ predeploy: string[];
21
+ };
22
22
  };
23
23
  //# sourceMappingURL=package-json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,EACE,eAAe,EACf,YAAY,EACZ,UAAU,GACX,GAAE;IACD,YAAY,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAC7C,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChB;;;;kBAgB0B,EAAE;qBACI,EAAE;;;;;;;;;;EASzC"}
1
+ {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,EACE,eAAe,EACf,YAAY,GACb,GAAE;IACD,YAAY,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;CACzC;;;;;;;;;;;;kBAc0B,EAAE;qBACI,EAAE;;;;EAKzC"}
@@ -1,27 +1,21 @@
1
- export function packageJson(name, { devDependencies, dependencies, typescript, } = {}) {
1
+ export function packageJson(name, { devDependencies, dependencies, } = {}) {
2
2
  return {
3
3
  name,
4
4
  version: '0.0.0',
5
5
  private: true,
6
6
  type: 'module',
7
7
  main: './app/main.ts',
8
- ...(typescript
9
- ? {
10
- scripts: {
11
- lint: 'eslint .',
12
- typecheck: 'tsc --noEmit --pretty',
13
- },
14
- }
15
- : {}),
8
+ scripts: {
9
+ format: 'prettier --write .',
10
+ 'format:check': 'prettier --check .',
11
+ lint: 'eslint .',
12
+ typecheck: 'tsc --noEmit --pretty',
13
+ },
16
14
  dependencies: dependencies,
17
15
  devDependencies: devDependencies,
18
- ...(typescript
19
- ? {
20
- mikrojs: {
21
- predeploy: ['tsc --noEmit --pretty'],
22
- },
23
- }
24
- : {}),
16
+ mikrojs: {
17
+ predeploy: ['tsc --noEmit --pretty'],
18
+ },
25
19
  };
26
20
  }
27
21
  //# sourceMappingURL=package-json.js.map