@gooddata/create-pluggable-module 11.41.0-alpha.3 → 11.41.0-alpha.5

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.
Files changed (48) hide show
  1. package/dist/templates/harness/package.json +1 -1
  2. package/dist/templates/module/package.json +1 -1
  3. package/esm/engine/__tests__/anchors.test.d.ts +1 -0
  4. package/esm/engine/__tests__/anchors.test.d.ts.map +1 -0
  5. package/esm/engine/__tests__/copyTemplate.test.d.ts +1 -0
  6. package/esm/engine/__tests__/copyTemplate.test.d.ts.map +1 -0
  7. package/esm/engine/__tests__/copyTemplate.test.js +11 -0
  8. package/esm/engine/__tests__/derived.test.d.ts +1 -0
  9. package/esm/engine/__tests__/derived.test.d.ts.map +1 -0
  10. package/esm/engine/__tests__/jsonAnchors.test.d.ts +1 -0
  11. package/esm/engine/__tests__/jsonAnchors.test.d.ts.map +1 -0
  12. package/esm/engine/__tests__/repoDetection.test.d.ts +1 -0
  13. package/esm/engine/__tests__/repoDetection.test.d.ts.map +1 -0
  14. package/esm/engine/__tests__/scrubPackageJsonVersions.d.ts +1 -0
  15. package/esm/engine/__tests__/scrubPackageJsonVersions.d.ts.map +1 -0
  16. package/esm/engine/__tests__/scrubPackageJsonVersions.test.d.ts +1 -0
  17. package/esm/engine/__tests__/scrubPackageJsonVersions.test.d.ts.map +1 -0
  18. package/esm/engine/__tests__/snapshot.test.d.ts +1 -0
  19. package/esm/engine/__tests__/snapshot.test.d.ts.map +1 -0
  20. package/esm/engine/__tests__/snapshot.test.js +5 -3
  21. package/esm/engine/anchors.d.ts +1 -0
  22. package/esm/engine/anchors.d.ts.map +1 -0
  23. package/esm/engine/checkAnchors.d.ts +1 -0
  24. package/esm/engine/checkAnchors.d.ts.map +1 -0
  25. package/esm/engine/copyTemplate.d.ts +6 -0
  26. package/esm/engine/copyTemplate.d.ts.map +1 -0
  27. package/esm/engine/copyTemplate.js +16 -2
  28. package/esm/engine/derived.d.ts +1 -0
  29. package/esm/engine/derived.d.ts.map +1 -0
  30. package/esm/engine/jsonAnchors.d.ts +1 -0
  31. package/esm/engine/jsonAnchors.d.ts.map +1 -0
  32. package/esm/engine/prompts.d.ts +1 -0
  33. package/esm/engine/prompts.d.ts.map +1 -0
  34. package/esm/engine/repoDetection.d.ts +1 -0
  35. package/esm/engine/repoDetection.d.ts.map +1 -0
  36. package/esm/engine/runProfile.d.ts +1 -0
  37. package/esm/engine/runProfile.d.ts.map +1 -0
  38. package/esm/engine/spawn.d.ts +1 -0
  39. package/esm/engine/spawn.d.ts.map +1 -0
  40. package/esm/index.d.ts +1 -0
  41. package/esm/index.d.ts.map +1 -0
  42. package/esm/profiles/__tests__/client.test.d.ts +1 -0
  43. package/esm/profiles/__tests__/client.test.d.ts.map +1 -0
  44. package/esm/profiles/client.d.ts +1 -0
  45. package/esm/profiles/client.d.ts.map +1 -0
  46. package/esm/types.d.ts +1 -0
  47. package/esm/types.d.ts.map +1 -0
  48. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gdc-app-template-name-harness",
3
- "version": "11.41.0-alpha.3",
3
+ "version": "11.41.0-alpha.5",
4
4
  "private": true,
5
5
  "description": "Standalone harness for gdc-app-template-name module",
6
6
  "license": "UNLICENSED",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gdc-app-template-name-module",
3
- "version": "11.41.0-alpha.3",
3
+ "version": "11.41.0-alpha.5",
4
4
  "private": true,
5
5
  "description": "{applicationTemplateTitle} pluggable application module",
6
6
  "license": "UNLICENSED",
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=anchors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchors.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/anchors.test.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=copyTemplate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyTemplate.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/copyTemplate.test.ts"],"names":[],"mappings":""}
@@ -48,6 +48,17 @@ describe("copyTemplate", () => {
48
48
  const copied = readFileSync(join(dest, "image.png"));
49
49
  expect(copied.equals(binaryContent)).toBe(true);
50
50
  });
