mikuru 1.0.4 → 1.0.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.6
4
+
5
+ - Added named slots with `<slot name="...">`, `<template #name>`, and `<template v-slot:name>`.
6
+ - Added simple slot props with identifier and object destructuring scope bindings.
7
+ - Updated v1 docs and release notes to list named slots and slot props as supported.
8
+
9
+ ## 1.0.5
10
+
11
+ - Added a `basic` project template for `mikuru create --template basic`.
12
+ - Added `mikuru create --force` and `--yes` support.
13
+ - Added generated starter and basic template build smoke coverage for packed packages.
14
+ - Added generic `MikuruComponent<Props>` and `MikuruMount<Props>` types.
15
+
3
16
  ## 1.0.4
4
17
 
5
18
  - Added a starter favicon to projects created with `mikuru create`.
package/README.md CHANGED
@@ -1,179 +1,200 @@
1
- # Mikuru
2
-
3
- Mikuru is a compile-first JavaScript framework for Vue-like single-file components that generate direct DOM update code instead of using a virtual DOM.
4
-
5
- It is intentionally small. Mikuru v1 is a practical validation release for writing `.mikuru` components in Vite apps, not a Vue compatibility layer.
6
-
7
- ## Requirements
8
-
9
- - Node.js 22 or newer
10
- - Vite 8 or newer for app development
11
-
12
- ## Create a New App
13
-
14
- The fastest way to try Mikuru is the package CLI:
15
-
16
- ```sh
17
- npx mikuru create my-app
18
- cd my-app
19
- npm install
20
- npm run dev
21
- ```
22
-
23
- The generated starter includes Vite, TypeScript, the package-provided `.mikuru` module declaration, and a welcome component at `src/App.mikuru`.
24
-
25
- ## Add Mikuru to a Vite App
26
-
27
- Install Mikuru and the Vite tooling:
28
-
29
- ```sh
30
- npm install mikuru
31
- npm install -D vite typescript
32
- ```
33
-
34
- Configure Vite:
35
-
36
- ```ts
37
- import { defineConfig } from "vite";
38
- import { mikuru } from "mikuru/vite";
39
-
40
- export default defineConfig({
41
- plugins: [mikuru()]
42
- });
43
- ```
44
-
45
- Create a `.mikuru` component:
46
-
47
- ```mikuru
48
- <template>
49
- <button @click="increment">count: {{ count }}</button>
50
- </template>
51
-
52
- <script>
53
- import { ref } from "mikuru";
54
-
55
- const count = ref(0);
56
-
57
- function increment() {
58
- count.value += 1;
59
- }
60
- </script>
61
-
62
- <style>
63
- button {
64
- font: inherit;
65
- }
66
- </style>
67
- ```
68
-
69
- Mount it from your app entry:
70
-
71
- ```ts
72
- import { mount } from "./App.mikuru";
73
-
74
- const app = document.querySelector("#app");
75
-
76
- if (!app) {
77
- throw new Error("Missing #app");
78
- }
79
-
80
- mount(app);
81
- ```
82
-
83
- ## TypeScript Declarations
84
-
85
- For TypeScript projects, add a local declaration file such as `src/mikuru-env.d.ts` that imports Mikuru's package-provided `.mikuru` module declaration:
86
-
87
- ```ts
88
- import "mikuru/env";
89
- ```
90
-
91
- ## Supported v1 Surface
92
-
93
- - `.mikuru` SFCs with `<template>`, `<script>`, and `<style>`
94
- - Vite plugin support through `mikuru/vite`
95
- - Template interpolation with `{{ value }}`
96
- - DOM events with `@click`, `v-on:click`, `.prevent`, and `.stop`
97
- - Attribute bindings with `:class` and `v-bind:class`
98
- - `v-if`, `v-else-if`, `v-else`, `v-show`, and `v-for`
99
- - `v-model` for common form controls and child components
100
- - Component props, events, `defineProps`, `defineEmits`, and default slots
101
- - Runtime helpers including `ref`, `computed`, `effect`, `watch`, `nextTick`, lifecycle callbacks, `provide`, and `inject`
102
- - Style injection and basic `<style scoped>` selector rewriting
103
- - Compile errors with filenames, line/column information, and code frames
104
-
105
- ## Package Exports
106
-
107
- Application code usually imports from `mikuru`:
108
-
109
- ```ts
110
- import { computed, ref } from "mikuru";
111
- ```
112
-
113
- The Vite plugin is available from `mikuru/vite`:
114
-
115
- ```ts
116
- import { mikuru } from "mikuru/vite";
117
- ```
118
-
119
- The `.mikuru` TypeScript declaration is available from `mikuru/env`:
120
-
121
- ```ts
122
- import "mikuru/env";
123
- ```
124
-
125
- Compiler and runtime entries are public for lower-level integrations:
126
-
127
- ```ts
128
- import { compile } from "mikuru/compiler";
129
- import { effect, nextTick, ref, unwrap, watch } from "mikuru/runtime";
130
- ```
131
-
132
- The package also provides the `mikuru` binary:
133
-
134
- ```sh
135
- npx mikuru create my-app
136
- ```
137
-
138
- ## Not Included in v1
139
-
140
- Mikuru does not claim Vue compatibility. The v1 package does not include SSR, hydration, transitions, devtools, named slots, slot props, dynamic components, `v-html`, object-form `v-bind` / `v-on`, or full template type checking.
141
-
142
- Scoped CSS is a basic selector rewrite, not a full CSS compiler. Avoid relying on `:global()`, deep selectors, complex nesting, CSS Modules, or preprocessors in v1.
143
-
144
- ## Repository Development
145
-
146
- For local framework development:
147
-
148
- ```sh
149
- npm install
150
- npm run ci
151
- ```
152
-
153
- Useful targeted checks:
154
-
155
- ```sh
156
- npm run typecheck
157
- npm test
158
- npm run build
159
- npm run test:create
160
- npm run test:package
161
- npm run test:pack
162
- npm run test:e2e
163
- ```
164
-
165
- Examples can be run from the repository root:
166
-
167
- ```sh
168
- npm run dev:basic
169
- npm run dev:realworld
170
- npm run dev:dogfood
171
- npm run dev:mikuru-sample
172
- npm run dev:mikuru-vue-like
173
- ```
174
-
175
- ## Documentation
176
-
177
- - `CHANGELOG.md` lists published package changes.
178
- - `docs/npm-usage.md` shows a manual Vite setup for package consumers.
179
- - `docs/v1-api-contract.md` describes the v1 compatibility boundary used by this repository.
1
+ # Mikuru
2
+
3
+ Mikuru is a compile-first JavaScript framework for Vue-like single-file components that generate direct DOM update code instead of using a virtual DOM.
4
+
5
+ It is intentionally small. Mikuru v1 is a practical validation release for writing `.mikuru` components in Vite apps, not a Vue compatibility layer.
6
+
7
+ ## Requirements
8
+
9
+ - Node.js 22 or newer
10
+ - Vite 8 or newer for app development
11
+
12
+ ## Create a New App
13
+
14
+ The fastest way to try Mikuru is the package CLI:
15
+
16
+ ```sh
17
+ npx mikuru create my-app
18
+ cd my-app
19
+ npm install
20
+ npm run dev
21
+ ```
22
+
23
+ The generated starter includes Vite, TypeScript, the package-provided `.mikuru` module declaration, and a welcome component at `src/App.mikuru`.
24
+
25
+ Use the `basic` template when you want a small component composition example:
26
+
27
+ ```sh
28
+ npx mikuru create my-basic-app --template basic
29
+ ```
30
+
31
+ `mikuru create` also accepts `--force` for non-empty directories and `--yes` / `-y` to use default answers for prompts.
32
+
33
+ ## Add Mikuru to a Vite App
34
+
35
+ Install Mikuru and the Vite tooling:
36
+
37
+ ```sh
38
+ npm install mikuru
39
+ npm install -D vite typescript
40
+ ```
41
+
42
+ Configure Vite:
43
+
44
+ ```ts
45
+ import { defineConfig } from "vite";
46
+ import { mikuru } from "mikuru/vite";
47
+
48
+ export default defineConfig({
49
+ plugins: [mikuru()]
50
+ });
51
+ ```
52
+
53
+ Create a `.mikuru` component:
54
+
55
+ ```mikuru
56
+ <template>
57
+ <button @click="increment">count: {{ count }}</button>
58
+ </template>
59
+
60
+ <script>
61
+ import { ref } from "mikuru";
62
+
63
+ const count = ref(0);
64
+
65
+ function increment() {
66
+ count.value += 1;
67
+ }
68
+ </script>
69
+
70
+ <style>
71
+ button {
72
+ font: inherit;
73
+ }
74
+ </style>
75
+ ```
76
+
77
+ Mount it from your app entry:
78
+
79
+ ```ts
80
+ import { mount } from "./App.mikuru";
81
+
82
+ const app = document.querySelector("#app");
83
+
84
+ if (!app) {
85
+ throw new Error("Missing #app");
86
+ }
87
+
88
+ mount(app);
89
+ ```
90
+
91
+ ## TypeScript Declarations
92
+
93
+ For TypeScript projects, add a local declaration file such as `src/mikuru-env.d.ts` that imports Mikuru's package-provided `.mikuru` module declaration:
94
+
95
+ ```ts
96
+ import "mikuru/env";
97
+ ```
98
+
99
+ You can use the exported component types for typed wrappers or hand-written integrations:
100
+
101
+ ```ts
102
+ import type { MikuruComponent } from "mikuru/env";
103
+
104
+ type GreetingProps = {
105
+ name: string;
106
+ };
107
+
108
+ declare const Greeting: MikuruComponent<GreetingProps>;
109
+ ```
110
+
111
+ ## Supported v1 Surface
112
+
113
+ - `.mikuru` SFCs with `<template>`, `<script>`, and `<style>`
114
+ - Vite plugin support through `mikuru/vite`
115
+ - Template interpolation with `{{ value }}`
116
+ - DOM events with `@click`, `v-on:click`, `.prevent`, and `.stop`
117
+ - Attribute bindings with `:class` and `v-bind:class`
118
+ - `v-if`, `v-else-if`, `v-else`, `v-show`, and `v-for`
119
+ - `v-model` for common form controls and child components
120
+ - Component props, events, `defineProps`, `defineEmits`, default slots, named slots, and slot props
121
+ - Runtime helpers including `ref`, `computed`, `effect`, `watch`, `nextTick`, lifecycle callbacks, `provide`, and `inject`
122
+ - Style injection and basic `<style scoped>` selector rewriting
123
+ - Compile errors with filenames, line/column information, and code frames
124
+
125
+ ## Package Exports
126
+
127
+ Application code usually imports from `mikuru`:
128
+
129
+ ```ts
130
+ import { computed, ref } from "mikuru";
131
+ ```
132
+
133
+ The Vite plugin is available from `mikuru/vite`:
134
+
135
+ ```ts
136
+ import { mikuru } from "mikuru/vite";
137
+ ```
138
+
139
+ The `.mikuru` TypeScript declaration is available from `mikuru/env`:
140
+
141
+ ```ts
142
+ import "mikuru/env";
143
+ ```
144
+
145
+ Compiler and runtime entries are public for lower-level integrations:
146
+
147
+ ```ts
148
+ import { compile } from "mikuru/compiler";
149
+ import { effect, nextTick, ref, unwrap, watch } from "mikuru/runtime";
150
+ ```
151
+
152
+ The package also provides the `mikuru` binary:
153
+
154
+ ```sh
155
+ npx mikuru create my-app
156
+ npx mikuru create my-basic-app --template basic
157
+ ```
158
+
159
+ ## Not Included in v1
160
+
161
+ Mikuru does not claim Vue compatibility. The v1 package does not include SSR, hydration, transitions, devtools, dynamic components, `v-html`, object-form `v-bind` / `v-on`, or full template type checking.
162
+
163
+ Scoped CSS is a basic selector rewrite, not a full CSS compiler. Avoid relying on `:global()`, deep selectors, complex nesting, CSS Modules, or preprocessors in v1.
164
+
165
+ ## Repository Development
166
+
167
+ For local framework development:
168
+
169
+ ```sh
170
+ npm install
171
+ npm run ci
172
+ ```
173
+
174
+ Useful targeted checks:
175
+
176
+ ```sh
177
+ npm run typecheck
178
+ npm test
179
+ npm run build
180
+ npm run test:create
181
+ npm run test:package
182
+ npm run test:pack
183
+ npm run test:e2e
184
+ ```
185
+
186
+ Examples can be run from the repository root:
187
+
188
+ ```sh
189
+ npm run dev:basic
190
+ npm run dev:realworld
191
+ npm run dev:dogfood
192
+ npm run dev:mikuru-sample
193
+ npm run dev:mikuru-vue-like
194
+ ```
195
+
196
+ ## Documentation
197
+
198
+ - `CHANGELOG.md` lists published package changes.
199
+ - `docs/npm-usage.md` shows a manual Vite setup for package consumers.
200
+ - `docs/v1-api-contract.md` describes the v1 compatibility boundary used by this repository.
package/dist/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
3
3
  import { basename, dirname, join, resolve } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
