maxsim-flutter 1.23.0 → 1.25.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/claude-setup/setup-orchestrator.d.ts +2 -2
- package/dist/claude-setup/setup-orchestrator.d.ts.map +1 -1
- package/dist/claude-setup/setup-orchestrator.js +57 -23
- package/dist/claude-setup/setup-orchestrator.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +10 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +36 -10
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/core/context.d.ts +9 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +1 -0
- package/dist/core/context.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,8 +14,8 @@ export interface ClaudeSetupOptions {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Runs the full Claude setup for a scaffolded Flutter project.
|
|
17
|
-
* Generates CLAUDE.md, agent definitions, skills, hooks, MCP config,
|
|
18
|
-
* slash commands, and prd.json.
|
|
17
|
+
* Generates CLAUDE.md, rules, agent definitions, skills, hooks, MCP config,
|
|
18
|
+
* slash commands, and prd.json — gated by the resolved preset.
|
|
19
19
|
*/
|
|
20
20
|
export declare function runClaudeSetup(context: ProjectContext, outputPath: string, options?: ClaudeSetupOptions): Promise<ClaudeSetupResult>;
|
|
21
21
|
//# sourceMappingURL=setup-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-orchestrator.d.ts","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-orchestrator.d.ts","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAWzD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAyF5B"}
|
|
@@ -6,37 +6,71 @@ import { writeSkills } from './skill-writer.js';
|
|
|
6
6
|
import { writeHooks } from './hooks-writer.js';
|
|
7
7
|
import { writeMcpConfig } from './mcp-config-writer.js';
|
|
8
8
|
import { writeCommands } from './commands-writer.js';
|
|
9
|
+
import { writeRules } from './rules-writer.js';
|
|
10
|
+
import { resolvePreset } from './preset-resolver.js';
|
|
9
11
|
import { generatePrd } from './prd-generator.js';
|
|
10
12
|
/**
|
|
11
13
|
* Runs the full Claude setup for a scaffolded Flutter project.
|
|
12
|
-
* Generates CLAUDE.md, agent definitions, skills, hooks, MCP config,
|
|
13
|
-
* slash commands, and prd.json.
|
|
14
|
+
* Generates CLAUDE.md, rules, agent definitions, skills, hooks, MCP config,
|
|
15
|
+
* slash commands, and prd.json — gated by the resolved preset.
|
|
14
16
|
*/
|
|
15
17
|
export async function runClaudeSetup(context, outputPath, options) {
|
|
16
18
|
const filesWritten = [];
|
|
19
|
+
// 1. Resolve preset (with optional overrides from rawConfig)
|
|
20
|
+
const overrides = context.rawConfig.claude?.overrides;
|
|
21
|
+
const resolved = resolvePreset(context.claude.preset, overrides);
|
|
17
22
|
// Ensure .claude directory exists
|
|
18
23
|
await mkdir(join(outputPath, '.claude'), { recursive: true });
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
24
|
+
// 2. Generate slim CLAUDE.md
|
|
25
|
+
if (resolved.claudeMd) {
|
|
26
|
+
const claudeMdContent = generateClaudeMd(context);
|
|
27
|
+
const claudeMdPath = join(outputPath, 'CLAUDE.md');
|
|
28
|
+
await writeFile(claudeMdPath, claudeMdContent, 'utf-8');
|
|
29
|
+
filesWritten.push(claudeMdPath);
|
|
30
|
+
}
|
|
31
|
+
// 3. Write rules (.claude/rules/)
|
|
32
|
+
if (resolved.rules) {
|
|
33
|
+
await writeRules(context, outputPath);
|
|
34
|
+
const rulesDir = join(outputPath, '.claude', 'rules');
|
|
35
|
+
filesWritten.push(join(rulesDir, 'architecture.md'), join(rulesDir, 'riverpod.md'), join(rulesDir, 'go-router.md'), join(rulesDir, 'testing.md'), join(rulesDir, 'security.md'));
|
|
36
|
+
if (context.modules.auth)
|
|
37
|
+
filesWritten.push(join(rulesDir, 'auth.md'));
|
|
38
|
+
if (context.modules.api)
|
|
39
|
+
filesWritten.push(join(rulesDir, 'api.md'));
|
|
40
|
+
if (context.modules.database)
|
|
41
|
+
filesWritten.push(join(rulesDir, 'database.md'));
|
|
42
|
+
if (context.modules.i18n)
|
|
43
|
+
filesWritten.push(join(rulesDir, 'i18n.md'));
|
|
44
|
+
}
|
|
45
|
+
// 4. Write agent definition files (.claude/agents/)
|
|
46
|
+
if (resolved.agents) {
|
|
47
|
+
const agentFiles = await writeAgents(context, outputPath);
|
|
48
|
+
filesWritten.push(...agentFiles);
|
|
49
|
+
}
|
|
50
|
+
// 5. Write hooks config (.claude/hooks/ + .claude/settings.local.json)
|
|
51
|
+
if (resolved.hooks) {
|
|
52
|
+
await writeHooks(context, outputPath);
|
|
53
|
+
const hooksDir = join(outputPath, '.claude', 'hooks');
|
|
54
|
+
filesWritten.push(join(hooksDir, 'block-dangerous.sh'), join(hooksDir, 'format-dart.sh'), join(outputPath, '.claude', 'settings.local.json'));
|
|
55
|
+
}
|
|
56
|
+
// 6. Write skill files (.claude/skills/)
|
|
57
|
+
if (resolved.skills) {
|
|
58
|
+
await writeSkills(context, outputPath);
|
|
59
|
+
const skillsDir = join(outputPath, '.claude', 'skills');
|
|
60
|
+
filesWritten.push(join(skillsDir, 'flutter-patterns.md'), join(skillsDir, 'go-router-patterns.md'), join(skillsDir, 'module-conventions.md'), join(skillsDir, 'prd.md'), join(skillsDir, 'security-review.md'), join(skillsDir, 'performance-check.md'), join(skillsDir, 'add-feature.md'));
|
|
61
|
+
}
|
|
62
|
+
// 7. Write slash commands (.claude/commands/)
|
|
63
|
+
if (resolved.commands) {
|
|
64
|
+
await writeCommands(context, outputPath);
|
|
65
|
+
const commandsDir = join(outputPath, '.claude', 'commands');
|
|
66
|
+
filesWritten.push(join(commandsDir, 'add-feature.md'), join(commandsDir, 'analyze.md'));
|
|
67
|
+
}
|
|
68
|
+
// 8. Write MCP server config (.mcp.json)
|
|
69
|
+
if (resolved.mcp) {
|
|
70
|
+
await writeMcpConfig(context, outputPath);
|
|
71
|
+
filesWritten.push(join(outputPath, '.mcp.json'));
|
|
72
|
+
}
|
|
73
|
+
// 9. Generate and write prd.json (skipped when skipPrd is true)
|
|
40
74
|
if (!options?.skipPrd) {
|
|
41
75
|
const prdContent = generatePrd(context);
|
|
42
76
|
const prdPath = join(outputPath, 'prd.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAiBjD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,UAAkB,EAClB,OAA4B;IAE5B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,kCAAkC;IAClC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,
|
|
1
|
+
{"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,16 @@ import { Command } from 'commander';
|
|
|
9
9
|
* @returns Absolute paths of the .bak files created
|
|
10
10
|
*/
|
|
11
11
|
export declare function backupAgentFiles(agentsDir: string): Promise<string[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Back up existing rule markdown files in a .claude/rules/ directory.
|
|
14
|
+
* Each *.md file is copied to *.md.bak (overwriting any previous backup).
|
|
15
|
+
* Only .md files are backed up — subdirectories and non-.md files are ignored.
|
|
16
|
+
* If the rules directory does not exist, returns an empty array (no-op).
|
|
17
|
+
*
|
|
18
|
+
* @param rulesDir - Absolute path to the .claude/rules/ directory
|
|
19
|
+
* @returns Absolute paths of the .bak files created
|
|
20
|
+
*/
|
|
21
|
+
export declare function backupRulesFiles(rulesDir: string): Promise<string[]>;
|
|
12
22
|
/**
|
|
13
23
|
* Commander command factory for the upgrade command.
|
|
14
24
|
* Usage: maxsim-flutter upgrade [path] [--yes] [--dry-run] [--regenerate-prd]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAmB9C"}
|
|
@@ -8,28 +8,27 @@ import { createProjectContext } from '../../core/context.js';
|
|
|
8
8
|
import { runClaudeSetup } from '../../claude-setup/setup-orchestrator.js';
|
|
9
9
|
import { findProjectRoot } from './add.js';
|
|
10
10
|
/**
|
|
11
|
-
* Back up existing
|
|
11
|
+
* Back up existing markdown files in a .claude/ subdirectory (agents or rules).
|
|
12
12
|
* Each *.md file is copied to *.md.bak (overwriting any previous backup).
|
|
13
13
|
* Only .md files are backed up — subdirectories and non-.md files are ignored.
|
|
14
|
-
* If the
|
|
14
|
+
* If the directory does not exist, returns an empty array (no-op).
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
16
|
+
* @param dir - Absolute path to the directory to back up
|
|
17
17
|
* @returns Absolute paths of the .bak files created
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
async function backupMdFiles(dir) {
|
|
20
20
|
let entries;
|
|
21
21
|
try {
|
|
22
|
-
entries = await readdir(
|
|
22
|
+
entries = await readdir(dir);
|
|
23
23
|
}
|
|
24
24
|
catch {
|
|
25
|
-
// Directory doesn't exist — nothing to backup
|
|
26
25
|
return [];
|
|
27
26
|
}
|
|
28
27
|
const bakPaths = [];
|
|
29
28
|
for (const entry of entries) {
|
|
30
29
|
if (!entry.endsWith('.md'))
|
|
31
30
|
continue;
|
|
32
|
-
const filePath = join(
|
|
31
|
+
const filePath = join(dir, entry);
|
|
33
32
|
const fileStat = await stat(filePath);
|
|
34
33
|
if (!fileStat.isFile())
|
|
35
34
|
continue;
|
|
@@ -39,6 +38,30 @@ export async function backupAgentFiles(agentsDir) {
|
|
|
39
38
|
}
|
|
40
39
|
return bakPaths;
|
|
41
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Back up existing agent markdown files in a .claude/agents/ directory.
|
|
43
|
+
* Each *.md file is copied to *.md.bak (overwriting any previous backup).
|
|
44
|
+
* Only .md files are backed up — subdirectories and non-.md files are ignored.
|
|
45
|
+
* If the agents directory does not exist, returns an empty array (no-op).
|
|
46
|
+
*
|
|
47
|
+
* @param agentsDir - Absolute path to the .claude/agents/ directory
|
|
48
|
+
* @returns Absolute paths of the .bak files created
|
|
49
|
+
*/
|
|
50
|
+
export async function backupAgentFiles(agentsDir) {
|
|
51
|
+
return backupMdFiles(agentsDir);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Back up existing rule markdown files in a .claude/rules/ directory.
|
|
55
|
+
* Each *.md file is copied to *.md.bak (overwriting any previous backup).
|
|
56
|
+
* Only .md files are backed up — subdirectories and non-.md files are ignored.
|
|
57
|
+
* If the rules directory does not exist, returns an empty array (no-op).
|
|
58
|
+
*
|
|
59
|
+
* @param rulesDir - Absolute path to the .claude/rules/ directory
|
|
60
|
+
* @returns Absolute paths of the .bak files created
|
|
61
|
+
*/
|
|
62
|
+
export async function backupRulesFiles(rulesDir) {
|
|
63
|
+
return backupMdFiles(rulesDir);
|
|
64
|
+
}
|
|
42
65
|
/**
|
|
43
66
|
* Commander command factory for the upgrade command.
|
|
44
67
|
* Usage: maxsim-flutter upgrade [path] [--yes] [--dry-run] [--regenerate-prd]
|
|
@@ -124,10 +147,13 @@ async function runUpgrade(pathArg, options) {
|
|
|
124
147
|
process.exit(0);
|
|
125
148
|
}
|
|
126
149
|
}
|
|
127
|
-
// 5. Back up existing agent files BEFORE regenerating
|
|
150
|
+
// 5. Back up existing agent and rule files BEFORE regenerating
|
|
151
|
+
const rulesDir = join(projectRoot, '.claude', 'rules');
|
|
152
|
+
const backedUpRules = await backupRulesFiles(rulesDir);
|
|
128
153
|
const backedUp = await backupAgentFiles(agentsDir);
|
|
129
|
-
|
|
130
|
-
|
|
154
|
+
const totalBacked = backedUp.length + backedUpRules.length;
|
|
155
|
+
if (totalBacked > 0) {
|
|
156
|
+
p.log.info(`Backed up ${totalBacked} file(s) to .bak`);
|
|
131
157
|
}
|
|
132
158
|
// 6. Re-run Claude setup (skipPrd unless --regenerate-prd)
|
|
133
159
|
const result = await runClaudeSetup(context, projectRoot, { skipPrd: !regeneratePrd });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;GAQG;AACH,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/core/context.d.ts
CHANGED
|
@@ -49,6 +49,15 @@ export interface ProjectContext {
|
|
|
49
49
|
claude: {
|
|
50
50
|
enabled: boolean;
|
|
51
51
|
preset?: 'minimal' | 'standard' | 'full';
|
|
52
|
+
overrides?: {
|
|
53
|
+
claudeMd?: boolean;
|
|
54
|
+
rules?: boolean;
|
|
55
|
+
agents?: boolean;
|
|
56
|
+
hooks?: boolean;
|
|
57
|
+
skills?: boolean;
|
|
58
|
+
commands?: boolean;
|
|
59
|
+
mcp?: boolean;
|
|
60
|
+
};
|
|
52
61
|
agentTeams: boolean;
|
|
53
62
|
};
|
|
54
63
|
outputDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,cAAc;IAE7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,QAAQ,EAAE,CAAC;IAGtB,OAAO,EAAE;QACP,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;SAAE,CAAC;QAC/D,GAAG,EAAE,KAAK,GAAG;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,QAAQ,EAAE,KAAK,GAAG;YAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxD,IAAI,EAAE,KAAK,GAAG;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACpE,KAAK,EAAE,KAAK,GAAG;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC;QACzD,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,UAAU,GAAG,WAAW,CAAA;SAAE,CAAC;QACrD,SAAS,EAAE,KAAK,GAAG;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QACxC,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;SAAE,CAAC;QAC9D,WAAW,EAAE,KAAK,GAAG;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IAGF,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;QACtC,cAAc,EAAE;YACd,UAAU,EAAE,OAAO,CAAC;YACpB,aAAa,EAAE,OAAO,CAAC;YACvB,WAAW,EAAE,OAAO,CAAC;SACtB,CAAC;KACH,CAAC;IAGF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;QACzC,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IAGF,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,YAAY,CAAC;CACzB;AA2ED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,cAAc;IAE7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,QAAQ,EAAE,CAAC;IAGtB,OAAO,EAAE;QACP,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;SAAE,CAAC;QAC/D,GAAG,EAAE,KAAK,GAAG;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,QAAQ,EAAE,KAAK,GAAG;YAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxD,IAAI,EAAE,KAAK,GAAG;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACpE,KAAK,EAAE,KAAK,GAAG;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC;QACzD,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,UAAU,GAAG,WAAW,CAAA;SAAE,CAAC;QACrD,SAAS,EAAE,KAAK,GAAG;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QACxC,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;SAAE,CAAC;QAC9D,WAAW,EAAE,KAAK,GAAG;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IAGF,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;QACtC,cAAc,EAAE;YACd,UAAU,EAAE,OAAO,CAAC;YACpB,aAAa,EAAE,OAAO,CAAC;YACvB,WAAW,EAAE,OAAO,CAAC;SACtB,CAAC;KACH,CAAC;IAGF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;QACzC,SAAS,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,GAAG,CAAC,EAAE,OAAO,CAAC;SACf,CAAC;QACF,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IAGF,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,YAAY,CAAC;CACzB;AA2ED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAwC5F"}
|
package/dist/core/context.js
CHANGED
package/dist/core/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|