create-mikrojs 0.0.7 → 0.1.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 (38) hide show
  1. package/dist/index.js +24 -7
  2. package/dist/index.js.map +1 -1
  3. package/dist/pkg-manager.d.ts +2 -1
  4. package/dist/pkg-manager.d.ts.map +1 -1
  5. package/dist/pkg-manager.js +13 -2
  6. package/dist/pkg-manager.js.map +1 -1
  7. package/dist/scaffold.d.ts +1 -1
  8. package/dist/scaffold.d.ts.map +1 -1
  9. package/dist/scaffold.js +15 -5
  10. package/dist/scaffold.js.map +1 -1
  11. package/dist/scaffold.test.js +23 -4
  12. package/dist/scaffold.test.js.map +1 -1
  13. package/dist/templates/_common/dependencies.d.ts +5 -0
  14. package/dist/templates/_common/dependencies.d.ts.map +1 -1
  15. package/dist/templates/_common/dependencies.js +6 -1
  16. package/dist/templates/_common/dependencies.js.map +1 -1
  17. package/dist/templates/_common/editorconfig.d.ts +2 -0
  18. package/dist/templates/_common/editorconfig.d.ts.map +1 -0
  19. package/dist/templates/_common/editorconfig.js +12 -0
  20. package/dist/templates/_common/editorconfig.js.map +1 -0
  21. package/dist/templates/_common/eslint-config.d.ts +2 -0
  22. package/dist/templates/_common/eslint-config.d.ts.map +1 -0
  23. package/dist/templates/_common/eslint-config.js +12 -0
  24. package/dist/templates/_common/eslint-config.js.map +1 -0
  25. package/dist/templates/_common/package-json.d.ts +6 -5
  26. package/dist/templates/_common/package-json.d.ts.map +1 -1
  27. package/dist/templates/_common/package-json.js +8 -3
  28. package/dist/templates/_common/package-json.js.map +1 -1
  29. package/dist/templates/_common/readme.d.ts +1 -1
  30. package/dist/templates/_common/readme.d.ts.map +1 -1
  31. package/dist/templates/_common/readme.js +1 -5
  32. package/dist/templates/_common/readme.js.map +1 -1
  33. package/package.json +2 -2
  34. package/src/templates/_common/dependencies.ts +7 -1
  35. package/src/templates/_common/editorconfig.ts +11 -0
  36. package/src/templates/_common/eslint-config.ts +11 -0
  37. package/src/templates/_common/package-json.ts +8 -3
  38. package/src/templates/_common/readme.ts +1 -6
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { defineProgram } from '@optique/core/program';
8
8
  import { string } from '@optique/core/valueparser';
9
9
  import { run } from '@optique/run';
10
10
  import { printLogo } from './logo.js';
11
- import { detectPkgManager, installCommand } from './pkg-manager.js';
11
+ import { detectPkgManager, installCommand, mikroCommand } from './pkg-manager.js';
12
12
  import { scaffold, TEMPLATES } from './scaffold.js';
13
13
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
14
14
  const templatesDir = path.resolve(__dirname, '..', 'src', 'templates');
