@sweetener/cli 0.1.0-alpha.1 → 0.1.0-alpha.3
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/README.md +1 -0
- package/SKILL.md +223 -0
- package/dist/src/command-line.d.ts +2 -0
- package/dist/src/command-line.d.ts.map +1 -1
- package/dist/src/command-line.js +18 -1
- package/dist/src/command-line.js.map +1 -1
- package/dist/src/guide.d.ts +17 -0
- package/dist/src/guide.d.ts.map +1 -0
- package/dist/src/guide.js +54 -0
- package/dist/src/guide.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
package/SKILL.md
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sweetener
|
|
3
|
+
description: Write hygienic macros for TypeScript with Sweetener: declaring macros in .sts files, running the compiler, and reading its diagnostics.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sweetener
|
|
7
|
+
|
|
8
|
+
Sweetener extends TypeScript syntax with macros. Macro-enabled files use the
|
|
9
|
+
`.sts` and `.stsx` extensions and expand into ordinary TypeScript, which the
|
|
10
|
+
real TypeScript compiler then type-checks and emits. Nothing about the type
|
|
11
|
+
system is reimplemented.
|
|
12
|
+
|
|
13
|
+
## Start a project
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
sweetener init my-app
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
In a directory with no `package.json`, that writes `package.json`,
|
|
20
|
+
`tsconfig.json`, and a `src/` with a macro definition and a file that uses it.
|
|
21
|
+
Install, then:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
npm run check # expand and type-check
|
|
25
|
+
npm run build # expand, type-check, and emit into dist/
|
|
26
|
+
npm run watch # rebuild on change
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Run from a clone of the Sweetener repository, `init` points the project at that
|
|
30
|
+
checkout rather than at the registry, and says so. Build the checkout once
|
|
31
|
+
before installing.
|
|
32
|
+
|
|
33
|
+
## Add macros to a project you already have
|
|
34
|
+
|
|
35
|
+
Run the same command in it. `init` reads what the project depends on, adds a
|
|
36
|
+
`sweetener.json` listing the files to expand and a starter macro under `src/`,
|
|
37
|
+
and prints the integration that host needs with the config to paste:
|
|
38
|
+
|
|
39
|
+
| Host | Integration |
|
|
40
|
+
| --------------------------------------------------- | -------------------------------------------------- |
|
|
41
|
+
| Vite, Astro, Nuxt, SvelteKit, Solid Start, TanStack | `@sweetener/unplugin` |
|
|
42
|
+
| Rsbuild, Farm | `@sweetener/unplugin/rsbuild`, `/farm` |
|
|
43
|
+
| Bun | `@sweetener/unplugin/bun`, as a `Bun.build` plugin |
|
|
44
|
+
| Next, webpack | `@sweetener/webpack-loader` |
|
|
45
|
+
| Parcel | `@sweetener/parcel-transformer` |
|
|
46
|
+
| Jest | `@sweetener/jest` |
|
|
47
|
+
| Deno | `@sweetener/cli`, expanding ahead of a `deno run` |
|
|
48
|
+
| anything else | the command line |
|
|
49
|
+
|
|
50
|
+
Deno and Bun are recognised by their own config, so a project with no
|
|
51
|
+
`package.json` is still read as the project it is rather than an empty
|
|
52
|
+
directory.
|
|
53
|
+
|
|
54
|
+
On Deno, `deno run --import @sweetener/deno/register app.ts` expands sources as
|
|
55
|
+
they are imported, with no build step. `deno test` and `deno check` build their
|
|
56
|
+
module graph before loader hooks apply and so reject a `.sts` import; for those,
|
|
57
|
+
expand ahead of time with `emitStandalone` from `@sweetener/cli`.
|
|
58
|
+
|
|
59
|
+
## What it will and will not do
|
|
60
|
+
|
|
61
|
+
`init` prints every file it would create and then asks. Answer no and nothing
|
|
62
|
+
is written. In a script or a pipeline, where there is no terminal to ask, it
|
|
63
|
+
says so and stops rather than assuming. Pass `--yes` to mean it.
|
|
64
|
+
|
|
65
|
+
It never edits or deletes a file that is already there. Bundler config belongs
|
|
66
|
+
to whoever wrote it, so it is printed for you to paste, not rewritten.
|
|
67
|
+
|
|
68
|
+
## Declare a macro
|
|
69
|
+
|
|
70
|
+
A macro is declared with `syntax`, and named for where it may be written:
|
|
71
|
+
`:expr` for expression position, `:stmt` for statement, `:item` for
|
|
72
|
+
declarations, `:type` for types, `:typeMember` for the members of an interface
|
|
73
|
+
or object type.
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
export syntax twice:expr {
|
|
77
|
+
rule { twice($value:expr) } => { [$value, $value] }
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
A rule is a pattern and the syntax it expands to. `$value:expr` captures one
|
|
82
|
+
expression under the name `value`; write `$value` in the template to place it.
|
|
83
|
+
|
|
84
|
+
Macros are imported for compile time, and the import does not survive into the
|
|
85
|
+
emitted TypeScript:
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import { twice } from "./macros.sts" for syntax;
|
|
89
|
+
export const pair = twice(21);
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## What to reach for
|
|
93
|
+
|
|
94
|
+
- **Several shapes**: write several `rule`s. They are tried in order, and the
|
|
95
|
+
first that matches wins. A trailing comma is a different shape and needs its
|
|
96
|
+
own rule.
|
|
97
|
+
- **Repetition**: `$($item:expr),*` matches a comma-separated list, and
|
|
98
|
+
`$($item),*` places it back.
|
|
99
|
+
- **Optional**: `$($value:expr)?`, tested in a template with
|
|
100
|
+
`#if(present $value) { ... } #else { ... }`. The quantifier goes on the
|
|
101
|
+
group, as it does for repetition; `$value:expr?` matches a literal `?`
|
|
102
|
+
after the capture.
|
|
103
|
+
- **One shape or another in one rule**: `$left:tt | $right:tt`. The `|` is
|
|
104
|
+
written with a space on either side of it, which is what tells it from a `|`
|
|
105
|
+
the pattern matches literally, as in `$name |= $value:expr`.
|
|
106
|
+
- **A named shape used by several rules**: declare a syntax class.
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
export syntax class Arm {
|
|
110
|
+
fields { pattern: tt; body: expr; }
|
|
111
|
+
rule { $pattern:tt => $body:expr }
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
- **Members of an interface or object type**: declare the macro `:typeMember`.
|
|
116
|
+
It may expand to several members at once, which is how generated accessor
|
|
117
|
+
pairs and method overloads are written — neither is expressible as a mapped
|
|
118
|
+
type.
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
export syntax timestamps:typeMember {
|
|
122
|
+
rule { timestamps } => {
|
|
123
|
+
readonly createdAt: string;
|
|
124
|
+
readonly updatedAt: string;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
A member may be _named_ like a macro without invoking it: `timestamps: number`
|
|
130
|
+
declares a property. A member macro is written as a bare name, or with a brace
|
|
131
|
+
after it, never in the shape of a property or method signature.
|
|
132
|
+
|
|
133
|
+
- **A name the user writes that your template gives a meaning**: declare a
|
|
134
|
+
syntax parameter, and give it a meaning for the syntax a template wraps with
|
|
135
|
+
`#parameterize`. A Hack-style pipe's `%` is one:
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
export syntax parameter (%):expr;
|
|
139
|
+
|
|
140
|
+
export operator (|>):expr {
|
|
141
|
+
fixity infix;
|
|
142
|
+
associativity right;
|
|
143
|
+
precedence 20;
|
|
144
|
+
rule { $value:expr |> $body:expr }
|
|
145
|
+
refine $body form not in (conditional, arrow, assignment, yield);
|
|
146
|
+
=> {
|
|
147
|
+
#let(topic = $value) { #parameterize(required % = topic) { $body } }
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The user imports both, `import { (|>), (%) } from "./pipe.sts" for syntax;`,
|
|
153
|
+
and writes `value |> add(1, %) |> % * 10`. Every `%` in the body stands for
|
|
154
|
+
`topic`, including one inside a macro the body uses; a `%` between two
|
|
155
|
+
operands is still remainder. Hygiene alone cannot do this, because the `%`
|
|
156
|
+
was written by the user and `topic` by the template. A parameter may have
|
|
157
|
+
rules, used where no `#parameterize` names it; one without rules is reported
|
|
158
|
+
there. `required` reports a body that never uses the parameter.
|
|
159
|
+
|
|
160
|
+
- **A value used more than once, evaluated once**: `#let(name = $value) { body }`.
|
|
161
|
+
It becomes `((name) => body)(value)`, unless the body has an `await` or
|
|
162
|
+
`yield` of its own, which cannot move into a function; then it assigns a
|
|
163
|
+
variable declared in the enclosing function instead. Prefer it to writing the
|
|
164
|
+
arrow yourself, which breaks `await` in the body.
|
|
165
|
+
- **An expression of a particular form**: `refine $body form not in (conditional,
|
|
166
|
+
arrow, assignment, yield, await)` refuses those forms unparenthesized, and
|
|
167
|
+
`form in (...)` accepts only them.
|
|
168
|
+
- **An operator whose right side is not an expression**: a rule may spell it
|
|
169
|
+
literally, `rule { $value:expr |> await } => { await $value }`, and
|
|
170
|
+
`operand arrow;` lets an unparenthesized arrow stand there, ending at the next
|
|
171
|
+
use of the operator: `x |> n => n + 1 |> f`.
|
|
172
|
+
|
|
173
|
+
- **A name that begins with `$`** (`$inferSelect`, `$state`): write `$$` for
|
|
174
|
+
the `$`, as in `typeof $table.$$inferSelect`. `$name` alone is a capture, in
|
|
175
|
+
a pattern as in a template.
|
|
176
|
+
- **An operator as a capture**: `$op:token` takes `>=`, `>>` and the rest of
|
|
177
|
+
the `>` family whole, and `refine $op spelling in (==, >=)` reads it whole.
|
|
178
|
+
- **The source text of a capture**: `#text($value)`, which yields a string
|
|
179
|
+
literal.
|
|
180
|
+
- **A name no call site can collide with**: just introduce it. Hygiene renames
|
|
181
|
+
it if the call site already uses that name; nothing is required of you.
|
|
182
|
+
|
|
183
|
+
## Read the diagnostics
|
|
184
|
+
|
|
185
|
+
`No rule for macro X accepted this input: expected ...` is reported where the
|
|
186
|
+
closest rule stopped, which is where the input went wrong, and names what it
|
|
187
|
+
was still waiting for. The lines under it point at the use of the macro and at
|
|
188
|
+
the rule in the macro definition that wanted it. When a macro will not match,
|
|
189
|
+
compare the input against that rule rather than guessing.
|
|
190
|
+
|
|
191
|
+
To describe a rule's intent in that message, give the rule an `expect` clause:
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
rule { field($name:ident : $kind:ident) }
|
|
195
|
+
expect "a field type after the colon";
|
|
196
|
+
=> { [#text($name), #text($kind)] }
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Other commands:
|
|
200
|
+
|
|
201
|
+
- `sweetener expand file.sts` prints the expansion of one file.
|
|
202
|
+
- `sweetener explain file.sts:line:column` reports where a position came from,
|
|
203
|
+
as JSON.
|
|
204
|
+
|
|
205
|
+
## Know the limits
|
|
206
|
+
|
|
207
|
+
- **No editor support.** Editing `.sts` gives no hover, diagnostics, or
|
|
208
|
+
go-to-definition. The loop is edit, run `check`, read the output.
|
|
209
|
+
- **Rename through a macro is declined.** A captured reference carries no proof
|
|
210
|
+
of which binding each copy denotes, so the language service refuses rather
|
|
211
|
+
than guessing.
|
|
212
|
+
- Macros run at compile time only, and cannot call host functions or inspect
|
|
213
|
+
runtime values.
|
|
214
|
+
- **A macro is visible to what follows its definition**, the way a `const` is,
|
|
215
|
+
and a macro a macro emits inside a block is visible for the rest of that block
|
|
216
|
+
only. Using a name above the definition that would give it meaning is
|
|
217
|
+
reported. Writing a definition by hand inside a block is not supported yet;
|
|
218
|
+
put it in a module and import it for syntax.
|
|
219
|
+
- **An ordinary binding shadows a macro**, as it does in Racket. A `const`, a
|
|
220
|
+
parameter, a `catch` binder or a `for`-`of` binding of a macro's name means
|
|
221
|
+
that name is the binding, not the macro, for as long as the binding is in
|
|
222
|
+
scope. Value and type stay apart: a `const list` does not shadow a `:type`
|
|
223
|
+
macro named `list`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line.d.ts","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"command-line.d.ts","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AA6BN,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAiGzE;AAsJD,wBAAgB,MAAM,CAAC,OAAO,EAAE;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,CAqQ9D"}
|
package/dist/src/command-line.js
CHANGED
|
@@ -7,6 +7,7 @@ import { expansionView, explainOriginalPosition, parseSourcePosition, sourceOffs
|
|
|
7
7
|
import { createDefaultProjectExpansionProvider } from "./default-expansion-provider.js";
|
|
8
8
|
import { loadSweetProject } from "./configuration.js";
|
|
9
9
|
import { emitStandalone } from "./standalone-emit.js";
|
|
10
|
+
import { guideFileName, guidePath, readGuide } from "./guide.js";
|
|
10
11
|
/**
|
|
11
12
|
* Pull `-p`/`--project` out of an argument list.
|
|
12
13
|
*
|
|
@@ -51,6 +52,11 @@ export function parseCliInvocation(argv) {
|
|
|
51
52
|
command === "-h" ||
|
|
52
53
|
command === "help")
|
|
53
54
|
return Object.freeze({ command: "help" });
|
|
55
|
+
if (command === "guide") {
|
|
56
|
+
if (argv.length > 1)
|
|
57
|
+
throw new TypeError("guide takes no arguments");
|
|
58
|
+
return Object.freeze({ command });
|
|
59
|
+
}
|
|
54
60
|
if (command === "expand") {
|
|
55
61
|
const { positional, configPath } = splitProjectOption(argv.slice(1));
|
|
56
62
|
if (positional.length !== 1)
|
|
@@ -104,7 +110,7 @@ export function parseCliInvocation(argv) {
|
|
|
104
110
|
});
|
|
105
111
|
}
|
|
106
112
|
if (command !== "check" && command !== "build" && command !== "watch")
|
|
107
|
-
throw new TypeError("Expected init, check, build, watch, expand, explain, or
|
|
113
|
+
throw new TypeError("Expected init, check, build, watch, expand, explain, emit, or guide command");
|
|
108
114
|
let configPath = "tsconfig.json";
|
|
109
115
|
let debug = false;
|
|
110
116
|
for (let index = 1; index < argv.length; index++) {
|
|
@@ -156,6 +162,8 @@ Commands:
|
|
|
156
162
|
explain <file:line:col> Report where a position came from, and through which
|
|
157
163
|
macros.
|
|
158
164
|
emit <files...> Expand named files into a directory, without checking.
|
|
165
|
+
guide Print the guide to writing macros: declaring them,
|
|
166
|
+
running the compiler, and reading its diagnostics.
|
|
159
167
|
|
|
160
168
|
Options:
|
|
161
169
|
-p, --project <path> Project config to use. Defaults to the nearest
|
|
@@ -256,6 +264,15 @@ export function runCli(options) {
|
|
|
256
264
|
options.io.stdout(usage);
|
|
257
265
|
return Object.freeze({ exitCode: 0 });
|
|
258
266
|
}
|
|
267
|
+
if (invocation.command === "guide") {
|
|
268
|
+
const path = guidePath();
|
|
269
|
+
if (path === undefined) {
|
|
270
|
+
options.io.stderr(`The guide is missing from this installation: no ${guideFileName} beside @sweetener/cli. Reinstall the package, or read it at https://github.com/sweetener-ts/sweetener/blob/main/${guideFileName}\n`);
|
|
271
|
+
return Object.freeze({ exitCode: 1 });
|
|
272
|
+
}
|
|
273
|
+
options.io.stdout(readGuide(path));
|
|
274
|
+
return Object.freeze({ exitCode: 0 });
|
|
275
|
+
}
|
|
259
276
|
const report = (result) => {
|
|
260
277
|
for (const diagnostic of result.diagnostics)
|
|
261
278
|
options.io.stderr(`${renderDiagnostic(diagnostic)}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line.js","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-line.js","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** The file the guide is kept in, at the repository root and in the package. */
|
|
2
|
+
export declare const guideFileName = "SKILL.md";
|
|
3
|
+
/**
|
|
4
|
+
* Where the guide is, from where this module was loaded.
|
|
5
|
+
*
|
|
6
|
+
* The published package carries a copy of the repository's `SKILL.md` at its
|
|
7
|
+
* root, placed there when the release is staged, so the guide a user reads is
|
|
8
|
+
* the one the repository documents. Run from a checkout there is no copy, and
|
|
9
|
+
* the repository's own is two directories above the package.
|
|
10
|
+
*/
|
|
11
|
+
export declare function guidePath(moduleUrl?: string): string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* The guide as a person reads it. Its front matter names it for agents that
|
|
14
|
+
* load it as a skill, and says nothing to someone at a terminal.
|
|
15
|
+
*/
|
|
16
|
+
export declare function readGuide(path: string): string;
|
|
17
|
+
//# sourceMappingURL=guide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/guide.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,eAAO,MAAM,aAAa,aAAa,CAAC;AAoBxC;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,SAAS,GAAE,MAAwB,GAClC,MAAM,GAAG,SAAS,CAWpB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9C"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
/** The file the guide is kept in, at the repository root and in the package. */
|
|
5
|
+
export const guideFileName = "SKILL.md";
|
|
6
|
+
/**
|
|
7
|
+
* The directory of the package this module belongs to. Found by looking up
|
|
8
|
+
* rather than by counting, because the module runs from `dist/src` once built
|
|
9
|
+
* and from `src` under the test runner.
|
|
10
|
+
*/
|
|
11
|
+
function cliPackageRoot(start) {
|
|
12
|
+
for (let directory = start;; directory = dirname(directory)) {
|
|
13
|
+
const manifest = join(directory, "package.json");
|
|
14
|
+
if (existsSync(manifest)) {
|
|
15
|
+
const { name } = JSON.parse(readFileSync(manifest, "utf8"));
|
|
16
|
+
if (name === "@sweetener/cli")
|
|
17
|
+
return directory;
|
|
18
|
+
}
|
|
19
|
+
if (dirname(directory) === directory)
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Where the guide is, from where this module was loaded.
|
|
25
|
+
*
|
|
26
|
+
* The published package carries a copy of the repository's `SKILL.md` at its
|
|
27
|
+
* root, placed there when the release is staged, so the guide a user reads is
|
|
28
|
+
* the one the repository documents. Run from a checkout there is no copy, and
|
|
29
|
+
* the repository's own is two directories above the package.
|
|
30
|
+
*/
|
|
31
|
+
export function guidePath(moduleUrl = import.meta.url) {
|
|
32
|
+
const packageRoot = cliPackageRoot(dirname(fileURLToPath(moduleUrl)));
|
|
33
|
+
if (packageRoot === undefined)
|
|
34
|
+
return undefined;
|
|
35
|
+
const packaged = join(packageRoot, guideFileName);
|
|
36
|
+
if (existsSync(packaged))
|
|
37
|
+
return packaged;
|
|
38
|
+
const repositoryRoot = join(packageRoot, "..", "..");
|
|
39
|
+
const checkout = join(repositoryRoot, guideFileName);
|
|
40
|
+
return existsSync(join(repositoryRoot, "pnpm-workspace.yaml")) &&
|
|
41
|
+
existsSync(checkout)
|
|
42
|
+
? checkout
|
|
43
|
+
: undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The guide as a person reads it. Its front matter names it for agents that
|
|
47
|
+
* load it as a skill, and says nothing to someone at a terminal.
|
|
48
|
+
*/
|
|
49
|
+
export function readGuide(path) {
|
|
50
|
+
const text = readFileSync(path, "utf8");
|
|
51
|
+
const frontMatter = /^---\r?\n[\s\S]*?\r?\n---\r?\n+/u.exec(text);
|
|
52
|
+
return frontMatter === null ? text : text.slice(frontMatter[0].length);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,gFAAgF;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AAExC;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,KAAK,IAAI,SAAS,GAAG,KAAK,GAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAEzD,CAAC;YACF,IAAI,IAAI,KAAK,gBAAgB;gBAAE,OAAO,SAAS,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACvB,YAAoB,MAAM,CAAC,IAAI,CAAC,GAAG;IAEnC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC5D,UAAU,CAAC,QAAQ,CAAC;QACpB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sweetener/cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"description": "Sweetener alpha package: cli",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -35,10 +35,11 @@
|
|
|
35
35
|
],
|
|
36
36
|
"files": [
|
|
37
37
|
"bin",
|
|
38
|
-
"dist"
|
|
38
|
+
"dist",
|
|
39
|
+
"SKILL.md"
|
|
39
40
|
],
|
|
40
41
|
"dependencies": {
|
|
41
|
-
"@sweetener/compiler": "0.1.0-alpha.
|
|
42
|
+
"@sweetener/compiler": "0.1.0-alpha.3",
|
|
42
43
|
"typescript": "npm:@typescript/typescript6@6.0.2"
|
|
43
44
|
},
|
|
44
45
|
"engines": {
|