@salesforce/b2c-tooling-sdk 0.0.8 → 0.2.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/cjs/auth/index.d.ts +2 -0
- package/dist/cjs/auth/index.js +2 -0
- package/dist/cjs/auth/index.js.map +1 -1
- package/dist/cjs/auth/middleware.d.ts +196 -0
- package/dist/cjs/auth/middleware.js +190 -0
- package/dist/cjs/auth/middleware.js.map +1 -0
- package/dist/cjs/auth/oauth.js +21 -9
- package/dist/cjs/auth/oauth.js.map +1 -1
- package/dist/cjs/cli/base-command.d.ts +15 -0
- package/dist/cjs/cli/base-command.js +58 -2
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/hooks.d.ts +98 -5
- package/dist/cjs/cli/hooks.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +1 -0
- package/dist/cjs/cli/mrt-command.d.ts +2 -1
- package/dist/cjs/cli/mrt-command.js +3 -2
- package/dist/cjs/cli/mrt-command.js.map +1 -1
- package/dist/cjs/cli/oauth-command.d.ts +1 -0
- package/dist/cjs/cli/oauth-command.js +6 -0
- package/dist/cjs/cli/oauth-command.js.map +1 -1
- package/dist/cjs/cli/ods-command.d.ts +1 -0
- package/dist/cjs/cli/webdav-command.d.ts +1 -0
- package/dist/cjs/clients/cdn-zones.d.ts +154 -0
- package/dist/cjs/clients/cdn-zones.generated.d.ts +8330 -0
- package/dist/cjs/clients/cdn-zones.generated.js +6 -0
- package/dist/cjs/clients/cdn-zones.generated.js.map +1 -0
- package/dist/cjs/clients/cdn-zones.js +100 -0
- package/dist/cjs/clients/cdn-zones.js.map +1 -0
- package/dist/cjs/clients/error-utils.d.ts +35 -0
- package/dist/cjs/clients/error-utils.js +69 -0
- package/dist/cjs/clients/error-utils.js.map +1 -0
- package/dist/cjs/clients/index.d.ts +11 -2
- package/dist/cjs/clients/index.js +8 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/middleware-registry.d.ts +1 -1
- package/dist/cjs/clients/middleware-registry.js.map +1 -1
- package/dist/cjs/clients/middleware.d.ts +25 -0
- package/dist/cjs/clients/middleware.js +16 -10
- package/dist/cjs/clients/middleware.js.map +1 -1
- package/dist/cjs/clients/mrt-b2c.d.ts +114 -0
- package/dist/cjs/clients/mrt-b2c.generated.d.ts +176 -0
- package/dist/cjs/clients/mrt-b2c.generated.js +6 -0
- package/dist/cjs/clients/mrt-b2c.generated.js.map +1 -0
- package/dist/cjs/clients/mrt-b2c.js +86 -0
- package/dist/cjs/clients/mrt-b2c.js.map +1 -0
- package/dist/cjs/clients/scapi-schemas.d.ts +132 -0
- package/dist/cjs/clients/scapi-schemas.generated.d.ts +328 -0
- package/dist/cjs/clients/scapi-schemas.generated.js +6 -0
- package/dist/cjs/clients/scapi-schemas.generated.js.map +1 -0
- package/dist/cjs/clients/scapi-schemas.js +95 -0
- package/dist/cjs/clients/scapi-schemas.js.map +1 -0
- package/dist/cjs/clients/user-agent.d.ts +43 -0
- package/dist/cjs/clients/user-agent.js +87 -0
- package/dist/cjs/clients/user-agent.js.map +1 -0
- package/dist/cjs/config/dw-json.d.ts +6 -0
- package/dist/cjs/config/dw-json.js.map +1 -1
- package/dist/cjs/config/mapping.js +3 -0
- package/dist/cjs/config/mapping.js.map +1 -1
- package/dist/cjs/config/resolver.d.ts +2 -1
- package/dist/cjs/config/resolver.js +14 -7
- package/dist/cjs/config/resolver.js.map +1 -1
- package/dist/cjs/config/sources/dw-json-source.d.ts +1 -0
- package/dist/cjs/config/sources/dw-json-source.js +1 -0
- package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
- package/dist/cjs/config/sources/index.d.ts +1 -0
- package/dist/cjs/config/sources/index.js +1 -0
- package/dist/cjs/config/sources/index.js.map +1 -1
- package/dist/cjs/config/sources/mobify-source.d.ts +1 -0
- package/dist/cjs/config/sources/mobify-source.js +1 -0
- package/dist/cjs/config/sources/mobify-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.d.ts +14 -0
- package/dist/cjs/config/sources/package-json-source.js +86 -0
- package/dist/cjs/config/sources/package-json-source.js.map +1 -0
- package/dist/cjs/config/types.d.ts +14 -0
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/operations/code/deploy.js +9 -3
- package/dist/cjs/operations/code/deploy.js.map +1 -1
- package/dist/cjs/operations/mrt/access-control.d.ts +192 -0
- package/dist/cjs/operations/mrt/access-control.js +152 -0
- package/dist/cjs/operations/mrt/access-control.js.map +1 -0
- package/dist/cjs/operations/mrt/b2c-config.d.ts +201 -0
- package/dist/cjs/operations/mrt/b2c-config.js +195 -0
- package/dist/cjs/operations/mrt/b2c-config.js.map +1 -0
- package/dist/cjs/operations/mrt/cache.d.ts +80 -0
- package/dist/cjs/operations/mrt/cache.js +65 -0
- package/dist/cjs/operations/mrt/cache.js.map +1 -0
- package/dist/cjs/operations/mrt/deployment.d.ts +157 -0
- package/dist/cjs/operations/mrt/deployment.js +109 -0
- package/dist/cjs/operations/mrt/deployment.js.map +1 -0
- package/dist/cjs/operations/mrt/env.d.ts +141 -0
- package/dist/cjs/operations/mrt/env.js +119 -0
- package/dist/cjs/operations/mrt/env.js.map +1 -1
- package/dist/cjs/operations/mrt/index.d.ts +24 -4
- package/dist/cjs/operations/mrt/index.js +23 -3
- package/dist/cjs/operations/mrt/index.js.map +1 -1
- package/dist/cjs/operations/mrt/member.d.ts +281 -0
- package/dist/cjs/operations/mrt/member.js +244 -0
- package/dist/cjs/operations/mrt/member.js.map +1 -0
- package/dist/cjs/operations/mrt/notification.d.ts +252 -0
- package/dist/cjs/operations/mrt/notification.js +206 -0
- package/dist/cjs/operations/mrt/notification.js.map +1 -0
- package/dist/cjs/operations/mrt/organization.d.ts +80 -0
- package/dist/cjs/operations/mrt/organization.js +53 -0
- package/dist/cjs/operations/mrt/organization.js.map +1 -0
- package/dist/cjs/operations/mrt/project.d.ts +261 -0
- package/dist/cjs/operations/mrt/project.js +232 -0
- package/dist/cjs/operations/mrt/project.js.map +1 -0
- package/dist/cjs/operations/mrt/push.d.ts +122 -8
- package/dist/cjs/operations/mrt/push.js +83 -10
- package/dist/cjs/operations/mrt/push.js.map +1 -1
- package/dist/cjs/operations/mrt/redirect.d.ts +337 -0
- package/dist/cjs/operations/mrt/redirect.js +256 -0
- package/dist/cjs/operations/mrt/redirect.js.map +1 -0
- package/dist/cjs/operations/mrt/user.d.ts +135 -0
- package/dist/cjs/operations/mrt/user.js +153 -0
- package/dist/cjs/operations/mrt/user.js.map +1 -0
- package/dist/cjs/operations/scapi-schemas/collapse.d.ts +150 -0
- package/dist/cjs/operations/scapi-schemas/collapse.js +180 -0
- package/dist/cjs/operations/scapi-schemas/collapse.js.map +1 -0
- package/dist/cjs/operations/scapi-schemas/index.d.ts +53 -0
- package/dist/cjs/operations/scapi-schemas/index.js +59 -0
- package/dist/cjs/operations/scapi-schemas/index.js.map +1 -0
- package/dist/cjs/skills/agents.d.ts +41 -0
- package/dist/cjs/skills/agents.js +159 -0
- package/dist/cjs/skills/agents.js.map +1 -0
- package/dist/cjs/skills/github.d.ts +47 -0
- package/dist/cjs/skills/github.js +246 -0
- package/dist/cjs/skills/github.js.map +1 -0
- package/dist/cjs/skills/index.d.ts +42 -0
- package/dist/cjs/skills/index.js +14 -0
- package/dist/cjs/skills/index.js.map +1 -0
- package/dist/cjs/skills/installer.d.ts +34 -0
- package/dist/cjs/skills/installer.js +181 -0
- package/dist/cjs/skills/installer.js.map +1 -0
- package/dist/cjs/skills/parser.d.ts +39 -0
- package/dist/cjs/skills/parser.js +131 -0
- package/dist/cjs/skills/parser.js.map +1 -0
- package/dist/cjs/skills/types.d.ts +134 -0
- package/dist/cjs/skills/types.js +7 -0
- package/dist/cjs/skills/types.js.map +1 -0
- package/dist/cjs/test-utils/config-isolation.d.ts +2 -0
- package/dist/cjs/test-utils/config-isolation.js +41 -0
- package/dist/cjs/test-utils/config-isolation.js.map +1 -0
- package/dist/cjs/test-utils/index.d.ts +1 -0
- package/dist/cjs/test-utils/index.js +7 -0
- package/dist/cjs/test-utils/index.js.map +1 -0
- package/dist/cjs/version.d.ts +14 -0
- package/dist/cjs/version.js +29 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/auth/index.d.ts +2 -0
- package/dist/esm/auth/index.js +2 -0
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/middleware.d.ts +196 -0
- package/dist/esm/auth/middleware.js +190 -0
- package/dist/esm/auth/middleware.js.map +1 -0
- package/dist/esm/auth/oauth.js +21 -9
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +15 -0
- package/dist/esm/cli/base-command.js +58 -2
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +98 -5
- package/dist/esm/cli/hooks.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -0
- package/dist/esm/cli/mrt-command.d.ts +2 -1
- package/dist/esm/cli/mrt-command.js +3 -2
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/oauth-command.js +6 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/clients/cdn-zones.d.ts +154 -0
- package/dist/esm/clients/cdn-zones.generated.d.ts +8330 -0
- package/dist/esm/clients/cdn-zones.generated.js +6 -0
- package/dist/esm/clients/cdn-zones.generated.js.map +1 -0
- package/dist/esm/clients/cdn-zones.js +100 -0
- package/dist/esm/clients/cdn-zones.js.map +1 -0
- package/dist/esm/clients/error-utils.d.ts +35 -0
- package/dist/esm/clients/error-utils.js +69 -0
- package/dist/esm/clients/error-utils.js.map +1 -0
- package/dist/esm/clients/index.d.ts +11 -2
- package/dist/esm/clients/index.js +8 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +1 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +25 -0
- package/dist/esm/clients/middleware.js +16 -10
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.d.ts +114 -0
- package/dist/esm/clients/mrt-b2c.generated.d.ts +176 -0
- package/dist/esm/clients/mrt-b2c.generated.js +6 -0
- package/dist/esm/clients/mrt-b2c.generated.js.map +1 -0
- package/dist/esm/clients/mrt-b2c.js +86 -0
- package/dist/esm/clients/mrt-b2c.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.d.ts +132 -0
- package/dist/esm/clients/scapi-schemas.generated.d.ts +328 -0
- package/dist/esm/clients/scapi-schemas.generated.js +6 -0
- package/dist/esm/clients/scapi-schemas.generated.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.js +95 -0
- package/dist/esm/clients/scapi-schemas.js.map +1 -0
- package/dist/esm/clients/user-agent.d.ts +43 -0
- package/dist/esm/clients/user-agent.js +87 -0
- package/dist/esm/clients/user-agent.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +6 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/mapping.js +3 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +2 -1
- package/dist/esm/config/resolver.js +14 -7
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +1 -0
- package/dist/esm/config/sources/dw-json-source.js +1 -0
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -0
- package/dist/esm/config/sources/index.js +1 -0
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/sources/mobify-source.d.ts +1 -0
- package/dist/esm/config/sources/mobify-source.js +1 -0
- package/dist/esm/config/sources/mobify-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.d.ts +14 -0
- package/dist/esm/config/sources/package-json-source.js +86 -0
- package/dist/esm/config/sources/package-json-source.js.map +1 -0
- package/dist/esm/config/types.d.ts +14 -0
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operations/code/deploy.js +9 -3
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/mrt/access-control.d.ts +192 -0
- package/dist/esm/operations/mrt/access-control.js +152 -0
- package/dist/esm/operations/mrt/access-control.js.map +1 -0
- package/dist/esm/operations/mrt/b2c-config.d.ts +201 -0
- package/dist/esm/operations/mrt/b2c-config.js +195 -0
- package/dist/esm/operations/mrt/b2c-config.js.map +1 -0
- package/dist/esm/operations/mrt/cache.d.ts +80 -0
- package/dist/esm/operations/mrt/cache.js +65 -0
- package/dist/esm/operations/mrt/cache.js.map +1 -0
- package/dist/esm/operations/mrt/deployment.d.ts +157 -0
- package/dist/esm/operations/mrt/deployment.js +109 -0
- package/dist/esm/operations/mrt/deployment.js.map +1 -0
- package/dist/esm/operations/mrt/env.d.ts +141 -0
- package/dist/esm/operations/mrt/env.js +119 -0
- package/dist/esm/operations/mrt/env.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +24 -4
- package/dist/esm/operations/mrt/index.js +23 -3
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/member.d.ts +281 -0
- package/dist/esm/operations/mrt/member.js +244 -0
- package/dist/esm/operations/mrt/member.js.map +1 -0
- package/dist/esm/operations/mrt/notification.d.ts +252 -0
- package/dist/esm/operations/mrt/notification.js +206 -0
- package/dist/esm/operations/mrt/notification.js.map +1 -0
- package/dist/esm/operations/mrt/organization.d.ts +80 -0
- package/dist/esm/operations/mrt/organization.js +53 -0
- package/dist/esm/operations/mrt/organization.js.map +1 -0
- package/dist/esm/operations/mrt/project.d.ts +261 -0
- package/dist/esm/operations/mrt/project.js +232 -0
- package/dist/esm/operations/mrt/project.js.map +1 -0
- package/dist/esm/operations/mrt/push.d.ts +122 -8
- package/dist/esm/operations/mrt/push.js +83 -10
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/mrt/redirect.d.ts +337 -0
- package/dist/esm/operations/mrt/redirect.js +256 -0
- package/dist/esm/operations/mrt/redirect.js.map +1 -0
- package/dist/esm/operations/mrt/user.d.ts +135 -0
- package/dist/esm/operations/mrt/user.js +153 -0
- package/dist/esm/operations/mrt/user.js.map +1 -0
- package/dist/esm/operations/scapi-schemas/collapse.d.ts +150 -0
- package/dist/esm/operations/scapi-schemas/collapse.js +180 -0
- package/dist/esm/operations/scapi-schemas/collapse.js.map +1 -0
- package/dist/esm/operations/scapi-schemas/index.d.ts +53 -0
- package/dist/esm/operations/scapi-schemas/index.js +59 -0
- package/dist/esm/operations/scapi-schemas/index.js.map +1 -0
- package/dist/esm/skills/agents.d.ts +41 -0
- package/dist/esm/skills/agents.js +159 -0
- package/dist/esm/skills/agents.js.map +1 -0
- package/dist/esm/skills/github.d.ts +47 -0
- package/dist/esm/skills/github.js +246 -0
- package/dist/esm/skills/github.js.map +1 -0
- package/dist/esm/skills/index.d.ts +42 -0
- package/dist/esm/skills/index.js +14 -0
- package/dist/esm/skills/index.js.map +1 -0
- package/dist/esm/skills/installer.d.ts +34 -0
- package/dist/esm/skills/installer.js +181 -0
- package/dist/esm/skills/installer.js.map +1 -0
- package/dist/esm/skills/parser.d.ts +39 -0
- package/dist/esm/skills/parser.js +131 -0
- package/dist/esm/skills/parser.js.map +1 -0
- package/dist/esm/skills/types.d.ts +134 -0
- package/dist/esm/skills/types.js +7 -0
- package/dist/esm/skills/types.js.map +1 -0
- package/dist/esm/test-utils/config-isolation.d.ts +2 -0
- package/dist/esm/test-utils/config-isolation.js +41 -0
- package/dist/esm/test-utils/config-isolation.js.map +1 -0
- package/dist/esm/test-utils/index.d.ts +1 -0
- package/dist/esm/test-utils/index.js +7 -0
- package/dist/esm/test-utils/index.js.map +1 -0
- package/dist/esm/version.d.ts +14 -0
- package/dist/esm/version.js +29 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +35 -2
- package/specs/cdn-zones-v1.yaml +9324 -0
- package/specs/mrt-b2c.json +384 -0
- package/specs/scapi-schemas-v1.yaml +341 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'node:fs';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import { getLogger } from '../logging/logger.js';
|
|
9
|
+
/**
|
|
10
|
+
* Parse simple YAML-like frontmatter from SKILL.md content.
|
|
11
|
+
* Only supports basic key: value pairs (name and description).
|
|
12
|
+
*
|
|
13
|
+
* @param content - File content with frontmatter
|
|
14
|
+
* @returns Parsed frontmatter or null if invalid
|
|
15
|
+
*/
|
|
16
|
+
export function parseSkillFrontmatter(content) {
|
|
17
|
+
// Match frontmatter between --- delimiters
|
|
18
|
+
const match = content.match(/^---\s*\n([\s\S]*?)\n---/);
|
|
19
|
+
if (!match) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const frontmatter = match[1];
|
|
23
|
+
const result = {};
|
|
24
|
+
// Parse simple key: value lines
|
|
25
|
+
for (const line of frontmatter.split('\n')) {
|
|
26
|
+
const keyValueMatch = line.match(/^(\w+):\s*(.+)$/);
|
|
27
|
+
if (keyValueMatch) {
|
|
28
|
+
const [, key, value] = keyValueMatch;
|
|
29
|
+
if (key === 'name') {
|
|
30
|
+
result.name = value.trim();
|
|
31
|
+
}
|
|
32
|
+
else if (key === 'description') {
|
|
33
|
+
result.description = value.trim();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (!result.name || !result.description) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return { name: result.name, description: result.description };
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Scan a directory for skills and extract their metadata.
|
|
44
|
+
*
|
|
45
|
+
* @param skillsDir - Path to extracted skills directory (e.g., ~/.cache/b2c-cli/skills/v0.1.0/b2c/skills/)
|
|
46
|
+
* @param skillSet - The skill set being scanned ('b2c' or 'b2c-cli')
|
|
47
|
+
* @returns Array of skill metadata
|
|
48
|
+
*/
|
|
49
|
+
export async function scanSkills(skillsDir, skillSet) {
|
|
50
|
+
const logger = getLogger();
|
|
51
|
+
const skills = [];
|
|
52
|
+
// The extracted structure should be: skillsDir/skills/skill-name/SKILL.md
|
|
53
|
+
// Find the skills subdirectory
|
|
54
|
+
const skillsSubdir = path.join(skillsDir, 'skills');
|
|
55
|
+
if (!fs.existsSync(skillsSubdir)) {
|
|
56
|
+
logger.debug({ skillsDir, skillsSubdir }, 'Skills subdirectory not found');
|
|
57
|
+
return skills;
|
|
58
|
+
}
|
|
59
|
+
const entries = await fs.promises.readdir(skillsSubdir, { withFileTypes: true });
|
|
60
|
+
for (const entry of entries) {
|
|
61
|
+
if (!entry.isDirectory()) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
const skillDir = path.join(skillsSubdir, entry.name);
|
|
65
|
+
const skillPath = path.join(skillDir, 'SKILL.md');
|
|
66
|
+
if (!fs.existsSync(skillPath)) {
|
|
67
|
+
logger.debug({ skillDir }, 'No SKILL.md found, skipping');
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const content = await fs.promises.readFile(skillPath, 'utf-8');
|
|
72
|
+
const frontmatter = parseSkillFrontmatter(content);
|
|
73
|
+
if (!frontmatter) {
|
|
74
|
+
logger.warn({ skillPath }, 'Invalid frontmatter in SKILL.md');
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
// Check for references directory
|
|
78
|
+
const referencesDir = path.join(skillDir, 'references');
|
|
79
|
+
const hasReferences = fs.existsSync(referencesDir);
|
|
80
|
+
skills.push({
|
|
81
|
+
name: frontmatter.name,
|
|
82
|
+
description: frontmatter.description,
|
|
83
|
+
skillSet,
|
|
84
|
+
path: entry.name, // Relative path within skills directory
|
|
85
|
+
hasReferences,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
logger.warn({ skillPath, error }, 'Failed to parse SKILL.md');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
logger.debug({ count: skills.length, skillSet }, 'Scanned skills');
|
|
93
|
+
return skills;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Filter skills by name.
|
|
97
|
+
*
|
|
98
|
+
* @param skills - All available skills
|
|
99
|
+
* @param names - Skill names to include (if provided)
|
|
100
|
+
* @returns Filtered skills
|
|
101
|
+
*/
|
|
102
|
+
export function filterSkillsByName(skills, names) {
|
|
103
|
+
if (!names || names.length === 0) {
|
|
104
|
+
return skills;
|
|
105
|
+
}
|
|
106
|
+
const nameSet = new Set(names);
|
|
107
|
+
return skills.filter((skill) => nameSet.has(skill.name));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Find skills that match the given names, returning any that weren't found.
|
|
111
|
+
*
|
|
112
|
+
* @param skills - Available skills
|
|
113
|
+
* @param names - Requested skill names
|
|
114
|
+
* @returns Object with matched skills and names not found
|
|
115
|
+
*/
|
|
116
|
+
export function findSkillsByName(skills, names) {
|
|
117
|
+
const skillMap = new Map(skills.map((s) => [s.name, s]));
|
|
118
|
+
const found = [];
|
|
119
|
+
const notFound = [];
|
|
120
|
+
for (const name of names) {
|
|
121
|
+
const skill = skillMap.get(name);
|
|
122
|
+
if (skill) {
|
|
123
|
+
found.push(skill);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
notFound.push(name);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return { found, notFound };
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/skills/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported IDE types for skill installation.
|
|
3
|
+
*/
|
|
4
|
+
export type IdeType = 'claude-code' | 'cursor' | 'windsurf' | 'vscode' | 'codex' | 'opencode' | 'manual';
|
|
5
|
+
/**
|
|
6
|
+
* Skill set categories matching the plugins directory structure.
|
|
7
|
+
*/
|
|
8
|
+
export type SkillSet = 'b2c' | 'b2c-cli';
|
|
9
|
+
/**
|
|
10
|
+
* IDE path configuration for skill installation.
|
|
11
|
+
*/
|
|
12
|
+
export interface IdePaths {
|
|
13
|
+
/** Relative path for project-level installation (e.g., '.claude/skills') */
|
|
14
|
+
projectDir: string;
|
|
15
|
+
/** Absolute path for global/user-level installation (e.g., '~/.claude/skills') */
|
|
16
|
+
globalDir: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* IDE configuration including paths and display name.
|
|
20
|
+
*/
|
|
21
|
+
export interface IdeConfig {
|
|
22
|
+
/** IDE identifier */
|
|
23
|
+
id: IdeType;
|
|
24
|
+
/** Human-readable display name */
|
|
25
|
+
displayName: string;
|
|
26
|
+
/** Installation paths */
|
|
27
|
+
paths: IdePaths;
|
|
28
|
+
/** Function to detect if IDE is installed */
|
|
29
|
+
detectInstalled: () => Promise<boolean>;
|
|
30
|
+
/** Optional documentation URL for skill configuration */
|
|
31
|
+
docsUrl?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Skill metadata extracted from SKILL.md frontmatter.
|
|
35
|
+
*/
|
|
36
|
+
export interface SkillMetadata {
|
|
37
|
+
/** Skill identifier from frontmatter name field */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Skill description from frontmatter */
|
|
40
|
+
description: string;
|
|
41
|
+
/** Skill set this skill belongs to (b2c or b2c-cli) */
|
|
42
|
+
skillSet: SkillSet;
|
|
43
|
+
/** Relative path within the skills archive */
|
|
44
|
+
path: string;
|
|
45
|
+
/** Whether this skill has a references/ subdirectory */
|
|
46
|
+
hasReferences: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* GitHub release information.
|
|
50
|
+
*/
|
|
51
|
+
export interface ReleaseInfo {
|
|
52
|
+
/** Git tag name (e.g., 'v0.1.0') */
|
|
53
|
+
tagName: string;
|
|
54
|
+
/** Version number without 'v' prefix */
|
|
55
|
+
version: string;
|
|
56
|
+
/** ISO date string when release was published */
|
|
57
|
+
publishedAt: string;
|
|
58
|
+
/** Download URL for b2c-skills.zip asset, or null if not present */
|
|
59
|
+
b2cSkillsAssetUrl: string | null;
|
|
60
|
+
/** Download URL for b2c-cli-skills.zip asset, or null if not present */
|
|
61
|
+
b2cCliSkillsAssetUrl: string | null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Options for downloading skills artifacts.
|
|
65
|
+
*/
|
|
66
|
+
export interface DownloadSkillsOptions {
|
|
67
|
+
/** Specific release version to download (default: 'latest') */
|
|
68
|
+
version?: string;
|
|
69
|
+
/** Custom cache directory (default: ~/.cache/b2c-cli/skills/) */
|
|
70
|
+
cacheDir?: string;
|
|
71
|
+
/** Force re-download even if cached */
|
|
72
|
+
forceDownload?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Options for installing skills.
|
|
76
|
+
*/
|
|
77
|
+
export interface InstallSkillsOptions {
|
|
78
|
+
/** Specific skill names to install (default: all skills in skillset) */
|
|
79
|
+
skills?: string[];
|
|
80
|
+
/** Target IDEs to install to */
|
|
81
|
+
ides: IdeType[];
|
|
82
|
+
/** Install to global/user directory instead of project */
|
|
83
|
+
global: boolean;
|
|
84
|
+
/** Overwrite existing skills */
|
|
85
|
+
update: boolean;
|
|
86
|
+
/** Project root for project-level installations */
|
|
87
|
+
projectRoot?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Result of a single skill installation.
|
|
91
|
+
*/
|
|
92
|
+
export interface SkillInstallation {
|
|
93
|
+
skill: string;
|
|
94
|
+
ide: IdeType;
|
|
95
|
+
path: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Reason for skipping a skill installation.
|
|
99
|
+
*/
|
|
100
|
+
export interface SkillSkipped {
|
|
101
|
+
skill: string;
|
|
102
|
+
ide: IdeType;
|
|
103
|
+
reason: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Error during skill installation.
|
|
107
|
+
*/
|
|
108
|
+
export interface SkillError {
|
|
109
|
+
skill: string;
|
|
110
|
+
ide: IdeType;
|
|
111
|
+
error: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Result of installing skills.
|
|
115
|
+
*/
|
|
116
|
+
export interface InstallSkillsResult {
|
|
117
|
+
/** Successfully installed skills */
|
|
118
|
+
installed: SkillInstallation[];
|
|
119
|
+
/** Skipped skills (already exist, no update flag) */
|
|
120
|
+
skipped: SkillSkipped[];
|
|
121
|
+
/** Failed installations */
|
|
122
|
+
errors: SkillError[];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Cached artifact metadata stored in manifest.json.
|
|
126
|
+
*/
|
|
127
|
+
export interface CachedArtifact {
|
|
128
|
+
/** Version of the cached artifact */
|
|
129
|
+
version: string;
|
|
130
|
+
/** Path to the extracted skills directory */
|
|
131
|
+
path: string;
|
|
132
|
+
/** ISO date string when artifact was downloaded */
|
|
133
|
+
downloadedAt: string;
|
|
134
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
const ADDITIONAL_ENV_VARS = ['LANGUAGE', 'NO_COLOR'];
|
|
7
|
+
let state = null;
|
|
8
|
+
export function isolateConfig() {
|
|
9
|
+
if (state)
|
|
10
|
+
throw new Error('isolateConfig() called without cleanup - call restoreConfig() first');
|
|
11
|
+
const savedEnvVars = {};
|
|
12
|
+
for (const key of Object.keys(process.env)) {
|
|
13
|
+
if (key.startsWith('SFCC_') || key.startsWith('MRT_')) {
|
|
14
|
+
savedEnvVars[key] = process.env[key];
|
|
15
|
+
delete process.env[key];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
for (const key of ADDITIONAL_ENV_VARS) {
|
|
19
|
+
savedEnvVars[key] = process.env[key];
|
|
20
|
+
delete process.env[key];
|
|
21
|
+
}
|
|
22
|
+
process.env.SFCC_CONFIG = '/dev/null';
|
|
23
|
+
process.env.MRT_CREDENTIALS_FILE = '/dev/null';
|
|
24
|
+
state = { savedEnvVars };
|
|
25
|
+
}
|
|
26
|
+
export function restoreConfig() {
|
|
27
|
+
if (!state)
|
|
28
|
+
return;
|
|
29
|
+
delete process.env.SFCC_CONFIG;
|
|
30
|
+
delete process.env.MRT_CREDENTIALS_FILE;
|
|
31
|
+
for (const [key, value] of Object.entries(state.savedEnvVars)) {
|
|
32
|
+
if (value === undefined) {
|
|
33
|
+
delete process.env[key];
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
process.env[key] = value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
state = null;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=config-isolation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-isolation.js","sourceRoot":"","sources":["../../../src/test-utils/config-isolation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAMrD,IAAI,KAAK,GAA0B,IAAI,CAAC;AAExC,MAAM,UAAU,aAAa;IAC3B,IAAI,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAElG,MAAM,YAAY,GAAuC,EAAE,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,WAAW,CAAC;IAE/C,KAAK,GAAG,EAAC,YAAY,EAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,GAAG,IAAI,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { isolateConfig, restoreConfig } from './config-isolation.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
export { isolateConfig, restoreConfig } from './config-isolation.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test-utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SDK package name.
|
|
3
|
+
*/
|
|
4
|
+
export declare const SDK_NAME: string;
|
|
5
|
+
/**
|
|
6
|
+
* The SDK package version.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SDK_VERSION: string;
|
|
9
|
+
/**
|
|
10
|
+
* Default User-Agent string for the SDK.
|
|
11
|
+
*
|
|
12
|
+
* Format: `b2c-tooling-sdk/0.1.0`
|
|
13
|
+
*/
|
|
14
|
+
export declare const SDK_USER_AGENT: string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* SDK version information and User-Agent string.
|
|
8
|
+
*
|
|
9
|
+
* @module version
|
|
10
|
+
*/
|
|
11
|
+
import { createRequire } from 'node:module';
|
|
12
|
+
const require = createRequire(import.meta.url);
|
|
13
|
+
// Use the package.json exports path to resolve correctly from both src/ and dist/
|
|
14
|
+
const pkg = require('@salesforce/b2c-tooling-sdk/package.json');
|
|
15
|
+
/**
|
|
16
|
+
* The SDK package name.
|
|
17
|
+
*/
|
|
18
|
+
export const SDK_NAME = pkg.name;
|
|
19
|
+
/**
|
|
20
|
+
* The SDK package version.
|
|
21
|
+
*/
|
|
22
|
+
export const SDK_VERSION = pkg.version;
|
|
23
|
+
/**
|
|
24
|
+
* Default User-Agent string for the SDK.
|
|
25
|
+
*
|
|
26
|
+
* Format: `b2c-tooling-sdk/0.1.0`
|
|
27
|
+
*/
|
|
28
|
+
export const SDK_USER_AGENT = `${SDK_NAME.replace(/^@salesforce\//, '')}/${SDK_VERSION}`;
|
|
29
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,kFAAkF;AAClF,MAAM,GAAG,GAAG,OAAO,CAAC,0CAA0C,CAAoC,CAAC;AAEnG;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/b2c-tooling-sdk",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Core tooling library for Salesforce Commerce Cloud B2C CLI",
|
|
5
5
|
"author": "Charles Lavery",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -123,6 +123,17 @@
|
|
|
123
123
|
"default": "./dist/cjs/operations/docs/index.js"
|
|
124
124
|
}
|
|
125
125
|
},
|
|
126
|
+
"./operations/scapi-schemas": {
|
|
127
|
+
"development": "./src/operations/scapi-schemas/index.ts",
|
|
128
|
+
"import": {
|
|
129
|
+
"types": "./dist/esm/operations/scapi-schemas/index.d.ts",
|
|
130
|
+
"default": "./dist/esm/operations/scapi-schemas/index.js"
|
|
131
|
+
},
|
|
132
|
+
"require": {
|
|
133
|
+
"types": "./dist/cjs/operations/scapi-schemas/index.d.ts",
|
|
134
|
+
"default": "./dist/cjs/operations/scapi-schemas/index.js"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
126
137
|
"./cli": {
|
|
127
138
|
"development": "./src/cli/index.ts",
|
|
128
139
|
"import": {
|
|
@@ -188,6 +199,28 @@
|
|
|
188
199
|
"types": "./dist/cjs/discovery/index.d.ts",
|
|
189
200
|
"default": "./dist/cjs/discovery/index.js"
|
|
190
201
|
}
|
|
202
|
+
},
|
|
203
|
+
"./skills": {
|
|
204
|
+
"development": "./src/skills/index.ts",
|
|
205
|
+
"import": {
|
|
206
|
+
"types": "./dist/esm/skills/index.d.ts",
|
|
207
|
+
"default": "./dist/esm/skills/index.js"
|
|
208
|
+
},
|
|
209
|
+
"require": {
|
|
210
|
+
"types": "./dist/cjs/skills/index.d.ts",
|
|
211
|
+
"default": "./dist/cjs/skills/index.js"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"./test-utils": {
|
|
215
|
+
"development": "./src/test-utils/index.ts",
|
|
216
|
+
"import": {
|
|
217
|
+
"types": "./dist/esm/test-utils/index.d.ts",
|
|
218
|
+
"default": "./dist/esm/test-utils/index.js"
|
|
219
|
+
},
|
|
220
|
+
"require": {
|
|
221
|
+
"types": "./dist/cjs/test-utils/index.d.ts",
|
|
222
|
+
"default": "./dist/cjs/test-utils/index.js"
|
|
223
|
+
}
|
|
191
224
|
}
|
|
192
225
|
},
|
|
193
226
|
"main": "./dist/cjs/index.js",
|
|
@@ -253,7 +286,7 @@
|
|
|
253
286
|
"xml2js": "^0.6.2"
|
|
254
287
|
},
|
|
255
288
|
"scripts": {
|
|
256
|
-
"generate:types": "openapi-typescript specs/data-api.json -o src/clients/ocapi.generated.ts && openapi-typescript specs/slas-admin-v1.yaml -o src/clients/slas-admin.generated.ts && openapi-typescript specs/ods-api-v1.json -o src/clients/ods.generated.ts && openapi-typescript specs/mrt-api-v1.json -o src/clients/mrt.generated.ts && openapi-typescript specs/custom-apis-v1.yaml -o src/clients/custom-apis.generated.ts",
|
|
289
|
+
"generate:types": "openapi-typescript specs/data-api.json -o src/clients/ocapi.generated.ts && openapi-typescript specs/slas-admin-v1.yaml -o src/clients/slas-admin.generated.ts && openapi-typescript specs/ods-api-v1.json -o src/clients/ods.generated.ts && openapi-typescript specs/mrt-api-v1.json -o src/clients/mrt.generated.ts && openapi-typescript specs/mrt-b2c.json -o src/clients/mrt-b2c.generated.ts && openapi-typescript specs/custom-apis-v1.yaml -o src/clients/custom-apis.generated.ts && openapi-typescript specs/scapi-schemas-v1.yaml -o src/clients/scapi-schemas.generated.ts && openapi-typescript specs/cdn-zones-v1.yaml -o src/clients/cdn-zones.generated.ts",
|
|
257
290
|
"build": "pnpm run generate:types && pnpm run build:esm && pnpm run build:cjs",
|
|
258
291
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
259
292
|
"build:cjs": "tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
|