51
+ it("copies TLS cert fixtures (.crt/.key) verbatim — never token-substituted", () => {
52
+ // Self-signed e2e certs are cryptographic artifacts. Even though PEM is ASCII, a
53
+ // token match inside the body must not rewrite the cert, so they go through the
54
+ // verbatim (BINARY_EXTENSIONS) path.
55
+ const pem = "-----BEGIN CERTIFICATE-----\nTOKENISH-base64-payload\n-----END CERTIFICATE-----\n";
56
+ writeFileSync(join(src, "server.crt"), pem);
57
+ writeFileSync(join(src, "server.key"), pem);
58
+ copyTemplate(src, dest, [["TOKENISH", "REPLACED"]]);
59
+ expect(readFileSync(join(dest, "server.crt"), "utf-8")).toBe(pem);
60
+ expect(readFileSync(join(dest, "server.key"), "utf-8")).toBe(pem);
61
+ });
51
62
  it("token substitution ORDER matters — longer-first prevents partial overlap", () => {
52
63
  writeFileSync(join(src, "a.txt"), "foo-bar foo");
53
64
  const { written: _w } = copyTemplate(src, dest, [
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=derived.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/derived.test.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=jsonAnchors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonAnchors.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/jsonAnchors.test.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=repoDetection.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repoDetection.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/repoDetection.test.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export declare function scrubPackageJsonVersions(content: string): string;
2
+ //# sourceMappingURL=scrubPackageJsonVersions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubPackageJsonVersions.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/scrubPackageJsonVersions.ts"],"names":[],"mappings":"AAmBA,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBhE"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=scrubPackageJsonVersions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubPackageJsonVersions.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/scrubPackageJsonVersions.test.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=snapshot.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.test.d.ts","sourceRoot":"","sources":["../../../src/engine/__tests__/snapshot.test.ts"],"names":[],"mappings":""}
@@ -5,6 +5,7 @@ import { tmpdir } from "os";
5
5
  import { dirname, join, relative } from "path";
6
6
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
7
7
  import { clientProfile } from "../../profiles/client.js";
8
+ import { BINARY_EXTENSIONS } from "../copyTemplate.js";
8
9
  import { runProfileWithAnswers } from "../runProfile.js";
9
10
  import { scrubPackageJsonVersions } from "./scrubPackageJsonVersions.js";
10
11
  // Resolve workspace template paths via pnpm's symlinks. The template packages
@@ -30,10 +31,11 @@ function treeToMap(root) {
30
31
  continue;
31
32
  }
32
33
  const rel = relative(root, abs);
33
- // Binary files (images, fonts) — record only their size so changes
34
- // surface in the snapshot without including raw bytes.
34
+ // Binary files (images, fonts, cert fixtures) — record only their size so
35
+ // changes surface in the snapshot without including raw bytes. Reuses the
36
+ // engine's BINARY_EXTENSIONS so this list can never drift from copyTemplate.
35
37
  const ext = entry.name.slice(entry.name.lastIndexOf(".")).toLowerCase();
36
- if ([".png", ".jpg", ".jpeg", ".gif", ".ico", ".woff", ".woff2", ".ttf", ".eot"].includes(ext)) {
38
+ if (BINARY_EXTENSIONS.has(ext)) {
37
39
  out[rel] = `<binary, ${statSync(abs).size} bytes>`;
38
40
  continue;
39
41
  }
@@ -15,3 +15,4 @@ export declare function fullAnchor(suffix?: string): string;
15
15
  */
16
16
  export declare function findAnchorLineIdx(lines: readonly string[], filename: string, suffix?: string): number;
17
17
  export declare function insertBeforeAnchor(content: string, filename: string, linesToInsert: readonly string[], suffix?: string): string;
18
+ //# sourceMappingURL=anchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchors.d.ts","sourceRoot":"","sources":["../../src/engine/anchors.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAE9D,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAqBrG;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,MAAM,CAAC,EAAE,MAAM,GAChB,MAAM,CAKR"}
@@ -10,3 +10,4 @@ import type { IRegistrationStep } from "../types.js";
10
10
  * insertion pass, so the two cannot drift.
11
11
  */
12
12
  export declare function checkAnchors(steps: readonly IRegistrationStep[], repoRoot: string): void;
13
+ //# sourceMappingURL=checkAnchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAnchors.d.ts","sourceRoot":"","sources":["../../src/engine/checkAnchors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUrD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CA+BxF"}
@@ -1,4 +1,9 @@
1
1
  import type { TokenReplacements } from "../types.js";
2
+ /**
3
+ * Files for which token-substitution-in-text would corrupt the byte stream.
4
+ * Binary files must be copied verbatim.
5
+ */
6
+ export declare const BINARY_EXTENSIONS: Set<string>;
2
7
  export interface ICopyResult {
3
8
  /** Absolute paths of every file written. Used for the package.json transform pass. */
4
9
  written: string[];
@@ -9,3 +14,4 @@ export interface ICopyResult {
9
14
  * post-process specific paths (e.g. transformPackageJson).
10
15
  */
11
16
  export declare function copyTemplate(srcDir: string, destDir: string, replacements: TokenReplacements): ICopyResult;
17
+ //# sourceMappingURL=copyTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyTemplate.d.ts","sourceRoot":"","sources":["../../src/engine/copyTemplate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAYrD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,aAc5B,CAAC;AAEH,MAAM,WAAW,WAAW;IACxB,sFAAsF;IACtF,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,GAAG,WAAW,CAI1G"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { cpSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
2
+ import { chmodSync, cpSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "fs";
3
3
  import { join } from "path";
4
4
  /**
5
5
  * Directories that should never be copied. Tooling output (`node_modules`,
@@ -13,7 +13,7 @@ const SKIP_SUFFIXES = [".tsbuildinfo"];
13
13
  * Files for which token-substitution-in-text would corrupt the byte stream.
14
14
  * Binary files must be copied verbatim.
15
15
  */
16
- const BINARY_EXTENSIONS = new Set([
16
+ export const BINARY_EXTENSIONS = new Set([
17
17
  ".ico",
18
18
  ".png",
19
19
  ".jpg",
@@ -23,6 +23,10 @@ const BINARY_EXTENSIONS = new Set([
23
23
  ".woff2",
24
24
  ".ttf",
25
25
  ".eot",
26
+ // TLS fixtures (self-signed e2e certs): cryptographic artifacts that must
27
+ // never be touched by token substitution, even though PEM is ASCII text.
28
+ ".crt",
29
+ ".key",
26
30
  ]);
27
31
  /**
28
32
  * Recursively copies srcDir → destDir applying ordered string replacement to
@@ -57,6 +61,7 @@ function copyRecursive(srcDir, destDir, replacements, written) {
57
61
  function copyFile(srcPath, destPath, name, replacements, written) {
58
62
  const ext = name.slice(name.lastIndexOf(".")).toLowerCase();
59
63
  if (BINARY_EXTENSIONS.has(ext)) {
64
+ // cpSync preserves the source mode (including the executable bit) by default.
60
65
  cpSync(srcPath, destPath);
61
66
  written.push(destPath);
62
67
  return;
@@ -66,5 +71,14 @@ function copyFile(srcPath, destPath, name, replacements, written) {
66
71
  content = content.replaceAll(token, value);
67
72
  }
68
73
  writeFileSync(destPath, content, "utf-8");
74
+ // writeFileSync creates with default perms (0o666 & ~umask), dropping the source's
75
+ // executable bit. Carry over ONLY the source's exec bits (never clearing write bits,
76
+ // so a read-only source can't make the copy read-only and break a later rewrite) so
77
+ // shell scripts stay runnable — both the package.json `./scripts/...sh` entries and the
78
+ // CI ref-workspace action invoke them directly (`./create-ref-workspace.sh`), needing +x.
79
+ const execBits = statSync(srcPath).mode & 0o111;
80
+ if (execBits) {
81
+ chmodSync(destPath, statSync(destPath).mode | execBits);
82
+ }
69
83
  written.push(destPath);
70
84
  }
@@ -30,3 +30,4 @@ export declare function computeDevPort(repoRoot: string, extraDirs?: readonly st
30
30
  * (during local dev) or esm/ (after publish).
31
31
  */
32
32
  export declare function getOwnPackageVersion(): string;
33
+ //# sourceMappingURL=derived.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../src/engine/derived.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,8DAA8D;AAC9D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAiC1F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C"}
@@ -11,3 +11,4 @@
11
11
  * the comma slots into the gap between the code part and the comment, not at end of line.
12
12
  */
13
13
  export declare function ensureTrailingCommaBeforeAnchor(content: string, suffix?: string): string;
14
+ //# sourceMappingURL=jsonAnchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonAnchors.d.ts","sourceRoot":"","sources":["../../src/engine/jsonAnchors.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA4BxF"}
@@ -13,3 +13,4 @@ export declare function validateTextValue(value: string): string | null;
13
13
  * profile's extraPrompts in order. Returns once every answer is collected.
14
14
  */
15
15
  export declare function runPrompts(extraPrompts: readonly IPromptDescriptor[]): Promise<IScaffoldAnswers>;
16
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/engine/prompts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA+DzF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9D;AA+CD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2BtG"}
@@ -16,3 +16,4 @@ export declare function findUp(startDir: string, marker: string): string | undef
16
16
  * back to `npm` for fresh repos with no lockfile yet.
17
17
  */
18
18
  export declare function detectRepo(cwd: string): IRepoInfo;
19
+ //# sourceMappingURL=repoDetection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repoDetection.d.ts","sourceRoot":"","sources":["../../src/engine/repoDetection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CASjD"}
@@ -16,3 +16,4 @@ export declare function runProfileWithAnswers(profile: IScaffoldProfile, answers
16
16
  */
17
17
  steps?: readonly IRegistrationStep[];
18
18
  }): Promise<void>;
19
+ //# sourceMappingURL=runProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runProfile.d.ts","sourceRoot":"","sources":["../../src/engine/runProfile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAER,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,aAAa,CAAC;AAmErB,wBAAsB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAazE;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACvC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE;IACN,yEAAyE;IACzE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACxC,GACF,OAAO,CAAC,IAAI,CAAC,CA0Gf"}
@@ -11,3 +11,4 @@ export declare function installCommand(pm: PackageManager): {
11
11
  command: string;
12
12
  args: string[];
13
13
  };
14
+ //# sourceMappingURL=spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../src/engine/spawn.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQzF;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAWtF"}
package/esm/index.d.ts CHANGED
@@ -8,3 +8,4 @@ export { fullAnchor, findAnchorLineIdx, insertBeforeAnchor, ANCHOR_KEYWORD } fro
8
8
  export { computeRoute, computeFederationName, computeRemoteUrlEnvVar, computeDevPort, getOwnPackageVersion, } from "./engine/derived.js";
9
9
  export { runCommand, installCommand } from "./engine/spawn.js";
10
10
  export { validateTextValue } from "./engine/prompts.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;AAC5D,YAAY,EACR,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,iBAAiB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EACH,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../../src/profiles/__tests__/client.test.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  import type { IScaffoldProfile } from "../types.js";
2
2
  export declare const clientProfile: IScaffoldProfile;
3
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/profiles/client.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAMR,gBAAgB,EAEnB,MAAM,aAAa,CAAC;AA+CrB,eAAO,MAAM,aAAa,EAAE,gBAmI3B,CAAC"}
package/esm/types.d.ts CHANGED
@@ -192,3 +192,4 @@ export interface IScaffoldProfile {
192
192
  /** Final step after copy + register: rush update / npm install / no-op. */
193
193
  postCopy(ctx: IProfileContext): Promise<void>;
194
194
  }
195
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/create-pluggable-module",
3
- "version": "11.41.0-alpha.3",
3
+ "version": "11.41.0-alpha.5",
4
4
  "description": "Scaffolder for GoodData pluggable applications. Invoked via `npm init @gooddata/pluggable-module`.",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -50,10 +50,10 @@
50
50
  "typescript": "5.9.3",
51
51
  "vite": "8.0.16",
52
52
  "vitest": "4.1.8",
53
- "@gooddata/eslint-config": "11.41.0-alpha.3",
54
- "gdc-app-template-name-harness": "11.41.0-alpha.3",
55
- "@gooddata/oxlint-config": "11.41.0-alpha.3",
56
- "gdc-app-template-name-module": "11.41.0-alpha.3"
53
+ "@gooddata/eslint-config": "11.41.0-alpha.5",
54
+ "gdc-app-template-name-module": "11.41.0-alpha.5",
55
+ "@gooddata/oxlint-config": "11.41.0-alpha.5",
56
+ "gdc-app-template-name-harness": "11.41.0-alpha.5"
57
57
  },
58
58
  "engines": {
59
59
  "node": ">=24.12.0"