@refrakt-md/plan 0.9.8 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-plugin.d.ts.map +1 -1
- package/dist/cli-plugin.js +132 -15
- package/dist/cli-plugin.js.map +1 -1
- package/dist/commands/bundle-behaviors.d.ts +4 -0
- package/dist/commands/bundle-behaviors.d.ts.map +1 -1
- package/dist/commands/bundle-behaviors.js +13 -2
- package/dist/commands/bundle-behaviors.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +5 -3
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/init.d.ts +25 -3
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +296 -98
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts +40 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +110 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/project-setup.d.ts +30 -0
- package/dist/commands/project-setup.d.ts.map +1 -0
- package/dist/commands/project-setup.js +123 -0
- package/dist/commands/project-setup.js.map +1 -0
- package/dist/commands/templates.d.ts +0 -22
- package/dist/commands/templates.d.ts.map +1 -1
- package/dist/commands/templates.js +0 -46
- package/dist/commands/templates.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +39 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -12
- package/dist/index.js.map +1 -1
- package/dist/tags/spec.d.ts.map +1 -1
- package/dist/tags/spec.js +2 -1
- package/dist/tags/spec.js.map +1 -1
- package/dist/util.d.ts +5 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +7 -1
- package/dist/util.js.map +1 -1
- package/package.json +20 -8
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { execFileSync } from 'child_process';
|
|
2
|
+
import { existsSync, renameSync } from 'fs';
|
|
3
|
+
import { basename, dirname, join, resolve } from 'path';
|
|
4
|
+
import { scanPlanFiles } from '../scanner.js';
|
|
5
|
+
export const EXIT_SUCCESS = 0;
|
|
6
|
+
export const EXIT_ERRORS = 1;
|
|
7
|
+
export const EXIT_INVALID_ARGS = 2;
|
|
8
|
+
/** Regex that matches a leading `{PREFIX}-{digits}-` in a filename. */
|
|
9
|
+
const ID_PREFIX_RE = /^(WORK|BUG|SPEC|ADR)-\d+-/;
|
|
10
|
+
/**
|
|
11
|
+
* Strip any existing `{PREFIX}-{digits}-` from a basename so the remaining
|
|
12
|
+
* slug can be recombined with the frontmatter ID.
|
|
13
|
+
*/
|
|
14
|
+
function stripIdPrefix(fileName) {
|
|
15
|
+
return fileName.replace(ID_PREFIX_RE, '');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Rename a file, either via `git mv` or `fs.renameSync`. When running
|
|
19
|
+
* `git mv`, cwd is set to the scan dir so git discovery picks the
|
|
20
|
+
* closest enclosing repo (matters for nested repos, e.g. test fixtures).
|
|
21
|
+
*/
|
|
22
|
+
function performRename(absFrom, absTo, useGit, cwd) {
|
|
23
|
+
if (useGit) {
|
|
24
|
+
execFileSync('git', ['mv', absFrom, absTo], { cwd, stdio: 'pipe' });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
renameSync(absFrom, absTo);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Scan a plan directory, compute target filenames of the form
|
|
32
|
+
* `{ID}-{slug}.md` for every auto-ID entity, and either preview the
|
|
33
|
+
* renames (dry-run, default) or apply them.
|
|
34
|
+
*
|
|
35
|
+
* Milestones are skipped — they use semver names, not the numeric ID
|
|
36
|
+
* scheme. Files whose current name already matches the target are
|
|
37
|
+
* counted as `alreadyCorrect` and not touched.
|
|
38
|
+
*/
|
|
39
|
+
export function runMigrateFilenames(options) {
|
|
40
|
+
const { dir, apply = false, useGit = false } = options;
|
|
41
|
+
const entities = scanPlanFiles(dir, { cache: false });
|
|
42
|
+
const planned = [];
|
|
43
|
+
const applied = [];
|
|
44
|
+
const errors = [];
|
|
45
|
+
let milestonesSkipped = 0;
|
|
46
|
+
let alreadyCorrect = 0;
|
|
47
|
+
const targetPaths = new Set();
|
|
48
|
+
for (const entity of entities) {
|
|
49
|
+
if (entity.type === 'milestone') {
|
|
50
|
+
milestonesSkipped++;
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const id = entity.attributes.id;
|
|
54
|
+
if (!id) {
|
|
55
|
+
errors.push({
|
|
56
|
+
file: entity.file,
|
|
57
|
+
reason: 'missing frontmatter id attribute',
|
|
58
|
+
});
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const currentName = basename(entity.file);
|
|
62
|
+
const currentSlug = stripIdPrefix(currentName);
|
|
63
|
+
const targetName = `${id}-${currentSlug}`;
|
|
64
|
+
if (currentName === targetName) {
|
|
65
|
+
alreadyCorrect++;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const relDir = dirname(entity.file);
|
|
69
|
+
const fromRel = entity.file;
|
|
70
|
+
const toRel = relDir === '.' ? targetName : join(relDir, targetName);
|
|
71
|
+
const absFrom = resolve(dir, fromRel);
|
|
72
|
+
const absTo = resolve(dir, toRel);
|
|
73
|
+
if (targetPaths.has(absTo) || (absTo !== absFrom && existsSync(absTo))) {
|
|
74
|
+
errors.push({
|
|
75
|
+
file: entity.file,
|
|
76
|
+
reason: `target ${toRel} already exists or collides with another planned rename`,
|
|
77
|
+
});
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
targetPaths.add(absTo);
|
|
81
|
+
const rename = { id, from: fromRel, to: toRel };
|
|
82
|
+
planned.push(rename);
|
|
83
|
+
if (apply) {
|
|
84
|
+
try {
|
|
85
|
+
performRename(absFrom, absTo, useGit, resolve(dir));
|
|
86
|
+
applied.push(rename);
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
errors.push({
|
|
90
|
+
file: entity.file,
|
|
91
|
+
reason: `rename failed: ${err.message ?? String(err)}`,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const exitCode = errors.length > 0 ? EXIT_ERRORS : EXIT_SUCCESS;
|
|
97
|
+
return {
|
|
98
|
+
mode: apply ? 'apply' : 'dry-run',
|
|
99
|
+
scanned: entities.length,
|
|
100
|
+
planned,
|
|
101
|
+
applied,
|
|
102
|
+
skipped: {
|
|
103
|
+
milestones: milestonesSkipped,
|
|
104
|
+
alreadyCorrect,
|
|
105
|
+
},
|
|
106
|
+
errors,
|
|
107
|
+
exitCode,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
|
|
2
|
+
export interface InstallRoot {
|
|
3
|
+
/** Absolute path to the package.json file. */
|
|
4
|
+
packageJsonPath: string;
|
|
5
|
+
/** Directory containing the package.json. */
|
|
6
|
+
rootDir: string;
|
|
7
|
+
/** True if this package declares a workspace (npm/yarn workspaces, pnpm workspace, or lerna). */
|
|
8
|
+
isWorkspaceRoot: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Walk up from `startDir` looking for the nearest package.json. If any
|
|
12
|
+
* ancestor is a workspace root (declares `workspaces`, or has a sibling
|
|
13
|
+
* `pnpm-workspace.yaml` / `lerna.json`), prefer that. Returns null if no
|
|
14
|
+
* package.json is reachable within MAX_ASCENT levels.
|
|
15
|
+
*/
|
|
16
|
+
export declare function findInstallRoot(startDir: string): InstallRoot | null;
|
|
17
|
+
/**
|
|
18
|
+
* Detect the package manager for a project. Order of precedence:
|
|
19
|
+
*
|
|
20
|
+
* 1. The corepack `packageManager` field in package.json (authoritative).
|
|
21
|
+
* 2. The most recently modified lockfile. Repositories sometimes accumulate
|
|
22
|
+
* stale lockfiles (e.g. an old pnpm-lock.yaml left behind after a switch
|
|
23
|
+
* to npm), and the newest mtime is the best heuristic for which PM is
|
|
24
|
+
* currently active.
|
|
25
|
+
* 3. Defaults to npm when no lockfile is present.
|
|
26
|
+
*/
|
|
27
|
+
export declare function detectPackageManager(rootDir: string): PackageManager;
|
|
28
|
+
/** Shell command that installs dependencies for the given package manager. */
|
|
29
|
+
export declare function installCommand(pm: PackageManager): string;
|
|
30
|
+
//# sourceMappingURL=project-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-setup.d.ts","sourceRoot":"","sources":["../../src/commands/project-setup.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC3B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,eAAe,EAAE,OAAO,CAAC;CACzB;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA2BpE;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAmBpE;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAQzD"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { existsSync, readFileSync, statSync } from 'fs';
|
|
2
|
+
import { dirname, join, resolve } from 'path';
|
|
3
|
+
const MAX_ASCENT = 6;
|
|
4
|
+
/**
|
|
5
|
+
* Walk up from `startDir` looking for the nearest package.json. If any
|
|
6
|
+
* ancestor is a workspace root (declares `workspaces`, or has a sibling
|
|
7
|
+
* `pnpm-workspace.yaml` / `lerna.json`), prefer that. Returns null if no
|
|
8
|
+
* package.json is reachable within MAX_ASCENT levels.
|
|
9
|
+
*/
|
|
10
|
+
export function findInstallRoot(startDir) {
|
|
11
|
+
const start = resolve(startDir);
|
|
12
|
+
let nearest = null;
|
|
13
|
+
let current = start;
|
|
14
|
+
for (let i = 0; i <= MAX_ASCENT; i++) {
|
|
15
|
+
const pkgPath = join(current, 'package.json');
|
|
16
|
+
if (existsSync(pkgPath)) {
|
|
17
|
+
const isWorkspace = detectWorkspaceRoot(current, pkgPath);
|
|
18
|
+
const candidate = {
|
|
19
|
+
packageJsonPath: pkgPath,
|
|
20
|
+
rootDir: current,
|
|
21
|
+
isWorkspaceRoot: isWorkspace,
|
|
22
|
+
};
|
|
23
|
+
if (isWorkspace) {
|
|
24
|
+
return candidate;
|
|
25
|
+
}
|
|
26
|
+
if (!nearest) {
|
|
27
|
+
nearest = candidate;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const parent = dirname(current);
|
|
31
|
+
if (parent === current)
|
|
32
|
+
break;
|
|
33
|
+
current = parent;
|
|
34
|
+
}
|
|
35
|
+
return nearest;
|
|
36
|
+
}
|
|
37
|
+
function detectWorkspaceRoot(dir, pkgPath) {
|
|
38
|
+
if (existsSync(join(dir, 'pnpm-workspace.yaml')))
|
|
39
|
+
return true;
|
|
40
|
+
if (existsSync(join(dir, 'lerna.json')))
|
|
41
|
+
return true;
|
|
42
|
+
try {
|
|
43
|
+
const raw = readFileSync(pkgPath, 'utf-8');
|
|
44
|
+
const pkg = JSON.parse(raw);
|
|
45
|
+
if (pkg && pkg.workspaces)
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Malformed package.json — treat as non-workspace.
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const LOCKFILES = [
|
|
54
|
+
{ file: 'bun.lockb', pm: 'bun' },
|
|
55
|
+
{ file: 'bun.lock', pm: 'bun' },
|
|
56
|
+
{ file: 'pnpm-lock.yaml', pm: 'pnpm' },
|
|
57
|
+
{ file: 'yarn.lock', pm: 'yarn' },
|
|
58
|
+
{ file: 'package-lock.json', pm: 'npm' },
|
|
59
|
+
];
|
|
60
|
+
const VALID_PMS = ['npm', 'pnpm', 'yarn', 'bun'];
|
|
61
|
+
/**
|
|
62
|
+
* Read the corepack `packageManager` field from package.json. Returns the
|
|
63
|
+
* bare name (e.g. "pnpm") when valid, otherwise null.
|
|
64
|
+
*/
|
|
65
|
+
function readPackageManagerField(rootDir) {
|
|
66
|
+
const pkgPath = join(rootDir, 'package.json');
|
|
67
|
+
if (!existsSync(pkgPath))
|
|
68
|
+
return null;
|
|
69
|
+
try {
|
|
70
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
71
|
+
const field = typeof pkg.packageManager === 'string' ? pkg.packageManager : '';
|
|
72
|
+
const name = field.split('@')[0].trim().toLowerCase();
|
|
73
|
+
if (VALID_PMS.includes(name))
|
|
74
|
+
return name;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Malformed package.json — treat as unset.
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Detect the package manager for a project. Order of precedence:
|
|
83
|
+
*
|
|
84
|
+
* 1. The corepack `packageManager` field in package.json (authoritative).
|
|
85
|
+
* 2. The most recently modified lockfile. Repositories sometimes accumulate
|
|
86
|
+
* stale lockfiles (e.g. an old pnpm-lock.yaml left behind after a switch
|
|
87
|
+
* to npm), and the newest mtime is the best heuristic for which PM is
|
|
88
|
+
* currently active.
|
|
89
|
+
* 3. Defaults to npm when no lockfile is present.
|
|
90
|
+
*/
|
|
91
|
+
export function detectPackageManager(rootDir) {
|
|
92
|
+
const fromField = readPackageManagerField(rootDir);
|
|
93
|
+
if (fromField)
|
|
94
|
+
return fromField;
|
|
95
|
+
let newest = null;
|
|
96
|
+
for (const { file, pm } of LOCKFILES) {
|
|
97
|
+
const path = join(rootDir, file);
|
|
98
|
+
if (!existsSync(path))
|
|
99
|
+
continue;
|
|
100
|
+
let mtime;
|
|
101
|
+
try {
|
|
102
|
+
mtime = statSync(path).mtimeMs;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (!newest || mtime > newest.mtime) {
|
|
108
|
+
newest = { pm, mtime };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return newest ? newest.pm : 'npm';
|
|
112
|
+
}
|
|
113
|
+
/** Shell command that installs dependencies for the given package manager. */
|
|
114
|
+
export function installCommand(pm) {
|
|
115
|
+
switch (pm) {
|
|
116
|
+
case 'pnpm': return 'pnpm install';
|
|
117
|
+
case 'yarn': return 'yarn install';
|
|
118
|
+
case 'bun': return 'bun install';
|
|
119
|
+
case 'npm':
|
|
120
|
+
default: return 'npm install';
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=project-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../src/commands/project-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,27 +11,5 @@ interface TemplateOptions {
|
|
|
11
11
|
attrs?: Record<string, string>;
|
|
12
12
|
}
|
|
13
13
|
export declare function renderTemplate(type: PlanItemType, opts: TemplateOptions): string;
|
|
14
|
-
export interface StatusPageDef {
|
|
15
|
-
/** Plan type directory (work, spec, decision, milestone) */
|
|
16
|
-
typeDir: string;
|
|
17
|
-
/** Status value used in the backlog filter */
|
|
18
|
-
status: string;
|
|
19
|
-
/** Human-readable title */
|
|
20
|
-
title: string;
|
|
21
|
-
/** Sort field for the backlog rune */
|
|
22
|
-
sort: string;
|
|
23
|
-
/** Entity types to show (for work dir which includes bugs) */
|
|
24
|
-
show?: string;
|
|
25
|
-
}
|
|
26
|
-
/** Status pages generated during init — focused on the most useful statuses per type. */
|
|
27
|
-
export declare const STATUS_PAGES: StatusPageDef[];
|
|
28
|
-
/**
|
|
29
|
-
* Render a status filter page containing a backlog rune that filters by status.
|
|
30
|
-
*/
|
|
31
|
-
export declare function renderStatusPage(def: StatusPageDef): string;
|
|
32
|
-
/**
|
|
33
|
-
* Render a type-level index page with links to each status filter page.
|
|
34
|
-
*/
|
|
35
|
-
export declare function renderTypeIndexPage(typeDir: string): string;
|
|
36
14
|
export {};
|
|
37
15
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AAE9E,eAAO,MAAM,WAAW,EAAE,YAAY,EAAqD,CAAC;AAE5F,UAAU,eAAe;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAQhF
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AAE9E,eAAO,MAAM,WAAW,EAAE,YAAY,EAAqD,CAAC;AAE5F,UAAU,eAAe;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAQhF"}
|
|
@@ -111,50 +111,4 @@ function milestoneTemplate({ id, title, attrs }) {
|
|
|
111
111
|
{% /milestone %}
|
|
112
112
|
`;
|
|
113
113
|
}
|
|
114
|
-
/** Status pages generated during init — focused on the most useful statuses per type. */
|
|
115
|
-
export const STATUS_PAGES = [
|
|
116
|
-
// Work items (show=all includes bugs alongside work items)
|
|
117
|
-
{ typeDir: 'work', status: 'in-progress', title: 'In Progress', sort: 'priority', show: 'all' },
|
|
118
|
-
{ typeDir: 'work', status: 'ready', title: 'Ready', sort: 'priority', show: 'all' },
|
|
119
|
-
{ typeDir: 'work', status: 'blocked', title: 'Blocked', sort: 'priority', show: 'all' },
|
|
120
|
-
{ typeDir: 'work', status: 'done', title: 'Done', sort: 'priority', show: 'all' },
|
|
121
|
-
// Specs
|
|
122
|
-
{ typeDir: 'specs', status: 'accepted', title: 'Accepted', sort: 'id', show: 'spec' },
|
|
123
|
-
{ typeDir: 'specs', status: 'draft', title: 'Draft', sort: 'id', show: 'spec' },
|
|
124
|
-
// Decisions
|
|
125
|
-
{ typeDir: 'decisions', status: 'accepted', title: 'Accepted', sort: 'id', show: 'decision' },
|
|
126
|
-
{ typeDir: 'decisions', status: 'proposed', title: 'Proposed', sort: 'id', show: 'decision' },
|
|
127
|
-
// Milestones
|
|
128
|
-
{ typeDir: 'milestones', status: 'active', title: 'Active', sort: 'id', show: 'milestone' },
|
|
129
|
-
{ typeDir: 'milestones', status: 'complete', title: 'Complete', sort: 'id', show: 'milestone' },
|
|
130
|
-
];
|
|
131
|
-
/** Human-readable labels for type directories. */
|
|
132
|
-
const TYPE_TITLES = {
|
|
133
|
-
work: 'Work Items',
|
|
134
|
-
specs: 'Specifications',
|
|
135
|
-
decisions: 'Decisions',
|
|
136
|
-
milestones: 'Milestones',
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* Render a status filter page containing a backlog rune that filters by status.
|
|
140
|
-
*/
|
|
141
|
-
export function renderStatusPage(def) {
|
|
142
|
-
const showAttr = def.show ? ` show="${def.show}"` : '';
|
|
143
|
-
return `# ${def.title}
|
|
144
|
-
|
|
145
|
-
{% backlog filter="status:${def.status}" sort="${def.sort}"${showAttr} /%}
|
|
146
|
-
`;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Render a type-level index page with links to each status filter page.
|
|
150
|
-
*/
|
|
151
|
-
export function renderTypeIndexPage(typeDir) {
|
|
152
|
-
const title = TYPE_TITLES[typeDir] || typeDir;
|
|
153
|
-
const pages = STATUS_PAGES.filter(p => p.typeDir === typeDir);
|
|
154
|
-
const links = pages.map(p => `- [${p.title}](${p.status})`).join('\n');
|
|
155
|
-
return `# ${title}
|
|
156
|
-
|
|
157
|
-
${links}
|
|
158
|
-
`;
|
|
159
|
-
}
|
|
160
114
|
//# sourceMappingURL=templates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAS5F,MAAM,UAAU,cAAc,CAAC,IAAkB,EAAE,IAAqB;IACvE,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,WAAW,CAAC,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,IAA4B,EAAE,KAA8B;IAC/E,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAmB;IAC1D,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACtH,OAAO,WAAW,CAAC;;IAEhB,KAAK;;;;;;;;;;;;;;CAcR,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAmB;IACzD,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACjG,OAAO,UAAU,CAAC;;IAEf,KAAK;;;;;;;;;;;;;;;;;CAiBR,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAmB;IAC9D,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3F,OAAO,eAAe,CAAC;;IAEpB,KAAK;;;;;;;;;;;;;;;;;;;CAmBR,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAmB;IAC1D,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,WAAW,CAAC;;IAEhB,KAAK;;;;;;;CAOR,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAmB;IAC/D,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,gBAAgB,CAAC;;IAErB,EAAE,MAAM,KAAK;;;;;;;CAOhB,CAAC;AACF,CAAC
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAInC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAInC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC;CACjB;AAgaD,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CA4CpE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readFileSync } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
2
|
+
import { basename, join } from 'path';
|
|
3
3
|
import { scanPlanFiles } from '../scanner.js';
|
|
4
4
|
// --- Valid attribute values per type ---
|
|
5
5
|
const VALID_STATUSES = {
|
|
@@ -349,6 +349,43 @@ function checkOrphanedWorkItems(entities) {
|
|
|
349
349
|
}
|
|
350
350
|
return issues;
|
|
351
351
|
}
|
|
352
|
+
/** Matches the canonical `{PREFIX}-{digits}-` filename prefix. */
|
|
353
|
+
const FILENAME_ID_PREFIX_RE = /^(WORK|BUG|SPEC|ADR)-\d+-/;
|
|
354
|
+
function checkFilenameIdMatch(entities) {
|
|
355
|
+
const issues = [];
|
|
356
|
+
for (const e of entities) {
|
|
357
|
+
if (e.type === 'milestone')
|
|
358
|
+
continue;
|
|
359
|
+
const id = e.attributes.id;
|
|
360
|
+
if (!id)
|
|
361
|
+
continue;
|
|
362
|
+
const fileName = basename(e.file);
|
|
363
|
+
const expectedPrefix = `${id}-`;
|
|
364
|
+
if (fileName.startsWith(expectedPrefix))
|
|
365
|
+
continue;
|
|
366
|
+
const source = e.attributes.id || e.file;
|
|
367
|
+
if (FILENAME_ID_PREFIX_RE.test(fileName)) {
|
|
368
|
+
const actualPrefix = fileName.match(FILENAME_ID_PREFIX_RE)[0].replace(/-$/, '');
|
|
369
|
+
issues.push({
|
|
370
|
+
severity: 'warning',
|
|
371
|
+
type: 'filename-id-mismatch',
|
|
372
|
+
source,
|
|
373
|
+
file: e.file,
|
|
374
|
+
message: `${id} filename starts with ${actualPrefix} — run \`refrakt plan migrate filenames --apply\` to fix`,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
issues.push({
|
|
379
|
+
severity: 'warning',
|
|
380
|
+
type: 'filename-missing-id',
|
|
381
|
+
source,
|
|
382
|
+
file: e.file,
|
|
383
|
+
message: `${id} filename lacks ID prefix — run \`refrakt plan migrate filenames --apply\` to fix`,
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
return issues;
|
|
388
|
+
}
|
|
352
389
|
function checkCompletedMilestones(entities) {
|
|
353
390
|
const issues = [];
|
|
354
391
|
const milestones = entities.filter(e => e.type === 'milestone' && e.attributes.status === 'complete');
|
|
@@ -390,6 +427,7 @@ export function runValidate(options) {
|
|
|
390
427
|
...checkOrphanedWorkItems(entities),
|
|
391
428
|
...checkCompletedMilestones(entities),
|
|
392
429
|
...checkResolutions(entities, dir),
|
|
430
|
+
...checkFilenameIdMatch(entities),
|
|
393
431
|
];
|
|
394
432
|
let errors = 0;
|
|
395
433
|
let warnings = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,eAAO,MAAM,IAAI,EAAE,WA4HlB,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,16 +15,15 @@ import { planPipelineHooks } from './pipeline.js';
|
|
|
15
15
|
export const plan = {
|
|
16
16
|
name: 'plan',
|
|
17
17
|
displayName: 'Plan',
|
|
18
|
-
version: '0.
|
|
18
|
+
version: '0.10.0',
|
|
19
19
|
runes: {
|
|
20
20
|
'spec': {
|
|
21
21
|
transform: spec,
|
|
22
22
|
description: 'Specification document with status tracking, versioning, and entity registry integration',
|
|
23
|
-
reinterprets: { heading: 'spec title', blockquote: 'scope summary', paragraph: 'specification content' },
|
|
24
23
|
fixture: `{% spec id="SPEC-001" status="accepted" version="1.0" %}
|
|
25
24
|
# Authentication System
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
Token-based authentication for the API layer.
|
|
28
27
|
|
|
29
28
|
Users authenticate via JWT tokens issued by the auth endpoint.
|
|
30
29
|
Tokens expire after 24 hours and can be refreshed.
|
|
@@ -34,7 +33,6 @@ Tokens expire after 24 hours and can be refreshed.
|
|
|
34
33
|
transform: work,
|
|
35
34
|
aliases: ['task'],
|
|
36
35
|
description: 'Work item with acceptance criteria, references, and implementation tracking',
|
|
37
|
-
reinterprets: { heading: 'work item title or section heading', paragraph: 'description', list: 'acceptance criteria or references' },
|
|
38
36
|
fixture: `{% work id="RF-142" status="ready" priority="high" complexity="moderate" milestone="v0.5.0" %}
|
|
39
37
|
# Implement dark mode support
|
|
40
38
|
|
|
@@ -52,7 +50,6 @@ Use CSS custom properties with media query swapping.
|
|
|
52
50
|
'bug': {
|
|
53
51
|
transform: bug,
|
|
54
52
|
description: 'Bug report with structured reproduction steps and severity tracking',
|
|
55
|
-
reinterprets: { heading: 'bug title or section heading', list: 'reproduction steps or environment details', paragraph: 'expected/actual behaviour' },
|
|
56
53
|
fixture: `{% bug id="RF-201" status="confirmed" severity="major" %}
|
|
57
54
|
# Showcase bleed breaks with overflow:hidden parent
|
|
58
55
|
|
|
@@ -72,7 +69,6 @@ Showcase is clipped at the section edge.
|
|
|
72
69
|
transform: decision,
|
|
73
70
|
aliases: ['adr'],
|
|
74
71
|
description: 'Architecture decision record capturing context, options, decision, rationale, and consequences',
|
|
75
|
-
reinterprets: { heading: 'decision title or section heading', paragraph: 'context, rationale, or consequences', list: 'options considered' },
|
|
76
72
|
fixture: `{% decision id="ADR-007" status="accepted" date="2026-03-11" %}
|
|
77
73
|
# Use CSS custom properties for token injection
|
|
78
74
|
|
|
@@ -98,7 +94,6 @@ Custom properties cascade naturally without JavaScript.
|
|
|
98
94
|
'milestone': {
|
|
99
95
|
transform: milestone,
|
|
100
96
|
description: 'Named release target with scope, goals, and status tracking',
|
|
101
|
-
reinterprets: { heading: 'milestone title', list: 'goals' },
|
|
102
97
|
fixture: `{% milestone name="v0.5.0" target="2026-03-29" status="active" %}
|
|
103
98
|
# v0.5.0 — Layout & Tint
|
|
104
99
|
|
|
@@ -110,31 +105,26 @@ Custom properties cascade naturally without JavaScript.
|
|
|
110
105
|
'backlog': {
|
|
111
106
|
transform: backlog,
|
|
112
107
|
description: 'Aggregation view of work items and bugs with filtering, sorting, and grouping',
|
|
113
|
-
reinterprets: {},
|
|
114
108
|
fixture: `{% backlog filter="status:ready" sort="priority" group="status" /%}`,
|
|
115
109
|
},
|
|
116
110
|
'decision-log': {
|
|
117
111
|
transform: decisionLog,
|
|
118
112
|
description: 'Chronological view of architecture decision records',
|
|
119
|
-
reinterprets: {},
|
|
120
113
|
fixture: `{% decision-log sort="date" /%}`,
|
|
121
114
|
},
|
|
122
115
|
'plan-progress': {
|
|
123
116
|
transform: planProgress,
|
|
124
117
|
description: 'Progress summary showing status counts per entity type',
|
|
125
|
-
reinterprets: {},
|
|
126
118
|
fixture: `{% plan-progress /%}`,
|
|
127
119
|
},
|
|
128
120
|
'plan-activity': {
|
|
129
121
|
transform: planActivity,
|
|
130
122
|
description: 'Recent activity feed sorted by file modification time',
|
|
131
|
-
reinterprets: {},
|
|
132
123
|
fixture: `{% plan-activity limit="10" /%}`,
|
|
133
124
|
},
|
|
134
125
|
'plan-history': {
|
|
135
126
|
transform: planHistory,
|
|
136
127
|
description: 'Git-native entity history timeline showing attribute transitions, criteria progress, and lifecycle events',
|
|
137
|
-
reinterprets: {},
|
|
138
128
|
fixture: `{% plan-history limit="20" /%}`,
|
|
139
129
|
},
|
|
140
130
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,IAAI,GAAgB;IAChC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,IAAI,GAAgB;IAChC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE;QACN,MAAM,EAAE;YACP,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,0FAA0F;YACvG,OAAO,EAAE;;;;;;;YAOA;SACT;QACD,MAAM,EAAE;YACP,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,6EAA6E;YAC1F,OAAO,EAAE;;;;;;;;;;;;YAYA;SACT;QACD,KAAK,EAAE;YACN,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,qEAAqE;YAClF,OAAO,EAAE;;;;;;;;;;;;;WAaD;SACR;QACD,UAAU,EAAE;YACX,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,CAAC,KAAK,CAAC;YAChB,WAAW,EAAE,gGAAgG;YAC7G,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;gBAoBI;SACb;QACD,WAAW,EAAE;YACZ,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,6DAA6D;YAC1E,OAAO,EAAE;;;;;;iBAMK;SACd;QACD,SAAS,EAAE;YACV,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,+EAA+E;YAC5F,OAAO,EAAE,qEAAqE;SAC9E;QACD,cAAc,EAAE;YACf,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,iCAAiC;SAC1C;QACD,eAAe,EAAE;YAChB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,sBAAsB;SAC/B;QACD,eAAe,EAAE;YAChB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,iCAAiC;SAC1C;QACD,cAAc,EAAE;YACf,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,2GAA2G;YACxH,OAAO,EAAE,gCAAgC;SACzC;KACD;IACD,KAAK,EAAE;QACN,KAAK,EAAE,MAA4D;KACnE;IACD,SAAS,EAAE;QACV,mBAAmB,EAAE,YAAY;QACjC,kBAAkB,EAAE,kBAAkB;KACtC;IACD,QAAQ,EAAE,iBAAiB;CAC3B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/tags/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/tags/spec.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/tags/spec.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAQvC,eAAO,MAAM,IAAI,gBAiEf,CAAC"}
|