+ const availableTemplates = ["starter", "basic"];
5
6
  const args = process.argv.slice(2);
6
7
  const command = args[0];
7
8
  if (command === "--help" || command === "-h" || !command) {
@@ -21,17 +22,19 @@ const createOptions = parseCreateArgs(args.slice(1));
21
22
  if (!createOptions) {
22
23
  process.exit(1);
23
24
  }
24
- const { targetArg, templateName } = createOptions;
25
+ const { force, targetArg, templateName } = createOptions;
25
26
  const targetDir = resolve(process.cwd(), targetArg ?? "mikuru-app");
26
27
  const appName = toPackageName(basename(targetDir));
27
- if (existsSync(targetDir) && readdirSync(targetDir).length > 0) {
28
+ if (!force && existsSync(targetDir) && readdirSync(targetDir).length > 0) {
28
29
  console.error(`Cannot create a Mikuru app in a non-empty directory: ${targetDir}`);
29
- console.error("Choose a new directory name or empty the target directory first.");
30
+ console.error("Choose a new directory name, empty the target directory, or pass --force to overwrite template files.");
30
31
  process.exit(1);
31
32
  }
32
33
  const templateDir = resolve(dirname(fileURLToPath(import.meta.url)), `../templates/${templateName}`);
33
34
  copyTemplate(templateDir, targetDir, { appName });
34
- console.log(`Created ${appName} in ${targetDir}`);
35
+ console.log(`Created ${appName}`);
36
+ console.log(` Template: ${templateName}`);
37
+ console.log(` Location: ${targetDir}`);
35
38
  console.log("");
36
39
  console.log("Next steps:");
37
40
  console.log(` cd ${basename(targetDir)}`);
@@ -39,7 +42,7 @@ console.log(" npm install");
39
42
  console.log(" npm run dev");
40
43
  function printHelp() {
41
44
  console.log(`Usage:
42
- mikuru create [project-name] [--template starter]
45
+ mikuru create [project-name] [--template starter|basic]
43
46
  mikuru --version
44
47
  mikuru --help
45
48
 
@@ -52,21 +55,33 @@ Options:
52
55
  }
53
56
  function printCreateHelp() {
54
57
  console.log(`Usage:
55
- mikuru create [project-name] [--template starter]
58
+ mikuru create [project-name] [--template starter|basic]
56
59
 
57
60
  Options:
58
- --template <name> Template to use. Available: starter.
61
+ --template <name> Template to use. Available: ${availableTemplates.join(", ")}.
62
+ --force Create into a non-empty directory and overwrite template files.
63
+ -y, --yes Use default answers for prompts. Currently accepted for future compatibility.
59
64
  -h, --help Show create help.`);
60
65
  }
61
66
  function parseCreateArgs(createArgs) {
67
+ let force = false;
62
68
  let targetArg;
63
69
  let templateName = "starter";
70
+ let yes = false;
64
71
  for (let i = 0; i < createArgs.length; i++) {
65
72
  const arg = createArgs[i];
66
73
  if (arg === "--help" || arg === "-h") {
67
74
  printCreateHelp();
68
75
  process.exit(0);
69
76
  }
77
+ if (arg === "--force") {
78
+ force = true;
79
+ continue;
80
+ }
81
+ if (arg === "--yes" || arg === "-y") {
82
+ yes = true;
83
+ continue;
84
+ }
70
85
  if (arg === "--template") {
71
86
  const nextValue = createArgs[++i];
72
87
  if (!nextValue) {
@@ -93,12 +108,15 @@ function parseCreateArgs(createArgs) {
93
108
  }
94
109
  targetArg = arg;
95
110
  }
96
- if (templateName !== "starter") {
111
+ if (!isTemplateName(templateName)) {
97
112
  console.error(`Unknown template: ${templateName}`);
98
- console.error("Available templates: starter");
113
+ console.error(`Available templates: ${availableTemplates.join(", ")}`);
99
114
  return undefined;
100
115
  }
101
- return { targetArg, templateName };
116
+ return { force, targetArg, templateName, yes };
117
+ }
118
+ function isTemplateName(value) {
119
+ return availableTemplates.includes(value);
102
120
  }
103
121
  function copyTemplate(sourceDir, targetDir, variables) {
104
122
  mkdirSync(targetDir, { recursive: true });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -83,9 +83,6 @@ function rejectUnsupportedNodeFeatures(node, options) {
83
83
  if (node.tag === "component") {
84
84
  throwTemplateError("Dynamic components are not supported in v1", node.loc, options);
85
85
  }
86
- if (node.tag === "slot" && node.attrs.length > 0) {
87
- throwTemplateError("Named slots and slot props are not supported in v1", node.attrs[0]?.loc ?? node.loc, options);
88
- }
89
86
  }
90
87
  function rejectUnsupportedAttribute(node, attr, options) {
91
88
  if (attr.name === "v-html") {
@@ -94,11 +91,8 @@ function rejectUnsupportedAttribute(node, attr, options) {
94
91
  if (attr.name === "v-bind" || attr.name === "v-on") {
95
92
  throwTemplateError(`Object-form ${attr.name} is not supported in v1`, attr.loc, options);
96
93
  }
97
- if (attr.name === "v-slot" || attr.name.startsWith("v-slot:") || attr.name.startsWith("#")) {
98
- throwTemplateError("Named slots and slot props are not supported in v1", attr.loc, options);
99
- }
100
- if (node.tag === "template" && attr.name === "slot") {
101
- throwTemplateError("Named slots and slot props are not supported in v1", attr.loc, options);
94
+ if ((attr.name === "v-slot" || attr.name.startsWith("v-slot:") || attr.name.startsWith("#")) && node.tag !== "template") {
95
+ throwTemplateError("v-slot must be used on a <template> child in Mikuru", attr.loc, options);
102
96
  }
103
97
  }
104
98
  function parseForBinding(expression, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeTemplate.js","sourceRoot":"","sources":["../../src/compiler/analyzeTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeTemplate.js","sourceRoot":"","sources":["../../src/compiler/analyzeTemplate.ts"],"names":[],"mappings":"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"}