pray-cli 1.6.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/CHANGELOG.md +50 -0
- package/LICENSE.md +21 -0
- package/README.md +69 -0
- package/SECURITY.md +28 -0
- package/bin/pray.js +5 -0
- package/dist/archive/praypkg.d.ts +6 -0
- package/dist/archive/praypkg.d.ts.map +1 -0
- package/dist/archive/praypkg.js +67 -0
- package/dist/archive/praypkg.js.map +1 -0
- package/dist/auth/login.d.ts +11 -0
- package/dist/auth/login.d.ts.map +1 -0
- package/dist/auth/login.js +84 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/passkey.d.ts +3 -0
- package/dist/auth/passkey.d.ts.map +1 -0
- package/dist/auth/passkey.js +48 -0
- package/dist/auth/passkey.js.map +1 -0
- package/dist/auth/session.d.ts +11 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +38 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/ssh-agent.d.ts +3 -0
- package/dist/auth/ssh-agent.d.ts.map +1 -0
- package/dist/auth/ssh-agent.js +135 -0
- package/dist/auth/ssh-agent.js.map +1 -0
- package/dist/cli/commands/distribution.d.ts +5 -0
- package/dist/cli/commands/distribution.d.ts.map +1 -0
- package/dist/cli/commands/distribution.js +134 -0
- package/dist/cli/commands/distribution.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +44 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/inspect.d.ts +7 -0
- package/dist/cli/commands/inspect.d.ts.map +1 -0
- package/dist/cli/commands/inspect.js +98 -0
- package/dist/cli/commands/inspect.js.map +1 -0
- package/dist/cli/commands/packages.d.ts +4 -0
- package/dist/cli/commands/packages.d.ts.map +1 -0
- package/dist/cli/commands/packages.js +62 -0
- package/dist/cli/commands/packages.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +2 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +55 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/update-core.d.ts +16 -0
- package/dist/cli/commands/update-core.d.ts.map +1 -0
- package/dist/cli/commands/update-core.js +108 -0
- package/dist/cli/commands/update-core.js.map +1 -0
- package/dist/cli/commands/update-latest.d.ts +2 -0
- package/dist/cli/commands/update-latest.d.ts.map +1 -0
- package/dist/cli/commands/update-latest.js +68 -0
- package/dist/cli/commands/update-latest.js.map +1 -0
- package/dist/cli/commands/update-report.d.ts +23 -0
- package/dist/cli/commands/update-report.d.ts.map +1 -0
- package/dist/cli/commands/update-report.js +113 -0
- package/dist/cli/commands/update-report.js.map +1 -0
- package/dist/cli/commands/update.d.ts +11 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +65 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/workspace.d.ts +3 -0
- package/dist/cli/commands/workspace.d.ts.map +1 -0
- package/dist/cli/commands/workspace.js +63 -0
- package/dist/cli/commands/workspace.js.map +1 -0
- package/dist/cli/help.d.ts +6 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +164 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/invocation.d.ts +10 -0
- package/dist/cli/invocation.d.ts.map +1 -0
- package/dist/cli/invocation.js +127 -0
- package/dist/cli/invocation.js.map +1 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +199 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/materialize.d.ts +10 -0
- package/dist/cli/materialize.d.ts.map +1 -0
- package/dist/cli/materialize.js +59 -0
- package/dist/cli/materialize.js.map +1 -0
- package/dist/cli/suggest.d.ts +4 -0
- package/dist/cli/suggest.d.ts.map +1 -0
- package/dist/cli/suggest.js +88 -0
- package/dist/cli/suggest.js.map +1 -0
- package/dist/cli/upgrade.d.ts +2 -0
- package/dist/cli/upgrade.d.ts.map +1 -0
- package/dist/cli/upgrade.js +15 -0
- package/dist/cli/upgrade.js.map +1 -0
- package/dist/confess/index.d.ts +11 -0
- package/dist/confess/index.d.ts.map +1 -0
- package/dist/confess/index.js +51 -0
- package/dist/confess/index.js.map +1 -0
- package/dist/constraint.d.ts +8 -0
- package/dist/constraint.d.ts.map +1 -0
- package/dist/constraint.js +97 -0
- package/dist/constraint.js.map +1 -0
- package/dist/domain/types.d.ts +8 -0
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/domain/types.js +2 -0
- package/dist/domain/types.js.map +1 -0
- package/dist/environment.d.ts +8 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +42 -0
- package/dist/environment.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +67 -0
- package/dist/errors.js.map +1 -0
- package/dist/git/sources.d.ts +14 -0
- package/dist/git/sources.d.ts.map +1 -0
- package/dist/git/sources.js +225 -0
- package/dist/git/sources.js.map +1 -0
- package/dist/hashing.d.ts +7 -0
- package/dist/hashing.d.ts.map +1 -0
- package/dist/hashing.js +43 -0
- package/dist/hashing.js.map +1 -0
- package/dist/http/client.d.ts +9 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +51 -0
- package/dist/http/client.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/literal/call-parser.d.ts +12 -0
- package/dist/literal/call-parser.d.ts.map +1 -0
- package/dist/literal/call-parser.js +75 -0
- package/dist/literal/call-parser.js.map +1 -0
- package/dist/literal/lines.d.ts +3 -0
- package/dist/literal/lines.d.ts.map +1 -0
- package/dist/literal/lines.js +34 -0
- package/dist/literal/lines.js.map +1 -0
- package/dist/literal/parser.d.ts +5 -0
- package/dist/literal/parser.d.ts.map +1 -0
- package/dist/literal/parser.js +269 -0
- package/dist/literal/parser.js.map +1 -0
- package/dist/literal/split.d.ts +4 -0
- package/dist/literal/split.d.ts.map +1 -0
- package/dist/literal/split.js +110 -0
- package/dist/literal/split.js.map +1 -0
- package/dist/literal/statement-surface.d.ts +11 -0
- package/dist/literal/statement-surface.d.ts.map +1 -0
- package/dist/literal/statement-surface.js +320 -0
- package/dist/literal/statement-surface.js.map +1 -0
- package/dist/literal/statements.d.ts +8 -0
- package/dist/literal/statements.d.ts.map +1 -0
- package/dist/literal/statements.js +49 -0
- package/dist/literal/statements.js.map +1 -0
- package/dist/literal/types.d.ts +27 -0
- package/dist/literal/types.d.ts.map +1 -0
- package/dist/literal/types.js +19 -0
- package/dist/literal/types.js.map +1 -0
- package/dist/lockfile/index.d.ts +24 -0
- package/dist/lockfile/index.d.ts.map +1 -0
- package/dist/lockfile/index.js +100 -0
- package/dist/lockfile/index.js.map +1 -0
- package/dist/lockfile/parse.d.ts +3 -0
- package/dist/lockfile/parse.d.ts.map +1 -0
- package/dist/lockfile/parse.js +94 -0
- package/dist/lockfile/parse.js.map +1 -0
- package/dist/lockfile/paths.d.ts +8 -0
- package/dist/lockfile/paths.d.ts.map +1 -0
- package/dist/lockfile/paths.js +66 -0
- package/dist/lockfile/paths.js.map +1 -0
- package/dist/lockfile/serialize.d.ts +3 -0
- package/dist/lockfile/serialize.d.ts.map +1 -0
- package/dist/lockfile/serialize.js +118 -0
- package/dist/lockfile/serialize.js.map +1 -0
- package/dist/lockfile/types.d.ts +49 -0
- package/dist/lockfile/types.d.ts.map +1 -0
- package/dist/lockfile/types.js +16 -0
- package/dist/lockfile/types.js.map +1 -0
- package/dist/manifest/deprecation.d.ts +7 -0
- package/dist/manifest/deprecation.d.ts.map +1 -0
- package/dist/manifest/deprecation.js +35 -0
- package/dist/manifest/deprecation.js.map +1 -0
- package/dist/manifest/destination.d.ts +19 -0
- package/dist/manifest/destination.d.ts.map +1 -0
- package/dist/manifest/destination.js +179 -0
- package/dist/manifest/destination.js.map +1 -0
- package/dist/manifest/edit.d.ts +9 -0
- package/dist/manifest/edit.d.ts.map +1 -0
- package/dist/manifest/edit.js +56 -0
- package/dist/manifest/edit.js.map +1 -0
- package/dist/manifest/format-manifest.d.ts +14 -0
- package/dist/manifest/format-manifest.d.ts.map +1 -0
- package/dist/manifest/format-manifest.js +274 -0
- package/dist/manifest/format-manifest.js.map +1 -0
- package/dist/manifest/format-serialize.d.ts +4 -0
- package/dist/manifest/format-serialize.d.ts.map +1 -0
- package/dist/manifest/format-serialize.js +172 -0
- package/dist/manifest/format-serialize.js.map +1 -0
- package/dist/manifest/index.d.ts +10 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +33 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/package-declaration.d.ts +4 -0
- package/dist/manifest/package-declaration.d.ts.map +1 -0
- package/dist/manifest/package-declaration.js +80 -0
- package/dist/manifest/package-declaration.js.map +1 -0
- package/dist/manifest/parse-statements.d.ts +15 -0
- package/dist/manifest/parse-statements.d.ts.map +1 -0
- package/dist/manifest/parse-statements.js +216 -0
- package/dist/manifest/parse-statements.js.map +1 -0
- package/dist/manifest/parser.d.ts +3 -0
- package/dist/manifest/parser.d.ts.map +1 -0
- package/dist/manifest/parser.js +382 -0
- package/dist/manifest/parser.js.map +1 -0
- package/dist/manifest/types.d.ts +78 -0
- package/dist/manifest/types.d.ts.map +1 -0
- package/dist/manifest/types.js +84 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/package-spec/discovery.d.ts +2 -0
- package/dist/package-spec/discovery.d.ts.map +1 -0
- package/dist/package-spec/discovery.js +21 -0
- package/dist/package-spec/discovery.js.map +1 -0
- package/dist/package-spec/index.d.ts +5 -0
- package/dist/package-spec/index.d.ts.map +1 -0
- package/dist/package-spec/index.js +5 -0
- package/dist/package-spec/index.js.map +1 -0
- package/dist/package-spec/parse-maps.d.ts +8 -0
- package/dist/package-spec/parse-maps.d.ts.map +1 -0
- package/dist/package-spec/parse-maps.js +127 -0
- package/dist/package-spec/parse-maps.js.map +1 -0
- package/dist/package-spec/parser.d.ts +3 -0
- package/dist/package-spec/parser.d.ts.map +1 -0
- package/dist/package-spec/parser.js +111 -0
- package/dist/package-spec/parser.js.map +1 -0
- package/dist/package-spec/tree-hash.d.ts +4 -0
- package/dist/package-spec/tree-hash.d.ts.map +1 -0
- package/dist/package-spec/tree-hash.js +29 -0
- package/dist/package-spec/tree-hash.js.map +1 -0
- package/dist/package-spec/types.d.ts +44 -0
- package/dist/package-spec/types.d.ts.map +1 -0
- package/dist/package-spec/types.js +12 -0
- package/dist/package-spec/types.js.map +1 -0
- package/dist/project-context/dotenv.d.ts +3 -0
- package/dist/project-context/dotenv.d.ts.map +1 -0
- package/dist/project-context/dotenv.js +49 -0
- package/dist/project-context/dotenv.js.map +1 -0
- package/dist/project-context/index.d.ts +10 -0
- package/dist/project-context/index.d.ts.map +1 -0
- package/dist/project-context/index.js +62 -0
- package/dist/project-context/index.js.map +1 -0
- package/dist/project-context/runtime.d.ts +4 -0
- package/dist/project-context/runtime.d.ts.map +1 -0
- package/dist/project-context/runtime.js +8 -0
- package/dist/project-context/runtime.js.map +1 -0
- package/dist/project-context/types.d.ts +11 -0
- package/dist/project-context/types.d.ts.map +1 -0
- package/dist/project-context/types.js +2 -0
- package/dist/project-context/types.js.map +1 -0
- package/dist/publish/index.d.ts +6 -0
- package/dist/publish/index.d.ts.map +1 -0
- package/dist/publish/index.js +133 -0
- package/dist/publish/index.js.map +1 -0
- package/dist/registry/index.d.ts +17 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +223 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/types.d.ts +27 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +2 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/render/content-builder.d.ts +9 -0
- package/dist/render/content-builder.d.ts.map +1 -0
- package/dist/render/content-builder.js +31 -0
- package/dist/render/content-builder.js.map +1 -0
- package/dist/render/header.d.ts +4 -0
- package/dist/render/header.d.ts.map +1 -0
- package/dist/render/header.js +15 -0
- package/dist/render/header.js.map +1 -0
- package/dist/render/legacy.d.ts +5 -0
- package/dist/render/legacy.d.ts.map +1 -0
- package/dist/render/legacy.js +53 -0
- package/dist/render/legacy.js.map +1 -0
- package/dist/render/managed-export.d.ts +7 -0
- package/dist/render/managed-export.d.ts.map +1 -0
- package/dist/render/managed-export.js +33 -0
- package/dist/render/managed-export.js.map +1 -0
- package/dist/render/project.d.ts +8 -0
- package/dist/render/project.d.ts.map +1 -0
- package/dist/render/project.js +35 -0
- package/dist/render/project.js.map +1 -0
- package/dist/render/provisioned.d.ts +9 -0
- package/dist/render/provisioned.d.ts.map +1 -0
- package/dist/render/provisioned.js +191 -0
- package/dist/render/provisioned.js.map +1 -0
- package/dist/render/scoped.d.ts +5 -0
- package/dist/render/scoped.d.ts.map +1 -0
- package/dist/render/scoped.js +50 -0
- package/dist/render/scoped.js.map +1 -0
- package/dist/render/types.d.ts +7 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +2 -0
- package/dist/render/types.js.map +1 -0
- package/dist/resolve/context.d.ts +11 -0
- package/dist/resolve/context.d.ts.map +1 -0
- package/dist/resolve/context.js +16 -0
- package/dist/resolve/context.js.map +1 -0
- package/dist/resolve/package-root.d.ts +13 -0
- package/dist/resolve/package-root.d.ts.map +1 -0
- package/dist/resolve/package-root.js +86 -0
- package/dist/resolve/package-root.js.map +1 -0
- package/dist/resolve/project.d.ts +8 -0
- package/dist/resolve/project.d.ts.map +1 -0
- package/dist/resolve/project.js +261 -0
- package/dist/resolve/project.js.map +1 -0
- package/dist/resolve/types.d.ts +36 -0
- package/dist/resolve/types.d.ts.map +1 -0
- package/dist/resolve/types.js +2 -0
- package/dist/resolve/types.js.map +1 -0
- package/dist/serve/index.d.ts +7 -0
- package/dist/serve/index.d.ts.map +1 -0
- package/dist/serve/index.js +88 -0
- package/dist/serve/index.js.map +1 -0
- package/dist/substitute.d.ts +3 -0
- package/dist/substitute.d.ts.map +1 -0
- package/dist/substitute.js +38 -0
- package/dist/substitute.js.map +1 -0
- package/dist/sync/index.d.ts +6 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +74 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/terminal.d.ts +4 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +26 -0
- package/dist/terminal.js.map +1 -0
- package/dist/tree/index.d.ts +4 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +40 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/trust/import-registry.d.ts +6 -0
- package/dist/trust/import-registry.d.ts.map +1 -0
- package/dist/trust/import-registry.js +65 -0
- package/dist/trust/import-registry.js.map +1 -0
- package/dist/trust/import-repo.d.ts +2 -0
- package/dist/trust/import-repo.d.ts.map +1 -0
- package/dist/trust/import-repo.js +50 -0
- package/dist/trust/import-repo.js.map +1 -0
- package/dist/trust/index.d.ts +11 -0
- package/dist/trust/index.d.ts.map +1 -0
- package/dist/trust/index.js +148 -0
- package/dist/trust/index.js.map +1 -0
- package/dist/trust/parse.d.ts +3 -0
- package/dist/trust/parse.d.ts.map +1 -0
- package/dist/trust/parse.js +43 -0
- package/dist/trust/parse.js.map +1 -0
- package/dist/trust/policy-helpers.d.ts +8 -0
- package/dist/trust/policy-helpers.d.ts.map +1 -0
- package/dist/trust/policy-helpers.js +36 -0
- package/dist/trust/policy-helpers.js.map +1 -0
- package/dist/trust/store.d.ts +7 -0
- package/dist/trust/store.d.ts.map +1 -0
- package/dist/trust/store.js +40 -0
- package/dist/trust/store.js.map +1 -0
- package/dist/trust/types.d.ts +13 -0
- package/dist/trust/types.d.ts.map +1 -0
- package/dist/trust/types.js +2 -0
- package/dist/trust/types.js.map +1 -0
- package/dist/validation.d.ts +8 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +41 -0
- package/dist/validation.js.map +1 -0
- package/dist/vendor/index.d.ts +4 -0
- package/dist/vendor/index.d.ts.map +1 -0
- package/dist/vendor/index.js +31 -0
- package/dist/vendor/index.js.map +1 -0
- package/dist/verify/project.d.ts +14 -0
- package/dist/verify/project.d.ts.map +1 -0
- package/dist/verify/project.js +240 -0
- package/dist/verify/project.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { formatPackageDeclaration } from "./package-declaration.js";
|
|
2
|
+
import { defaultRenderPolicy } from "./types.js";
|
|
3
|
+
export function targetHasExtras(target) {
|
|
4
|
+
return (target.commands.length > 0 ||
|
|
5
|
+
target.rules.length > 0 ||
|
|
6
|
+
target.maxBytes !== undefined);
|
|
7
|
+
}
|
|
8
|
+
export function serializeRecommended(manifest) {
|
|
9
|
+
const lines = [`prayfile "${manifest.prayfileVersion}"`];
|
|
10
|
+
if (manifest.sources.length > 0) {
|
|
11
|
+
lines.push("");
|
|
12
|
+
for (const source of manifest.sources) {
|
|
13
|
+
lines.push(formatSource(source));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const symbolEntries = Object.entries(manifest.symbols ?? {}).sort(([left], [right]) => left.localeCompare(right));
|
|
17
|
+
if (symbolEntries.length > 0) {
|
|
18
|
+
lines.push("");
|
|
19
|
+
lines.push("pray do");
|
|
20
|
+
for (const [key, value] of symbolEntries) {
|
|
21
|
+
lines.push(` ${key} "${value}"`);
|
|
22
|
+
}
|
|
23
|
+
lines.push("end");
|
|
24
|
+
}
|
|
25
|
+
for (const target of manifest.targets) {
|
|
26
|
+
if (!target.scoped) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
lines.push("");
|
|
30
|
+
if (target.mode === "compose") {
|
|
31
|
+
const path = target.outputs[0] ?? "";
|
|
32
|
+
lines.push(`compose "${path}" do`);
|
|
33
|
+
for (const entry of target.entries ?? []) {
|
|
34
|
+
lines.push(` ${formatDestinationEntry(entry, manifest)}`);
|
|
35
|
+
}
|
|
36
|
+
lines.push("end");
|
|
37
|
+
}
|
|
38
|
+
else if (target.mode === "tree") {
|
|
39
|
+
const path = target.skills[0] ?? "";
|
|
40
|
+
lines.push(`tree "${path}" do`);
|
|
41
|
+
for (const entry of target.entries ?? []) {
|
|
42
|
+
if (entry.kind === "package") {
|
|
43
|
+
const packageEntry = findPackage(manifest, entry.name);
|
|
44
|
+
if (packageEntry) {
|
|
45
|
+
lines.push(` ${formatPackageDeclaration(packageEntry)}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
lines.push("end");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const filePackages = manifest.packages.filter((entry) => entry.file);
|
|
53
|
+
if (filePackages.length > 0) {
|
|
54
|
+
lines.push("");
|
|
55
|
+
for (const packageEntry of filePackages) {
|
|
56
|
+
lines.push(formatPackageDeclaration(packageEntry));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const unbound = manifest.packages.filter((entry) => !entry.bound && !entry.file && entry.groups.length === 0);
|
|
60
|
+
if (unbound.length > 0) {
|
|
61
|
+
lines.push("");
|
|
62
|
+
for (const packageEntry of unbound) {
|
|
63
|
+
lines.push(formatPackageDeclaration(packageEntry));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
for (const [groupNames, packages] of groupedPackages(manifest)) {
|
|
67
|
+
lines.push("");
|
|
68
|
+
lines.push(`group ${groupNames.map((name) => `:${name}`).join(", ")} do`);
|
|
69
|
+
for (const packageEntry of packages) {
|
|
70
|
+
lines.push(` ${formatPackageDeclaration(packageEntry)}`);
|
|
71
|
+
}
|
|
72
|
+
lines.push("end");
|
|
73
|
+
}
|
|
74
|
+
for (const target of manifest.targets) {
|
|
75
|
+
if (target.scoped || !targetHasExtras(target)) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
lines.push("");
|
|
79
|
+
lines.push(`target :${target.name} do`);
|
|
80
|
+
for (const command of target.commands) {
|
|
81
|
+
lines.push(` commands "${command}"`);
|
|
82
|
+
}
|
|
83
|
+
for (const rule of target.rules) {
|
|
84
|
+
lines.push(` rules "${rule}"`);
|
|
85
|
+
}
|
|
86
|
+
if (target.maxBytes !== undefined) {
|
|
87
|
+
lines.push(` max_bytes ${target.maxBytes}`);
|
|
88
|
+
}
|
|
89
|
+
lines.push("end");
|
|
90
|
+
}
|
|
91
|
+
if (!renderPolicyEquals(manifest.render, defaultRenderPolicy())) {
|
|
92
|
+
lines.push("");
|
|
93
|
+
lines.push(`render mode: :${manifest.render.mode}, conflict: :${manifest.render.conflict}, churn: :${manifest.render.churn}`);
|
|
94
|
+
}
|
|
95
|
+
lines.push("");
|
|
96
|
+
return lines.join("\n");
|
|
97
|
+
}
|
|
98
|
+
function renderPolicyEquals(left, right) {
|
|
99
|
+
return (left.mode === right.mode &&
|
|
100
|
+
left.conflict === right.conflict &&
|
|
101
|
+
left.churn === right.churn &&
|
|
102
|
+
left.header === right.header &&
|
|
103
|
+
left.sectionMarkers === right.sectionMarkers &&
|
|
104
|
+
left.lineEndings === right.lineEndings);
|
|
105
|
+
}
|
|
106
|
+
function formatSource(source) {
|
|
107
|
+
const parts = [`source "${source.name}"`];
|
|
108
|
+
if (source.kind === "path") {
|
|
109
|
+
parts.push(`path: "${source.url}"`);
|
|
110
|
+
}
|
|
111
|
+
else if (source.kind === "git") {
|
|
112
|
+
const url = source.url.startsWith("git+")
|
|
113
|
+
? source.url.slice("git+".length)
|
|
114
|
+
: source.url;
|
|
115
|
+
parts.push(`git: "${url}"`);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
parts.push(`"${source.url}"`);
|
|
119
|
+
}
|
|
120
|
+
if (source.subdir) {
|
|
121
|
+
parts.push(`distribution: "${source.subdir}"`);
|
|
122
|
+
}
|
|
123
|
+
if (source.tag) {
|
|
124
|
+
parts.push(`tag: "${source.tag}"`);
|
|
125
|
+
}
|
|
126
|
+
if (source.rev) {
|
|
127
|
+
parts.push(`rev: "${source.rev}"`);
|
|
128
|
+
}
|
|
129
|
+
return parts.join(", ");
|
|
130
|
+
}
|
|
131
|
+
function formatDestinationEntry(entry, manifest) {
|
|
132
|
+
if (entry.kind === "local") {
|
|
133
|
+
return `pray "${entry.path}"`;
|
|
134
|
+
}
|
|
135
|
+
const packageEntry = findPackage(manifest, entry.name);
|
|
136
|
+
return packageEntry
|
|
137
|
+
? formatPackageDeclaration(packageEntry)
|
|
138
|
+
: `pray "${entry.name}"`;
|
|
139
|
+
}
|
|
140
|
+
function findPackage(manifest, name) {
|
|
141
|
+
return manifest.packages.find((entry) => entry.name === name);
|
|
142
|
+
}
|
|
143
|
+
function groupedPackages(manifest) {
|
|
144
|
+
const groups = new Map();
|
|
145
|
+
for (const packageEntry of manifest.packages) {
|
|
146
|
+
if (packageEntry.groups.length === 0) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
const key = JSON.stringify(packageEntry.groups);
|
|
150
|
+
const bucket = groups.get(key);
|
|
151
|
+
if (bucket) {
|
|
152
|
+
bucket.packages.push(packageEntry);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
groups.set(key, { names: packageEntry.groups, packages: [packageEntry] });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return [...groups.values()]
|
|
159
|
+
.sort((left, right) => compareStringArrays(left.names, right.names))
|
|
160
|
+
.map((bucket) => [bucket.names, bucket.packages]);
|
|
161
|
+
}
|
|
162
|
+
function compareStringArrays(left, right) {
|
|
163
|
+
const length = Math.min(left.length, right.length);
|
|
164
|
+
for (let index = 0; index < length; index += 1) {
|
|
165
|
+
const comparison = left[index].localeCompare(right[index]);
|
|
166
|
+
if (comparison !== 0) {
|
|
167
|
+
return comparison;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return left.length - right.length;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=format-serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-serialize.js","sourceRoot":"","sources":["../../src/manifest/format-serialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { canonicalManifest, defaultRenderPolicy, type Manifest, type ManifestLocal, type ManifestPackage, type ManifestSource, type ManifestTarget, type RenderPolicy } from "./types.js";
|
|
2
|
+
export declare function readManifestText(manifestPath: string): string;
|
|
3
|
+
export declare function parseManifest(text: string): Manifest;
|
|
4
|
+
export declare function manifestHash(manifest: Manifest): string;
|
|
5
|
+
export { bindLocalEntry, bindPackageEntry, destinationTargetName, exportKindMatchesRole, isLocalPathForm, localBound, newDestinationTarget, packageBound, packageBoundToCompose, packageBoundToTree, packageRoles, roleForDestination, targetEntries, targetMode, targetScoped, upsertLocal, upsertPackage, } from "./destination.js";
|
|
6
|
+
export { classifyFormatHints, formatRecommended, type PackageFormatHint, recommendManifest, usesDestinationDsl, } from "./format-manifest.js";
|
|
7
|
+
export { serializeRecommended } from "./format-serialize.js";
|
|
8
|
+
export { formatPackageDeclaration, replacePackageDeclaration, } from "./package-declaration.js";
|
|
9
|
+
export { canonicalManifest, defaultRenderPolicy, type Manifest, type ManifestLocal, type ManifestPackage, type ManifestSource, type ManifestTarget, type RenderPolicy, };
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiB7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAEpD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGvD;AAED,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { PrayError } from "../errors.js";
|
|
3
|
+
import { sha256Prefixed } from "../hashing.js";
|
|
4
|
+
import { parseManifestText } from "./parser.js";
|
|
5
|
+
import { canonicalManifest, defaultRenderPolicy, manifestToJson, } from "./types.js";
|
|
6
|
+
export function readManifestText(manifestPath) {
|
|
7
|
+
try {
|
|
8
|
+
return readFileSync(manifestPath, "utf8");
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
if (typeof error === "object" &&
|
|
12
|
+
error !== null &&
|
|
13
|
+
"code" in error &&
|
|
14
|
+
error.code === "ENOENT") {
|
|
15
|
+
throw PrayError.manifest(`missing ${manifestPath}; run pray init to create one`);
|
|
16
|
+
}
|
|
17
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
18
|
+
throw PrayError.io(message);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function parseManifest(text) {
|
|
22
|
+
return parseManifestText(text);
|
|
23
|
+
}
|
|
24
|
+
export function manifestHash(manifest) {
|
|
25
|
+
const bytes = Buffer.from(JSON.stringify(manifestToJson(manifest)), "utf8");
|
|
26
|
+
return sha256Prefixed(bytes);
|
|
27
|
+
}
|
|
28
|
+
export { bindLocalEntry, bindPackageEntry, destinationTargetName, exportKindMatchesRole, isLocalPathForm, localBound, newDestinationTarget, packageBound, packageBoundToCompose, packageBoundToTree, packageRoles, roleForDestination, targetEntries, targetMode, targetScoped, upsertLocal, upsertPackage, } from "./destination.js";
|
|
29
|
+
export { classifyFormatHints, formatRecommended, recommendManifest, usesDestinationDsl, } from "./format-manifest.js";
|
|
30
|
+
export { serializeRecommended } from "./format-serialize.js";
|
|
31
|
+
export { formatPackageDeclaration, replacePackageDeclaration, } from "./package-declaration.js";
|
|
32
|
+
export { canonicalManifest, defaultRenderPolicy, };
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EAMnB,cAAc,GAEf,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACf,KAAK,CAAC,IAAI,KAAK,QAAQ,EACvB,CAAC;YACD,MAAM,SAAS,CAAC,QAAQ,CACtB,WAAW,YAAY,+BAA+B,CACvD,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAEjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAOpB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ManifestPackage } from "./types.js";
|
|
2
|
+
export declare function formatPackageDeclaration(packageEntry: ManifestPackage): string;
|
|
3
|
+
export declare function replacePackageDeclaration(text: string, packageEntry: ManifestPackage): string;
|
|
4
|
+
//# sourceMappingURL=package-declaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-declaration.d.ts","sourceRoot":"","sources":["../../src/manifest/package-declaration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,eAAe,GAC5B,MAAM,CA8CR;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,eAAe,GAC5B,MAAM,CA0BR"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { PrayError } from "../errors.js";
|
|
2
|
+
function formatStringKeywordList(values) {
|
|
3
|
+
return values.map((value) => `"${value}"`).join(", ");
|
|
4
|
+
}
|
|
5
|
+
export function formatPackageDeclaration(packageEntry) {
|
|
6
|
+
const parts = [`pray "${packageEntry.name}"`];
|
|
7
|
+
if (packageEntry.constraint !== "*") {
|
|
8
|
+
parts.push(`"${packageEntry.constraint}"`);
|
|
9
|
+
}
|
|
10
|
+
if (packageEntry.path) {
|
|
11
|
+
parts.push(`path: "${packageEntry.path}"`);
|
|
12
|
+
}
|
|
13
|
+
if (packageEntry.source) {
|
|
14
|
+
parts.push(`source: "${packageEntry.source}"`);
|
|
15
|
+
}
|
|
16
|
+
if (packageEntry.git) {
|
|
17
|
+
parts.push(`git: "${packageEntry.git}"`);
|
|
18
|
+
}
|
|
19
|
+
if (packageEntry.tag) {
|
|
20
|
+
parts.push(`tag: "${packageEntry.tag}"`);
|
|
21
|
+
}
|
|
22
|
+
if (packageEntry.rev) {
|
|
23
|
+
parts.push(`rev: "${packageEntry.rev}"`);
|
|
24
|
+
}
|
|
25
|
+
if (packageEntry.tarball) {
|
|
26
|
+
parts.push(`tarball: "${packageEntry.tarball}"`);
|
|
27
|
+
}
|
|
28
|
+
if (packageEntry.oci) {
|
|
29
|
+
parts.push(`oci: "${packageEntry.oci}"`);
|
|
30
|
+
}
|
|
31
|
+
if (packageEntry.file) {
|
|
32
|
+
parts.push(`file: "${packageEntry.file}"`);
|
|
33
|
+
}
|
|
34
|
+
if (packageEntry.exports.length > 0) {
|
|
35
|
+
if (packageEntry.exports.length === 1) {
|
|
36
|
+
parts.push(`export: "${packageEntry.exports[0]}"`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
parts.push(`exports: [${formatStringKeywordList(packageEntry.exports)}]`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (packageEntry.targets.length > 0) {
|
|
43
|
+
parts.push(`targets: [${formatStringKeywordList(packageEntry.targets)}]`);
|
|
44
|
+
}
|
|
45
|
+
if (packageEntry.features.length > 0) {
|
|
46
|
+
parts.push(`features: [${formatStringKeywordList(packageEntry.features)}]`);
|
|
47
|
+
}
|
|
48
|
+
if (packageEntry.optional) {
|
|
49
|
+
parts.push("optional: true");
|
|
50
|
+
}
|
|
51
|
+
return parts.join(", ");
|
|
52
|
+
}
|
|
53
|
+
export function replacePackageDeclaration(text, packageEntry) {
|
|
54
|
+
const name = packageEntry.name;
|
|
55
|
+
const prefixes = [
|
|
56
|
+
`pray "${name}"`,
|
|
57
|
+
`pray '${name}'`,
|
|
58
|
+
`use "${name}"`,
|
|
59
|
+
`include "${name}"`,
|
|
60
|
+
`agent "${name}"`,
|
|
61
|
+
`agent '${name}'`,
|
|
62
|
+
`package "${name}"`,
|
|
63
|
+
`package '${name}'`,
|
|
64
|
+
];
|
|
65
|
+
const lines = text.split(/\r?\n/);
|
|
66
|
+
const index = lines.findIndex((line) => {
|
|
67
|
+
const trimmed = line.trimStart();
|
|
68
|
+
return prefixes.some((prefix) => trimmed.startsWith(prefix));
|
|
69
|
+
});
|
|
70
|
+
if (index === -1) {
|
|
71
|
+
throw PrayError.manifest(`package ${name} not found in manifest`);
|
|
72
|
+
}
|
|
73
|
+
lines[index] = formatPackageDeclaration(packageEntry);
|
|
74
|
+
let output = lines.join("\n");
|
|
75
|
+
if (text.endsWith("\n") && !output.endsWith("\n")) {
|
|
76
|
+
output += "\n";
|
|
77
|
+
}
|
|
78
|
+
return output;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=package-declaration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-declaration.js","sourceRoot":"","sources":["../../src/manifest/package-declaration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ManifestLocal, ManifestPackage, ManifestSource, ManifestTarget, RenderPolicy } from "./types.js";
|
|
2
|
+
export declare function parseSource(rest: string): ManifestSource;
|
|
3
|
+
export declare function parseTargetHeader(rest: string): {
|
|
4
|
+
target: ManifestTarget;
|
|
5
|
+
isBlock: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function parseGroupHeader(rest: string): {
|
|
8
|
+
groups: string[];
|
|
9
|
+
isBlock: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function parsePackageDecl(rest: string): ManifestPackage;
|
|
12
|
+
export declare function parseLocalDecl(rest: string): ManifestLocal;
|
|
13
|
+
export declare function parseRenderPolicy(rest: string): RenderPolicy;
|
|
14
|
+
export declare function applyTargetStatement(target: ManifestTarget, statement: string): void;
|
|
15
|
+
//# sourceMappingURL=parse-statements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-statements.d.ts","sourceRoot":"","sources":["../../src/manifest/parse-statements.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAIpB,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA8DxD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB,CA0BA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAWA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CA+E9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAe1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoC5D;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAChB,IAAI,CAmCN"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { normalizeVersionConstraint } from "../constraint.js";
|
|
2
|
+
import { PrayError } from "../errors.js";
|
|
3
|
+
import { keywordArray, keywordValue, parseCall, requirePositionalString, stringFromLiteral, stringFromValue, } from "../literal/call-parser.js";
|
|
4
|
+
import { parseLiteral } from "../literal/parser.js";
|
|
5
|
+
import { literalAsBool, literalAsInteger, literalAsString, } from "../literal/types.js";
|
|
6
|
+
const PARSE_CONTEXT = "manifest";
|
|
7
|
+
export function parseSource(rest) {
|
|
8
|
+
const { values, keywords } = parseCall(rest);
|
|
9
|
+
if (values.length === 0) {
|
|
10
|
+
throw PrayError.parse(PARSE_CONTEXT, "source requires a name");
|
|
11
|
+
}
|
|
12
|
+
if (values.length < 2 && !keywords.has("path") && !keywords.has("git")) {
|
|
13
|
+
throw PrayError.parse(PARSE_CONTEXT, "source requires a name and url, path:, or git:");
|
|
14
|
+
}
|
|
15
|
+
const name = requirePositionalString(values, 0, PARSE_CONTEXT);
|
|
16
|
+
let kind;
|
|
17
|
+
let url;
|
|
18
|
+
if (keywords.has("path")) {
|
|
19
|
+
kind = "path";
|
|
20
|
+
url = stringFromValue(keywordValue(keywords, "path", PARSE_CONTEXT), PARSE_CONTEXT);
|
|
21
|
+
}
|
|
22
|
+
else if (keywords.has("git")) {
|
|
23
|
+
url = stringFromValue(keywordValue(keywords, "git", PARSE_CONTEXT), PARSE_CONTEXT);
|
|
24
|
+
if (!url.startsWith("git+")) {
|
|
25
|
+
url = `git+${url}`;
|
|
26
|
+
}
|
|
27
|
+
kind = "git";
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
url = requirePositionalString(values, 1, PARSE_CONTEXT);
|
|
31
|
+
if (url.startsWith("git+")) {
|
|
32
|
+
kind = "git";
|
|
33
|
+
}
|
|
34
|
+
else if (url.startsWith("pray+ssh://") || url.startsWith("ssh+pray://")) {
|
|
35
|
+
kind = "pray_ssh";
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
kind = "registry";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const subdir = keywords.get("subdir") ?? keywords.get("distribution");
|
|
42
|
+
return {
|
|
43
|
+
name,
|
|
44
|
+
kind,
|
|
45
|
+
url,
|
|
46
|
+
...(subdir ? { subdir: stringFromValue(subdir, PARSE_CONTEXT) } : {}),
|
|
47
|
+
...(keywords.has("rev")
|
|
48
|
+
? {
|
|
49
|
+
rev: stringFromValue(keywordValue(keywords, "rev", PARSE_CONTEXT), PARSE_CONTEXT),
|
|
50
|
+
}
|
|
51
|
+
: {}),
|
|
52
|
+
...(keywords.has("tag")
|
|
53
|
+
? {
|
|
54
|
+
tag: stringFromValue(keywordValue(keywords, "tag", PARSE_CONTEXT), PARSE_CONTEXT),
|
|
55
|
+
}
|
|
56
|
+
: {}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function parseTargetHeader(rest) {
|
|
60
|
+
const isBlock = rest.trimEnd().endsWith("do");
|
|
61
|
+
const header = isBlock ? rest.trimEnd().slice(0, -2).trim() : rest.trim();
|
|
62
|
+
const { values, keywords } = parseCall(header);
|
|
63
|
+
const name = requirePositionalString(values, 0, PARSE_CONTEXT);
|
|
64
|
+
const skills = [
|
|
65
|
+
...keywordArray(keywords, "folder"),
|
|
66
|
+
...keywordArray(keywords, "skills"),
|
|
67
|
+
];
|
|
68
|
+
return {
|
|
69
|
+
target: {
|
|
70
|
+
name,
|
|
71
|
+
outputs: keywordArray(keywords, "output"),
|
|
72
|
+
skills,
|
|
73
|
+
commands: keywordArray(keywords, "commands"),
|
|
74
|
+
rules: keywordArray(keywords, "rules"),
|
|
75
|
+
...(keywords.has("max_bytes")
|
|
76
|
+
? {
|
|
77
|
+
maxBytes: literalAsInteger(keywordValue(keywords, "max_bytes", PARSE_CONTEXT)),
|
|
78
|
+
}
|
|
79
|
+
: {}),
|
|
80
|
+
},
|
|
81
|
+
isBlock,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function parseGroupHeader(rest) {
|
|
85
|
+
const isBlock = rest.trimEnd().endsWith("do");
|
|
86
|
+
const header = isBlock ? rest.trimEnd().slice(0, -2).trim() : rest.trim();
|
|
87
|
+
const { values } = parseCall(header);
|
|
88
|
+
if (values.length === 0) {
|
|
89
|
+
throw PrayError.parse(PARSE_CONTEXT, "group missing name");
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
groups: values.map((value) => stringFromValue(value, PARSE_CONTEXT)),
|
|
93
|
+
isBlock,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
export function parsePackageDecl(rest) {
|
|
97
|
+
const { values, keywords } = parseCall(rest);
|
|
98
|
+
if (values.length === 0) {
|
|
99
|
+
throw PrayError.parse(PARSE_CONTEXT, "agent missing name");
|
|
100
|
+
}
|
|
101
|
+
const name = requirePositionalString(values, 0, PARSE_CONTEXT);
|
|
102
|
+
const constraint = values[1]
|
|
103
|
+
? normalizeVersionConstraint(stringFromValue(values[1], PARSE_CONTEXT))
|
|
104
|
+
: "*";
|
|
105
|
+
const exports = keywordArray(keywords, "exports");
|
|
106
|
+
if (keywords.has("export")) {
|
|
107
|
+
const single = literalAsString(keywordValue(keywords, "export", PARSE_CONTEXT));
|
|
108
|
+
if (single && !exports.includes(single)) {
|
|
109
|
+
exports.push(single);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const file = keywords.has("file")
|
|
113
|
+
? literalAsString(keywordValue(keywords, "file", PARSE_CONTEXT))
|
|
114
|
+
: undefined;
|
|
115
|
+
const roles = file ? ["file"] : [];
|
|
116
|
+
return {
|
|
117
|
+
name,
|
|
118
|
+
constraint,
|
|
119
|
+
source: keywords.has("source")
|
|
120
|
+
? stringFromValue(keywordValue(keywords, "source", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
121
|
+
: undefined,
|
|
122
|
+
exports,
|
|
123
|
+
targets: keywordArray(keywords, "targets"),
|
|
124
|
+
features: keywordArray(keywords, "features"),
|
|
125
|
+
groups: [],
|
|
126
|
+
optional: keywords.has("optional")
|
|
127
|
+
? (literalAsBool(keywordValue(keywords, "optional", PARSE_CONTEXT)) ??
|
|
128
|
+
false)
|
|
129
|
+
: false,
|
|
130
|
+
path: keywords.has("path")
|
|
131
|
+
? stringFromValue(keywordValue(keywords, "path", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
132
|
+
: undefined,
|
|
133
|
+
git: keywords.has("git")
|
|
134
|
+
? stringFromValue(keywordValue(keywords, "git", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
135
|
+
: undefined,
|
|
136
|
+
tag: keywords.has("tag")
|
|
137
|
+
? stringFromValue(keywordValue(keywords, "tag", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
138
|
+
: undefined,
|
|
139
|
+
rev: keywords.has("rev")
|
|
140
|
+
? stringFromValue(keywordValue(keywords, "rev", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
141
|
+
: undefined,
|
|
142
|
+
tarball: keywords.has("tarball")
|
|
143
|
+
? stringFromValue(keywordValue(keywords, "tarball", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
144
|
+
: undefined,
|
|
145
|
+
oci: keywords.has("oci")
|
|
146
|
+
? stringFromValue(keywordValue(keywords, "oci", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
147
|
+
: undefined,
|
|
148
|
+
file,
|
|
149
|
+
roles,
|
|
150
|
+
bound: false,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
export function parseLocalDecl(rest) {
|
|
154
|
+
const { values, keywords } = parseCall(rest);
|
|
155
|
+
return {
|
|
156
|
+
path: requirePositionalString(values, 0, PARSE_CONTEXT),
|
|
157
|
+
position: keywords.has("position")
|
|
158
|
+
? stringFromValue(keywordValue(keywords, "position", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
159
|
+
: "after",
|
|
160
|
+
optional: keywords.has("optional")
|
|
161
|
+
? (literalAsBool(keywordValue(keywords, "optional", PARSE_CONTEXT)) ??
|
|
162
|
+
false)
|
|
163
|
+
: false,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export function parseRenderPolicy(rest) {
|
|
167
|
+
const { keywords } = parseCall(rest);
|
|
168
|
+
return {
|
|
169
|
+
mode: keywords.has("mode")
|
|
170
|
+
? stringFromValue(keywordValue(keywords, "mode", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
171
|
+
: "managed",
|
|
172
|
+
conflict: keywords.has("conflict")
|
|
173
|
+
? stringFromValue(keywordValue(keywords, "conflict", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
174
|
+
: "fail",
|
|
175
|
+
churn: keywords.has("churn")
|
|
176
|
+
? stringFromValue(keywordValue(keywords, "churn", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
177
|
+
: "minimal",
|
|
178
|
+
header: keywords.has("header")
|
|
179
|
+
? (literalAsBool(keywordValue(keywords, "header", PARSE_CONTEXT)) ?? true)
|
|
180
|
+
: true,
|
|
181
|
+
sectionMarkers: keywords.has("section_markers")
|
|
182
|
+
? (literalAsBool(keywordValue(keywords, "section_markers", PARSE_CONTEXT)) ?? true)
|
|
183
|
+
: true,
|
|
184
|
+
lineEndings: keywords.has("line_endings")
|
|
185
|
+
? stringFromValue(keywordValue(keywords, "line_endings", PARSE_CONTEXT), PARSE_CONTEXT)
|
|
186
|
+
: "lf",
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
export function applyTargetStatement(target, statement) {
|
|
190
|
+
if (statement.startsWith("output ")) {
|
|
191
|
+
target.outputs.push(stringFromLiteral(statement.slice("output ".length), PARSE_CONTEXT));
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (statement.startsWith("folder ") || statement.startsWith("skills ")) {
|
|
195
|
+
const rest = statement.startsWith("folder ")
|
|
196
|
+
? statement.slice("folder ".length)
|
|
197
|
+
: statement.slice("skills ".length);
|
|
198
|
+
target.skills.push(stringFromLiteral(rest, PARSE_CONTEXT));
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (statement.startsWith("commands ")) {
|
|
202
|
+
target.commands.push(stringFromLiteral(statement.slice("commands ".length), PARSE_CONTEXT));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
if (statement.startsWith("rules ")) {
|
|
206
|
+
target.rules.push(stringFromLiteral(statement.slice("rules ".length), PARSE_CONTEXT));
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (statement.startsWith("max_bytes ")) {
|
|
210
|
+
const value = parseLiteral(statement.slice("max_bytes ".length).trim());
|
|
211
|
+
target.maxBytes = literalAsInteger(value);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
throw PrayError.parse(PARSE_CONTEXT, `unrecognized target statement: ${statement}`);
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=parse-statements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-statements.js","sourceRoot":"","sources":["../../src/manifest/parse-statements.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/manifest/parser.ts"],"names":[],"mappings":"AAoCA,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAIpB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAGxD"}
|