@@ -31,7 +31,7 @@ const prog = defineProgram({
31
31
  async function main(config) {
32
32
  const templateNames = TEMPLATES.map((t) => t.name);
33
33
  printLogo();
34
- p.intro('Create a new Mikro.js project');
34
+ p.intro(`Create a new Mikro.js project (v${pkg.version})`);
35
35
  const projectName = config.name ||
36
36
  (await p.text({
37
37
  message: 'Project name',
@@ -74,7 +74,15 @@ async function main(config) {
74
74
  process.exit(0);
75
75
  }
76
76
  const targetDir = path.resolve(process.cwd(), projectName);
77
- if (fs.existsSync(targetDir) && fs.readdirSync(targetDir).length > 0) {
77
+ const isCwd = targetDir === process.cwd();
78
+ const pkgName = isCwd ? path.basename(targetDir) : projectName;
79
+ if (isCwd) {
80
+ if (fs.existsSync(path.join(targetDir, 'package.json'))) {
81
+ p.cancel('Current directory already contains a package.json.');
82
+ process.exit(1);
83
+ }
84
+ }
85
+ else if (fs.existsSync(targetDir) && fs.readdirSync(targetDir).length > 0) {
78
86
  p.cancel(`Directory "${projectName}" already exists and is not empty.`);
79
87
  process.exit(1);
80
88
  }
@@ -82,16 +90,25 @@ async function main(config) {
82
90
  scaffold({
83
91
  targetDir,
84
92
  template,
85
- projectName,
93
+ projectName: pkgName,
86
94
  mikrojsVersion: pkg.version,
87
95
  typescript,
88
96
  templatesDir,
89
97
  pkgManager: pm,
90
98
  });
91
- const mikro = pm === 'npm' ? 'npx mikro' : 'pnpm mikro';
92
- const steps = [`cd ${projectName}`, installCommand(pm), `${mikro} dev`];
99
+ const templateMeta = TEMPLATES.find((t) => t.name === template);
100
+ const steps = [];
101
+ if (!isCwd)
102
+ steps.push(`cd ${projectName}`);
103
+ steps.push(installCommand(pm));
104
+ steps.push('# connect your ESP32 via USB');
105
+ steps.push(mikroCommand(pm, 'flash'));
106
+ if (templateMeta?.wifiSetup) {
107
+ steps.push('# set WIFI_SSID and WIFI_PASSPHRASE — see README.md');
108
+ }
109
+ steps.push(mikroCommand(pm, 'dev'));
93
110
  p.note(steps.join('\n'), 'Next steps');
94
- p.outro(`Project created in ${projectName}/`);
111
+ p.outro(isCwd ? 'Project created in current directory.' : `Project created in ${projectName}/`);
95
112
  }
96
113
  const config = run(prog, {
97
114
  help: 'both',
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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"}
@@ -1,5 +1,6 @@
1
- export type PkgManager = 'npm' | 'pnpm';
1
+ export type PkgManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
2
2
  export declare function detectPkgManager(): PkgManager;
3
3
  export declare function installCommand(pm: PkgManager): string;
4
4
  export declare function runCommand(pm: PkgManager, script: string): string;
5
+ export declare function mikroCommand(pm: PkgManager, cmd: string): string;
5
6
  //# sourceMappingURL=pkg-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pkg-manager.d.ts","sourceRoot":"","sources":["../src/pkg-manager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,CAAA;AAEvC,wBAAgB,gBAAgB,IAAI,UAAU,CAI7C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE"}
1
+ {"version":3,"file":"pkg-manager.d.ts","sourceRoot":"","sources":["../src/pkg-manager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAExD,wBAAgB,gBAAgB,IAAI,UAAU,CAM7C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhE"}
@@ -2,14 +2,25 @@ export function detectPkgManager() {
2
2
  const userAgent = process.env.npm_config_user_agent;
3
3
  if (userAgent?.startsWith('pnpm/'))
4
4
  return 'pnpm';
5
+ if (userAgent?.startsWith('yarn/'))
6
+ return 'yarn';
7
+ if (userAgent?.startsWith('bun/'))
8
+ return 'bun';
5
9
  return 'npm';
6
10
  }
7
11
  export function installCommand(pm) {
8
12
  return `${pm} install`;
9
13
  }
10
14
  export function runCommand(pm, script) {
15
+ if (pm === 'npm' || pm === 'bun')
16
+ return `${pm} run ${script}`;
17
+ return `${pm} ${script}`;
18
+ }
19
+ export function mikroCommand(pm, cmd) {
11
20
  if (pm === 'npm')
12
- return `npm run ${script}`;
13
- return `pnpm ${script}`;
21
+ return `npx mikro ${cmd}`;
22
+ if (pm === 'bun')
23
+ return `bunx mikro ${cmd}`;
24
+ return `${pm} mikro ${cmd}`;
14
25
  }
15
26
  //# sourceMappingURL=pkg-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pkg-manager.js","sourceRoot":"","sources":["../src/pkg-manager.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;IACnD,IAAI,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IACjD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAc;IAC3C,OAAO,GAAG,EAAE,UAAU,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,MAAc;IACvD,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,WAAW,MAAM,EAAE,CAAA;IAC5C,OAAO,QAAQ,MAAM,EAAE,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"pkg-manager.js","sourceRoot":"","sources":["../src/pkg-manager.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;IACnD,IAAI,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IACjD,IAAI,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IACjD,IAAI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/C,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAc;IAC3C,OAAO,GAAG,EAAE,UAAU,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,MAAc;IACvD,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,EAAE,QAAQ,MAAM,EAAE,CAAA;IAC9D,OAAO,GAAG,EAAE,IAAI,MAAM,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,GAAW;IACtD,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,aAAa,GAAG,EAAE,CAAA;IAC3C,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,cAAc,GAAG,EAAE,CAAA;IAC5C,OAAO,GAAG,EAAE,UAAU,GAAG,EAAE,CAAA;AAC7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PkgManager } from './pkg-manager.js';
1
+ import { type PkgManager } from './pkg-manager.js';
2
2
  interface TemplateMeta {
3
3
  name: string;
4
4
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAQhD,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;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EA6EnC,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,QA4DhD"}
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;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EA6EnC,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,QAmEhD"}
package/dist/scaffold.js CHANGED
@@ -1,7 +1,10 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
- import { dependencies, devDependencies } from './templates/_common/dependencies.js';
3
+ import { mikroCommand } from './pkg-manager.js';
4
+ import { dependencies, devDependencies, eslintDevDependencies, } from './templates/_common/dependencies.js';
5
+ import { editorconfig } from './templates/_common/editorconfig.js';
4
6
  import { envExample } from './templates/_common/env-example.js';
7
+ import { eslintConfig } from './templates/_common/eslint-config.js';
5
8
  import { gitignore } from './templates/_common/gitignore.js';
6
9
  import { packageJson } from './templates/_common/package-json.js';
7
10
  import { readme } from './templates/_common/readme.js';
@@ -90,8 +93,14 @@ export function scaffold(options) {
90
93
  copyDir(templateDir, targetDir);
91
94
  // Write shared files
92
95
  fs.writeFileSync(path.join(targetDir, 'package.json'), JSON.stringify(packageJson(projectName, {
93
- dependencies: { ...dependencies, mikrojs: mikrojsVersion },
94
- devDependencies: typescript ? devDependencies : undefined,
96
+ dependencies: { ...dependencies, mikrojs: `^${mikrojsVersion}` },
97
+ devDependencies: typescript
98
+ ? {
99
+ ...devDependencies,
100
+ ...eslintDevDependencies,
101
+ '@mikrojs/eslint-plugin': `^${mikrojsVersion}`,
102
+ }
103
+ : undefined,
95
104
  typescript,
96
105
  }), null, 2) + '\n');
97
106
  if (typescript) {
@@ -100,13 +109,14 @@ export function scaffold(options) {
100
109
  ? { ...tsconfig, include: ['env.d.ts', ...(tsconfig.include ?? [])] }
101
110
  : tsconfig;
102
111
  fs.writeFileSync(path.join(targetDir, 'tsconfig.json'), JSON.stringify(tsconfigWithIncludes, null, 2) + '\n');
112
+ fs.writeFileSync(path.join(targetDir, 'eslint.config.js'), eslintConfig);
103
113
  }
114
+ fs.writeFileSync(path.join(targetDir, '.editorconfig'), editorconfig);
104
115
  fs.writeFileSync(path.join(targetDir, '.gitignore'), gitignore);
105
116
  fs.writeFileSync(path.join(targetDir, '.env.example'), envExample);
106
117
  const templateMeta = TEMPLATES.find((t) => t.name === template);
107
- const mikro = pkgManager === 'npm' ? 'npx mikro' : 'pnpm mikro';
108
118
  const setup = templateMeta?.wifiSetup
109
- ? `Set your WiFi credentials on the device:\n\n\`\`\`sh\n${mikro} env set WIFI_SSID YourNetworkName\n${mikro} env set WIFI_PASSPHRASE --secret\n\`\`\``
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 --secret')}\n\`\`\``
110
120
  : undefined;
111
121
  fs.writeFileSync(path.join(targetDir, 'README.md'), readme({
112
122
  projectName,
@@ -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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"}
@@ -39,12 +39,13 @@ describe.each(TEMPLATES)('template: $name', ({ name }) => {
39
39
  expect(pkg.name).toBe('test-project');
40
40
  expect(pkg.type).toBe('module');
41
41
  expect(pkg.main).toBe('./app/main.ts');
42
- expect(pkg.dependencies.mikrojs).toBe('0.0.0');
42
+ expect(pkg.dependencies.mikrojs).toBe('^0.0.0');
43
43
  expect(pkg.devDependencies.typescript).toBeDefined();
44
- expect(pkg.scripts.dev).toBe('mikro dev');
45
- expect(pkg.scripts.build).toBeUndefined();
46
- expect(pkg.scripts.deploy).toBeUndefined();
44
+ expect(pkg.scripts.lint).toBe('eslint .');
45
+ expect(pkg.scripts.typecheck).toBe('tsc --noEmit --pretty');
46
+ expect(pkg.scripts.dev).toBeUndefined();
47
47
  expect(pkg.scripts.flash).toBeUndefined();
48
+ expect(pkg.engines).toBeUndefined();
48
49
  });
49
50
  it('creates tsconfig.json with mikrojs runtime types', () => {
50
51
  const tsconfig = JSON.parse(readFileSync(path.join(targetDir, 'tsconfig.json'), 'utf-8'));
@@ -56,6 +57,18 @@ describe.each(TEMPLATES)('template: $name', ({ name }) => {
56
57
  expect(content).toContain('node_modules');
57
58
  expect(content).toContain('.mikro');
58
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
+ });
59
72
  it('creates app/main.ts', () => {
60
73
  const content = readFileSync(path.join(targetDir, 'app', 'main.ts'), 'utf-8');
61
74
  expect(content.length).toBeGreaterThan(0);
@@ -100,6 +113,12 @@ describe.each(TEMPLATES)('template: $name', ({ name }) => {
100
113
  it('does not create tsconfig.json', () => {
101
114
  expect(existsSync(path.join(targetDir, 'tsconfig.json'))).toBe(false);
102
115
  });
116
+ it('does not create eslint config', () => {
117
+ expect(existsSync(path.join(targetDir, 'eslint.config.js'))).toBe(false);
118
+ });
119
+ it('still creates .editorconfig', () => {
120
+ expect(existsSync(path.join(targetDir, '.editorconfig'))).toBe(true);
121
+ });
103
122
  });
104
123
  });
105
124
  //# sourceMappingURL=scaffold.test.js.map
@@ -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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"}
@@ -4,4 +4,9 @@ export declare const dependencies: {
4
4
  export declare const devDependencies: {
5
5
  typescript: string;
6
6
  };
7
+ export declare const eslintDevDependencies: {
8
+ '@eslint/js': string;
9
+ eslint: string;
10
+ 'typescript-eslint': string;
11
+ };
7
12
  //# sourceMappingURL=dependencies.d.ts.map
@@ -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"}
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"}
@@ -2,6 +2,11 @@ export const dependencies = {
2
2
  mikrojs: 'latest',
3
3
  };
4
4
  export const devDependencies = {
5
- typescript: '^6.0.0-beta',
5
+ typescript: '^6.0.3',
6
+ };
7
+ export const eslintDevDependencies = {
8
+ '@eslint/js': '^10.0.1',
9
+ eslint: '^10.2.1',
10
+ 'typescript-eslint': '^8.59.0',
6
11
  };
7
12
  //# sourceMappingURL=dependencies.js.map
@@ -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,aAAa;CACe,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,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"}
@@ -0,0 +1,2 @@
1
+ export declare const editorconfig = "root = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n";
2
+ //# sourceMappingURL=editorconfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorconfig.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/editorconfig.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iKAUxB,CAAA"}
@@ -0,0 +1,12 @@
1
+ export const editorconfig = `\
2
+ root = true
3
+
4
+ [*]
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
11
+ `;
12
+ //# sourceMappingURL=editorconfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorconfig.js","sourceRoot":"","sources":["../../../src/templates/_common/editorconfig.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;CAU3B,CAAA"}
@@ -0,0 +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";
2
+ //# sourceMappingURL=eslint-config.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,12 @@
1
+ export const eslintConfig = `\
2
+ import js from '@eslint/js'
3
+ import mikrojs from '@mikrojs/eslint-plugin'
4
+ import tseslint from 'typescript-eslint'
5
+
6
+ export default [
7
+ js.configs.recommended,
8
+ ...tseslint.configs.recommended,
9
+ ...mikrojs.configs.recommended,
10
+ ]
11
+ `;
12
+ //# sourceMappingURL=eslint-config.js.map
@@ -0,0 +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"}
@@ -8,15 +8,16 @@ export declare function packageJson(name: string, { devDependencies, dependencie
8
8
  mikrojs?: {
9
9
  predeploy: string[];
10
10
  } | undefined;
11
+ dependencies: {};
12
+ devDependencies: {};
13
+ scripts?: {
14
+ lint: string;
15
+ typecheck: string;
16
+ } | undefined;
11
17
  name: string;
12
18
  version: string;
13
19
  private: true;
14
20
  type: "module";
15
21
  main: string;
16
- scripts: {
17
- dev: string;
18
- };
19
- dependencies: {};
20
- devDependencies: {};
21
22
  };
22
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;;;;;;;;;;;;kBAW0B,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,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"}
@@ -5,9 +5,14 @@ export function packageJson(name, { devDependencies, dependencies, typescript, }
5
5
  private: true,
6
6
  type: 'module',
7
7
  main: './app/main.ts',
8
- scripts: {
9
- dev: 'mikro dev',
10
- },
8
+ ...(typescript
9
+ ? {
10
+ scripts: {
11
+ lint: 'eslint .',
12
+ typecheck: 'tsc --noEmit --pretty',
13
+ },
14
+ }
15
+ : {}),
11
16
  dependencies: dependencies,
12
17
  devDependencies: devDependencies,
13
18
  ...(typescript
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../../src/templates/_common/package-json.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,EACE,eAAe,EACf,YAAY,EACZ,UAAU,MAMR,EAAE;IAEN,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP,GAAG,EAAE,WAAW;SACjB;QACD,YAAY,EAAE,YAAkB;QAChC,eAAe,EAAE,eAAqB;QACtC,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,SAAS,EAAE,CAAC,uBAAuB,CAAC;iBACrC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACc,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../../src/templates/_common/package-json.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,EACE,eAAe,EACf,YAAY,EACZ,UAAU,MAMR,EAAE;IAEN,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;QACrB,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,uBAAuB;iBACnC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,YAAY,EAAE,YAAkB;QAChC,eAAe,EAAE,eAAqB;QACtC,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,SAAS,EAAE,CAAC,uBAAuB,CAAC;iBACrC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACc,CAAA;AACzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PkgManager } from '../../pkg-manager.js';
1
+ import { type PkgManager } from '../../pkg-manager.js';
2
2
  export interface ReadmeOptions {
3
3
  projectName: string;
4
4
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"readme.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/readme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAOpD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,UAAU,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,UA+C5C"}
1
+ {"version":3,"file":"readme.d.ts","sourceRoot":"","sources":["../../../src/templates/_common/readme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAE3E,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,UAAU,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,UA+C5C"}
@@ -1,8 +1,4 @@
1
- function mikro(pm, cmd) {
2
- if (pm === 'npm')
3
- return `npx mikro ${cmd}`;
4
- return `pnpm mikro ${cmd}`;
5
- }
1
+ import { mikroCommand as mikro } from '../../pkg-manager.js';
6
2
  export function readme(options) {
7
3
  const { projectName, description, pm, hardware, wiring, setup } = options;
8
4
  const sections = [];
@@ -1 +1 @@
1
- {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../../src/templates/_common/readme.ts"],"names":[],"mappings":"AAEA,SAAS,KAAK,CAAC,EAAc,EAAE,GAAW;IACxC,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,aAAa,GAAG,EAAE,CAAA;IAC3C,OAAO,cAAc,GAAG,EAAE,CAAA;AAC5B,CAAC;AAWD,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,EAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,OAAO,CAAA;IAEvE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,OAAO,WAAW,EAAE,CAAC,CAAA;IAEnD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC;;;;;EAKd,EAAE;;;;;;EAMF,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;OACX,CAAC,CAAA;IAEN,QAAQ,CAAC,IAAI,CAAC;;MAEV,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;MAChB,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC;MACnB,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;MACpB,KAAK,CAAC,EAAE,EAAE,mBAAmB,CAAC,yCAAyC,CAAC,CAAA;IAE5E,QAAQ,CAAC,IAAI,CAAC;;;;4CAI4B,CAAC,CAAA;IAE3C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../../src/templates/_common/readme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,IAAI,KAAK,EAAkB,MAAM,sBAAsB,CAAA;AAW3E,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,EAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,OAAO,CAAA;IAEvE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,OAAO,WAAW,EAAE,CAAC,CAAA;IAEnD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC;;;;;EAKd,EAAE;;;;;;EAMF,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;OACX,CAAC,CAAA;IAEN,QAAQ,CAAC,IAAI,CAAC;;MAEV,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;MAChB,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC;MACnB,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;MACpB,KAAK,CAAC,EAAE,EAAE,mBAAmB,CAAC,yCAAyC,CAAC,CAAA;IAE5E,QAAQ,CAAC,IAAI,CAAC;;;;4CAI4B,CAAC,CAAA;IAE3C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mikrojs",
3
- "version": "0.0.7",
3
+ "version": "0.1.0",
4
4
  "description": "Create a new Mikro.js project",
5
5
  "keywords": [
6
6
  "esp32",
@@ -40,7 +40,7 @@
40
40
  "type-fest": "^5.6.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/node": "^25.6.0",
43
+ "@types/node": "^24.12.2",
44
44
  "typescript": "^6.0.3"
45
45
  },
46
46
  "engines": {
@@ -5,5 +5,11 @@ export const dependencies = {
5
5
  } satisfies PackageJson['dependencies']
6
6
 
7
7
  export const devDependencies = {
8
- typescript: '^6.0.0-beta',
8
+ typescript: '^6.0.3',
9
+ } satisfies PackageJson['devDependencies']
10
+
11
+ export const eslintDevDependencies = {
12
+ '@eslint/js': '^10.0.1',
13
+ eslint: '^10.2.1',
14
+ 'typescript-eslint': '^8.59.0',
9
15
  } satisfies PackageJson['devDependencies']
@@ -0,0 +1,11 @@
1
+ export const editorconfig = `\
2
+ root = true
3
+
4
+ [*]
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
11
+ `
@@ -0,0 +1,11 @@
1
+ export const eslintConfig = `\
2
+ import js from '@eslint/js'
3
+ import mikrojs from '@mikrojs/eslint-plugin'
4
+ import tseslint from 'typescript-eslint'
5
+
6
+ export default [
7
+ js.configs.recommended,
8
+ ...tseslint.configs.recommended,
9
+ ...mikrojs.configs.recommended,
10
+ ]
11
+ `
@@ -19,9 +19,14 @@ export function packageJson(
19
19
  private: true,
20
20
  type: 'module',
21
21
  main: './app/main.ts',
22
- scripts: {
23
- dev: 'mikro dev',
24
- },
22
+ ...(typescript
23
+ ? {
24
+ scripts: {
25
+ lint: 'eslint .',
26
+ typecheck: 'tsc --noEmit --pretty',
27
+ },
28
+ }
29
+ : {}),
25
30
  dependencies: dependencies as {},
26
31
  devDependencies: devDependencies as {},
27
32
  ...(typescript
@@ -1,9 +1,4 @@
1
- import type {PkgManager} from '../../pkg-manager.js'
2
-
3
- function mikro(pm: PkgManager, cmd: string) {
4
- if (pm === 'npm') return `npx mikro ${cmd}`
5
- return `pnpm mikro ${cmd}`
6
- }
1
+ import {mikroCommand as mikro, type PkgManager} from '../../pkg-manager.js'
7
2
 
8
3
  export interface ReadmeOptions {
9
4
  projectName: string