@zuplo/cli 6.69.0 → 6.69.1

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 (40) hide show
  1. package/dist/common/api/lib.d.ts +6 -1
  2. package/dist/common/api/lib.d.ts.map +1 -1
  3. package/dist/common/api/lib.js.map +1 -1
  4. package/dist/common/utils/pretty-print-environment-prompt.d.ts.map +1 -1
  5. package/dist/common/utils/pretty-print-environment-prompt.js +9 -15
  6. package/dist/common/utils/pretty-print-environment-prompt.js.map +1 -1
  7. package/dist/common/utils/pretty-print-environment-prompt.test.d.ts +2 -0
  8. package/dist/common/utils/pretty-print-environment-prompt.test.d.ts.map +1 -0
  9. package/dist/common/utils/pretty-print-environment-prompt.test.js +44 -0
  10. package/dist/common/utils/pretty-print-environment-prompt.test.js.map +1 -0
  11. package/dist/tsconfig.tsbuildinfo +1 -1
  12. package/node_modules/@zuplo/core/package.json +1 -1
  13. package/node_modules/@zuplo/graphql/package.json +1 -1
  14. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  15. package/node_modules/@zuplo/otel/package.json +1 -1
  16. package/node_modules/@zuplo/runtime/package.json +1 -1
  17. package/package.json +6 -10
  18. package/node_modules/as-table/.babelrc +0 -3
  19. package/node_modules/as-table/.eslintrc +0 -6
  20. package/node_modules/as-table/.travis.yml +0 -24
  21. package/node_modules/as-table/CHANGELOG.md +0 -3
  22. package/node_modules/as-table/LICENSE +0 -21
  23. package/node_modules/as-table/README.md +0 -113
  24. package/node_modules/as-table/as-table.d.ts +0 -32
  25. package/node_modules/as-table/as-table.js +0 -89
  26. package/node_modules/as-table/build/as-table.js +0 -86
  27. package/node_modules/as-table/package.json +0 -67
  28. package/node_modules/as-table/test.js +0 -223
  29. package/node_modules/printable-characters/.babelrc +0 -3
  30. package/node_modules/printable-characters/.eslintrc +0 -6
  31. package/node_modules/printable-characters/.gitattributes +0 -2
  32. package/node_modules/printable-characters/.npmignore +0 -8
  33. package/node_modules/printable-characters/.travis.yml +0 -24
  34. package/node_modules/printable-characters/CHANGELOG.md +0 -1
  35. package/node_modules/printable-characters/LICENSE +0 -24
  36. package/node_modules/printable-characters/README.md +0 -88
  37. package/node_modules/printable-characters/build/printable-characters.js +0 -53
  38. package/node_modules/printable-characters/package.json +0 -72
  39. package/node_modules/printable-characters/printable-characters.js +0 -44
  40. package/node_modules/printable-characters/test.js +0 -77
@@ -12,6 +12,11 @@ export interface Environment {
12
12
  projectName: string;
13
13
  createdOn: Date | null;
14
14
  branchName: string;
15
- environmentType: "production" | "preview" | "development" | "working_copy";
15
+ environmentType:
16
+ | "production"
17
+ | "preview"
18
+ | "development"
19
+ | "working_copy"
20
+ | "working-copy";
16
21
  }
17
22
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/common/api/lib.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;CAC5E"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/common/api/lib.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EACX,YAAY,GACZ,SAAS,GACT,aAAa,GACb,cAAc,GACd,cAAc,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/common/api/lib.ts"],"names":[],"mappings":"","sourcesContent":["export interface Account {\n id: string;\n name: string;\n}\n\nexport interface Project {\n id: string;\n name: string;\n}\n\nexport interface Environment {\n name: string;\n accountName: string;\n projectName: string;\n createdOn: Date | null;\n branchName: string;\n environmentType: \"production\" | \"preview\" | \"development\" | \"working_copy\";\n}\n"]}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/common/api/lib.ts"],"names":[],"mappings":"","sourcesContent":["export interface Account {\n id: string;\n name: string;\n}\n\nexport interface Project {\n id: string;\n name: string;\n}\n\nexport interface Environment {\n name: string;\n accountName: string;\n projectName: string;\n createdOn: Date | null;\n branchName: string;\n environmentType:\n | \"production\"\n | \"preview\"\n | \"development\"\n | \"working_copy\"\n | \"working-copy\";\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pretty-print-environment-prompt.d.ts","sourceRoot":"","sources":["../../../src/common/utils/pretty-print-environment-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,WAAW,EAChB,4BAA4B,EAAE,OAAO,UAuBtC"}
1
+ {"version":3,"file":"pretty-print-environment-prompt.d.ts","sourceRoot":"","sources":["../../../src/common/utils/pretty-print-environment-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,WAAW,EAChB,4BAA4B,EAAE,OAAO,UAiBtC"}
@@ -1,22 +1,16 @@
1
1
  export function prettyPrintEnvironmentPrompt(env, hasSingleDevelopmentInstance) {
2
- let environmentType = env.environmentType.toLowerCase();
3
- let branchName = env.branchName;
4
- let name = env.name;
2
+ const environmentType = env.environmentType.toLowerCase();
3
+ const branchName = env.branchName;
4
+ const name = env.name;
5
5
  switch (environmentType) {
6
6
  case "working-copy":
7
7
  case "working_copy":
8
- case "development":
9
- if (hasSingleDevelopmentInstance) {
10
- name = "Default for local development";
11
- environmentType = "development";
12
- branchName = "";
13
- return `${name} (${environmentType})`;
14
- }
15
- else {
16
- environmentType = "development";
17
- branchName = "";
18
- return `${name} (${environmentType})`;
19
- }
8
+ case "development": {
9
+ const displayName = hasSingleDevelopmentInstance
10
+ ? "Default for local development"
11
+ : name;
12
+ return `${displayName} (working-copy)`;
13
+ }
20
14
  }
21
15
  return `${name} (${environmentType}, ${branchName})`;
22
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pretty-print-environment-prompt.js","sourceRoot":"","sources":["../../../src/common/utils/pretty-print-environment-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,4BAA4B,CAC1C,GAAgB,EAChB,4BAAqC;IAErC,IAAI,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAChC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEpB,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YAChB,IAAI,4BAA4B,EAAE,CAAC;gBACjC,IAAI,GAAG,+BAA+B,CAAC;gBACvC,eAAe,GAAG,aAAa,CAAC;gBAChC,UAAU,GAAG,EAAE,CAAC;gBAChB,OAAO,GAAG,IAAI,KAAK,eAAe,GAAG,CAAC;YACxC,CAAC;iBAAM,CAAC;gBAEN,eAAe,GAAG,aAAa,CAAC;gBAChC,UAAU,GAAG,EAAE,CAAC;gBAChB,OAAO,GAAG,IAAI,KAAK,eAAe,GAAG,CAAC;YACxC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,IAAI,KAAK,eAAe,KAAK,UAAU,GAAG,CAAC;AACvD,CAAC","sourcesContent":["import { Environment } from \"../api/lib.js\";\n\nexport function prettyPrintEnvironmentPrompt(\n env: Environment,\n hasSingleDevelopmentInstance: boolean\n) {\n let environmentType = env.environmentType.toLowerCase();\n let branchName = env.branchName;\n let name = env.name;\n\n switch (environmentType) {\n case \"working-copy\":\n case \"working_copy\":\n case \"development\":\n if (hasSingleDevelopmentInstance) {\n name = \"Default for local development\";\n environmentType = \"development\";\n branchName = \"\";\n return `${name} (${environmentType})`;\n } else {\n // For the case of working copy the branch name is actually \"main\" but it doesn't mean anything\n environmentType = \"development\";\n branchName = \"\";\n return `${name} (${environmentType})`;\n }\n }\n return `${name} (${environmentType}, ${branchName})`;\n}\n"]}
1
+ {"version":3,"file":"pretty-print-environment-prompt.js","sourceRoot":"","sources":["../../../src/common/utils/pretty-print-environment-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,4BAA4B,CAC1C,GAAgB,EAChB,4BAAqC;IAErC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,WAAW,GAAG,4BAA4B;gBAC9C,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,IAAI,CAAC;YACT,OAAO,GAAG,WAAW,iBAAiB,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,IAAI,KAAK,eAAe,KAAK,UAAU,GAAG,CAAC;AACvD,CAAC","sourcesContent":["import { Environment } from \"../api/lib.js\";\n\nexport function prettyPrintEnvironmentPrompt(\n env: Environment,\n hasSingleDevelopmentInstance: boolean\n) {\n const environmentType = env.environmentType.toLowerCase();\n const branchName = env.branchName;\n const name = env.name;\n\n switch (environmentType) {\n case \"working-copy\":\n case \"working_copy\":\n case \"development\": {\n const displayName = hasSingleDevelopmentInstance\n ? \"Default for local development\"\n : name;\n return `${displayName} (working-copy)`;\n }\n }\n return `${name} (${environmentType}, ${branchName})`;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pretty-print-environment-prompt.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty-print-environment-prompt.test.d.ts","sourceRoot":"","sources":["../../../src/common/utils/pretty-print-environment-prompt.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import assert from "node:assert";
2
+ import { describe, it } from "node:test";
3
+ import { prettyPrintEnvironmentPrompt } from "./pretty-print-environment-prompt.js";
4
+ function makeEnv(environmentType, name = "my-env", branchName = "main") {
5
+ return {
6
+ name,
7
+ accountName: "acme",
8
+ projectName: "my-project",
9
+ createdOn: null,
10
+ branchName,
11
+ environmentType,
12
+ };
13
+ }
14
+ describe("prettyPrintEnvironmentPrompt", () => {
15
+ describe("working-copy variants all display as 'working-copy'", () => {
16
+ const workingCopyVariants = [
17
+ "working_copy",
18
+ "working-copy",
19
+ "development",
20
+ ];
21
+ for (const envType of workingCopyVariants) {
22
+ it(`shows working-copy label for environmentType="${envType}" (single instance)`, () => {
23
+ const result = prettyPrintEnvironmentPrompt(makeEnv(envType), true);
24
+ assert.ok(result.includes("(working-copy)"), `Expected "(working-copy)" in "${result}"`);
25
+ assert.ok(!result.includes("(development)"), `Expected no "(development)" in "${result}"`);
26
+ });
27
+ it(`shows working-copy label for environmentType="${envType}" (multiple instances)`, () => {
28
+ const result = prettyPrintEnvironmentPrompt(makeEnv(envType), false);
29
+ assert.ok(result.includes("(working-copy)"), `Expected "(working-copy)" in "${result}"`);
30
+ assert.ok(!result.includes("(development)"), `Expected no "(development)" in "${result}"`);
31
+ });
32
+ }
33
+ });
34
+ it("shows production label unchanged", () => {
35
+ const result = prettyPrintEnvironmentPrompt(makeEnv("production", "prod-env", "main"), false);
36
+ assert.ok(result.includes("production"), `Expected "production" in "${result}"`);
37
+ });
38
+ it("shows preview label unchanged", () => {
39
+ const result = prettyPrintEnvironmentPrompt(makeEnv("preview", "preview-env", "feature-branch"), false);
40
+ assert.ok(result.includes("preview"), `Expected "preview" in "${result}"`);
41
+ assert.ok(result.includes("feature-branch"), `Expected branch name in "${result}"`);
42
+ });
43
+ });
44
+ //# sourceMappingURL=pretty-print-environment-prompt.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty-print-environment-prompt.test.js","sourceRoot":"","sources":["../../../src/common/utils/pretty-print-environment-prompt.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,SAAS,OAAO,CACd,eAA+C,EAC/C,IAAI,GAAG,QAAQ,EACf,UAAU,GAAG,MAAM;IAEnB,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,IAAI;QACf,UAAU;QACV,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;QACnE,MAAM,mBAAmB,GAAqC;YAC5D,cAAc;YACd,cAAc;YACd,aAAa;SACd,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;YAC1C,EAAE,CAAC,iDAAiD,OAAO,qBAAqB,EAAE,GAAG,EAAE;gBACrF,MAAM,MAAM,GAAG,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;gBAEpE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACjC,iCAAiC,MAAM,GAAG,CAC3C,CAAC;gBACF,MAAM,CAAC,EAAE,CACP,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EACjC,mCAAmC,MAAM,GAAG,CAC7C,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,OAAO,wBAAwB,EAAE,GAAG,EAAE;gBACxF,MAAM,MAAM,GAAG,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACjC,iCAAiC,MAAM,GAAG,CAC3C,CAAC;gBACF,MAAM,CAAC,EAAE,CACP,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EACjC,mCAAmC,MAAM,GAAG,CAC7C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,4BAA4B,CACzC,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EACzC,KAAK,CACN,CAAC;QACF,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC7B,6BAA6B,MAAM,GAAG,CACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,4BAA4B,CACzC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC,EACnD,KAAK,CACN,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,MAAM,GAAG,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACjC,4BAA4B,MAAM,GAAG,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import assert from \"node:assert\";\nimport { describe, it } from \"node:test\";\nimport { Environment } from \"../api/lib.js\";\nimport { prettyPrintEnvironmentPrompt } from \"./pretty-print-environment-prompt.js\";\n\nfunction makeEnv(\n environmentType: Environment[\"environmentType\"],\n name = \"my-env\",\n branchName = \"main\"\n): Environment {\n return {\n name,\n accountName: \"acme\",\n projectName: \"my-project\",\n createdOn: null,\n branchName,\n environmentType,\n };\n}\n\ndescribe(\"prettyPrintEnvironmentPrompt\", () => {\n describe(\"working-copy variants all display as 'working-copy'\", () => {\n const workingCopyVariants: Environment[\"environmentType\"][] = [\n \"working_copy\",\n \"working-copy\",\n \"development\",\n ];\n for (const envType of workingCopyVariants) {\n it(`shows working-copy label for environmentType=\"${envType}\" (single instance)`, () => {\n const result = prettyPrintEnvironmentPrompt(makeEnv(envType), true);\n // The type label in parentheses must be (working-copy), not (development)\n assert.ok(\n result.includes(\"(working-copy)\"),\n `Expected \"(working-copy)\" in \"${result}\"`\n );\n assert.ok(\n !result.includes(\"(development)\"),\n `Expected no \"(development)\" in \"${result}\"`\n );\n });\n\n it(`shows working-copy label for environmentType=\"${envType}\" (multiple instances)`, () => {\n const result = prettyPrintEnvironmentPrompt(makeEnv(envType), false);\n assert.ok(\n result.includes(\"(working-copy)\"),\n `Expected \"(working-copy)\" in \"${result}\"`\n );\n assert.ok(\n !result.includes(\"(development)\"),\n `Expected no \"(development)\" in \"${result}\"`\n );\n });\n }\n });\n\n it(\"shows production label unchanged\", () => {\n const result = prettyPrintEnvironmentPrompt(\n makeEnv(\"production\", \"prod-env\", \"main\"),\n false\n );\n assert.ok(\n result.includes(\"production\"),\n `Expected \"production\" in \"${result}\"`\n );\n });\n\n it(\"shows preview label unchanged\", () => {\n const result = prettyPrintEnvironmentPrompt(\n makeEnv(\"preview\", \"preview-env\", \"feature-branch\"),\n false\n );\n assert.ok(result.includes(\"preview\"), `Expected \"preview\" in \"${result}\"`);\n assert.ok(\n result.includes(\"feature-branch\"),\n `Expected branch name in \"${result}\"`\n );\n });\n});\n"]}
@@ -1 +1 @@
1
- {"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/build/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/lib.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
1
+ {"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/build/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/lib.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.69.0",
3
+ "version": "6.69.1",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/graphql",
3
3
  "type": "module",
4
- "version": "6.69.0",
4
+ "version": "6.69.1",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -2,7 +2,7 @@
2
2
  "name": "@zuplo/openapi-tools",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "6.69.0",
5
+ "version": "6.69.1",
6
6
  "description": "Tooling for OpenAPI files",
7
7
  "repository": {
8
8
  "type": "git",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/otel",
3
3
  "type": "module",
4
- "version": "6.69.0",
4
+ "version": "6.69.1",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/runtime",
3
3
  "type": "module",
4
- "version": "6.69.0",
4
+ "version": "6.69.1",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/cli",
3
- "version": "6.69.0",
3
+ "version": "6.69.1",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -29,11 +29,10 @@
29
29
  "@opentelemetry/api": "1.9.0",
30
30
  "@sentry/node": "9.22.0",
31
31
  "@swc/core": "1.10.18",
32
- "@zuplo/core": "6.69.0",
32
+ "@zuplo/core": "6.69.1",
33
33
  "@zuplo/editor": "1.0.20821740935",
34
- "@zuplo/openapi-tools": "6.69.0",
35
- "@zuplo/runtime": "6.69.0",
36
- "as-table": "1.0.55",
34
+ "@zuplo/openapi-tools": "6.69.1",
35
+ "@zuplo/runtime": "6.69.1",
37
36
  "chalk": "5.4.1",
38
37
  "chokidar": "3.5.3",
39
38
  "cookie": "1.0.2",
@@ -64,12 +63,11 @@
64
63
  "strip-ansi": "7.1.0",
65
64
  "tar": "7.5.11",
66
65
  "undici": "6.24.1",
67
- "uuid": "^11.1.0",
68
66
  "workerd": "1.20241230.0",
69
67
  "yargs": "17.7.2",
70
68
  "zod": "^3.24.1",
71
- "@zuplo/graphql": "6.69.0",
72
- "@zuplo/otel": "6.69.0"
69
+ "@zuplo/graphql": "6.69.1",
70
+ "@zuplo/otel": "6.69.1"
73
71
  },
74
72
  "bundleDependencies": [
75
73
  "@fastify/cors",
@@ -81,7 +79,6 @@
81
79
  "@zuplo/editor",
82
80
  "@zuplo/openapi-tools",
83
81
  "@zuplo/runtime",
84
- "as-table",
85
82
  "chalk",
86
83
  "chokidar",
87
84
  "cookie",
@@ -110,7 +107,6 @@
110
107
  "strip-ansi",
111
108
  "tar",
112
109
  "undici",
113
- "uuid",
114
110
  "yargs",
115
111
  "zod",
116
112
  "@zuplo/graphql",
@@ -1,3 +0,0 @@
1
- {
2
- "plugins": ["transform-es2015-destructuring", "transform-es2015-spread"]
3
- }
@@ -1,6 +0,0 @@
1
- {
2
- "parserOptions": {
3
- "ecmaVersion": 6,
4
- "sourceType": "script"
5
- }
6
- }
@@ -1,24 +0,0 @@
1
- language: node_js
2
- node_js:
3
- - '8'
4
- script:
5
- - set -e
6
- - npm run test
7
- - npm run coveralls
8
- after_success:
9
- - git config --global user.email "travis@travis-ci.org"
10
- - git config --global user.name "Travis CI"
11
- - npm config set git-tag-version=false
12
- - NPM_VERSION=$(npm version patch)
13
- - git commit -a -m "${NPM_VERSION:1}" -m "[ci skip]"
14
- - git remote remove origin
15
- - git remote add origin https://${GITHUB_TOKEN}@github.com/xpl/as-table.git
16
- - git push origin HEAD:master
17
- deploy:
18
- provider: npm
19
- email: rocket.mind@gmail.com
20
- api_key:
21
- secure: AVxwMF+0BKyQqTvA/9Va+G+1kgsVUKQ08LgzVhqfUv2yGgh5jWY0P5/IFLQocTuC+uef066KqTlvnWR3SWqB+am5EsqiZeFPzOHmtCgxrML2aZK8crjPoY4W/3ZfPy9H00nU9YPNVguXJY7K7MwEFXZ/SVOM1aQvr+omeqMpbnP6Cl4nQ6Hzbc/uAdUHIQG1qzoEbsnkT1EuQ39v1IQLBEoiBDkUj45bmEdETZXd9Nr42BOviFMYjba0vAn8gsuUgMj+bYXeb0XXedmRwBGjtgcNx76RwwmOXPtiC2IQs6FiDmCzZtCcoYuvrWSOFYhfEgptDeeZ080x38uhBxusYq3p0iRF+XyjWlr3w1A5JaHL8FkUfmdBxKAzKhiPTS5yDqteWL8znqGKSPjR+FJNQo5pbS5+C8I67xkcDHvigMWy30lnnjvCV7tPW4FdJ85kx+F1qNmHU0vYqVfDNet4KZofgWoS0cHMYskzl1BwWC+vofwI9/sKatDtFR25ffFg8f17nW+6vTX/n9uSqIFURUI8DhfFlxqG2giDd73KCB0uZ4Fqd0dqnmcp5qg2hQt0sIftDBOmOaX7xKbVdLbGBTAQ82KZmbQCnj0In10gJQf5O/mKD7rr2dMLHi6fvbBE/cEsWy4u/o50UQ7bDzGfXT3tJ+tktxmx1HfSf6eXilA=
22
- env:
23
- global:
24
- secure: KbUFKSmSkbuRb0mQ1kcKL5dA8TdI2SlnZAzyXwRXF/RpK5LDGI31gmPODl7DOKHPzEUTQaIeA/8dI0p8DKM9eTfHyM+pl0kZE+e6wSTdawVlI9FoxLgyBi8hz3UWnA39/YN65uFNvFX+kSYPPeOeV5zJNUaC8CT7Y3HYKR3tGrBaKrQbCnOlXIBsmyFryUHqdapBDmrqrU69Ab1uQca/djS2ztsjYvaP61aEIAKAsUZQRtDk8mP8sUQ5o15CwcpaWp/K1efeb3AuxHjcYOHH0Ci0SZmWpO9ky+wLCPeDqEeV4ZDN4Wfp9yx5dNkV0+ifevSRR5FNS9LHREPML8jz53KzOQQOXK5Fup/SsHPHU0XT6vB2TlG0YwatMSVGY4QIRCMftMkokjFwWsP8oPbuTuVCWhHQouMxRQDPQ/z3Dn/+blASG1lw16S92ksRLc8CCGA8gUZ6CrKh82gFAfyzwAUgLhoFIPEEu2e49W/VdAzeQ1VfAb/TbjwdgX9OR8F8TR48jM3Xpk8BdPANso7t9Rk9vvIw0JxR0Ir+7ufHV1dqCPsGa5KdZjaKrHHs6P/JI+Xl+w4o/6wmn3FhORSKqGuxDJqoQ8cw49Hh5OM0uf9tKfiyUyuFdsApom4vwrOTL+ZRbbD037JH/fzp24C33oaGwOCdyY0Eb/n0LI5ufRg=
@@ -1,3 +0,0 @@
1
- # Recent Updates
2
-
3
- - Now layouts ANSI-colored strings correctly, thanks to the [`printable-characters`](https://github.com/xpl/printable-characters) module.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2016 Vitaly Gordon (https://github.com/xpl)
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,113 +0,0 @@
1
- # as-table
2
-
3
- [![Build Status](https://travis-ci.org/xpl/as-table.svg?branch=master)](https://travis-ci.org/xpl/as-table) [![Coverage Status](https://coveralls.io/repos/github/xpl/as-table/badge.svg)](https://coveralls.io/github/xpl/as-table) [![npm](https://img.shields.io/npm/v/as-table.svg)](https://npmjs.com/package/as-table) [![dependencies Status](https://david-dm.org/xpl/as-table/status.svg)](https://david-dm.org/xpl/as-table) [![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/xpl/as-table.svg)](https://scrutinizer-ci.com/g/xpl/as-table/?branch=master)
4
-
5
- A simple function that print objects and arrays as ASCII tables. Supports ANSI styling and weird 💩 Unicode emoji symbols (they won't break the layout), thanks to [`printable-characters`](https://github.com/xpl/printable-characters).
6
-
7
- ```bash
8
- npm install as-table
9
- ```
10
-
11
- ## Printing objects
12
-
13
- ```javascript
14
- asTable = require ('as-table')
15
-
16
- asTable ([ { foo: true, string: 'abcde', num: 42 },
17
- { foo: false, string: 'qwertyuiop', num: 43 },
18
- { string: null, num: 44 } ])
19
- ```
20
- ```
21
- foo string num
22
- ----------------------
23
- true abcde 42
24
- false qwertyuiop 43
25
- null 44
26
- ```
27
-
28
- ## Printing arrays
29
-
30
- ```javascript
31
- asTable ([['qwe', '123456789', 'zxcvbnm'],
32
- ['qwerty', '12', 'zxcvb'],
33
- ['qwertyiop', '1234567', 'z']])
34
- ```
35
- ```
36
- qwe 123456789 zxcvbnm
37
- qwerty 12 zxcvb
38
- qwertyiop 1234567 z
39
- ```
40
-
41
- ## Limiting total width by proportionally trimming cells + setting columns delimiter
42
-
43
- ```javascript
44
- asTable.configure ({ maxTotalWidth: 22, delimiter: ' | ' }) (data)
45
- ```
46
- ```
47
- qwe | 1234… | zxc…
48
- qwer… | 12 | zxc…
49
- qwer… | 1234… | z
50
- ```
51
-
52
- ## Right align
53
-
54
- ```javascript
55
- asTable.configure ({ right: true }) (data)
56
- ```
57
- ```
58
- foo bar baz
59
- -----------------------------
60
- qwe 123456789 zxcvbnm
61
- qwerty 12 zxcvb
62
- qwertyiop 1234567 z
63
- ```
64
-
65
- ## Providing a custom object printer
66
-
67
- ```javascript
68
- asTable.configure ({ print: x => (typeof x === 'boolean') ? (x ? 'yes' : 'no') : String (x) }) (data)
69
- ```
70
- ```
71
- foo string num
72
- --------------------
73
- yes abcde 42
74
- no qwertyuiop 43
75
- null 44
76
- ```
77
-
78
- The callback also receives a field name (in case of objects) or a column index (in case of arrays):
79
-
80
- ```javascript
81
- asTable = require ('as-table').configure ({
82
- print (x, k) {
83
- if (k === 'timestamp') return new Date (x).toGMTString()
84
- return String (x)
85
- }
86
- })
87
-
88
- asTable ([ { name: 'A', timestamp: 1561202591572 },
89
- { name: 'B', timestamp: 1558524240034 } ])
90
- ```
91
-
92
- ## Obtaining a pre-configured function
93
-
94
- ```javascript
95
- asTable = require ('as-table').configure ({ maxTotalWidth: 25, delimiter: ' | ' })
96
-
97
- asTable (data)
98
- ```
99
-
100
- ## Customizing the title rendering and the header separator
101
-
102
- With string coloring by [`ansicolor`](https://github.com/xpl/ansicolor) (just for the demo purposes, any library will fit):
103
-
104
- ```javascript
105
- asTable = require ('as-table').configure ({ title: x => x.bright, delimiter: ' | '.dim.cyan, dash: '-'.bright.cyan })
106
-
107
- console.log (
108
- asTable ([ { foo: true, string: 'abcde', num: 42 },
109
- { foo: false, string: 'qwertyuiop'.bgMagenta.green.bright, num: 43 } ])
110
- ```
111
-
112
- <img width="179" alt="screen shot 2017-07-21 at 23 46 14" src="https://user-images.githubusercontent.com/1707/28481945-dcb0f8d6-6e6e-11e7-896e-dfad40662daf.png">
113
-
@@ -1,32 +0,0 @@
1
-
2
- declare function asTable(rows: any[][]): string
3
- declare function asTable(objects: {[column: string]: any}[]): string
4
- declare namespace asTable {
5
- interface Config<T> {
6
- maxTotalWidth: number
7
- minColumnWidths?: number[]
8
- delimiter?: string
9
- dash: string
10
- right: boolean
11
- print(value: T, key?: string | number): string
12
- title(value: string): string
13
- }
14
- type OmitPrint<T> = Pick<T, Exclude<keyof T, 'print'>> & {print: undefined}
15
- type ValidValueType<O, T> = {
16
- [P in keyof O]: T;
17
- }
18
- interface Formatter<T> extends Readonly<Config<T>> {
19
- (rows: T[][]): string
20
- <O extends ValidValueType<O, T>>(objects: O[]): string
21
- configure(cfg: Partial<OmitPrint<Config<any>>>): Formatter<T>
22
- configure<T>(cfg: Partial<Config<T>>): Formatter<T>
23
- }
24
- function configure<T = any>(cfg: Partial<Config<T>>): Formatter<T>
25
- const maxTotalWidth: number
26
- const print: StringConstructor
27
- const title: StringConstructor
28
- const dash: '-'
29
- const right: false
30
- }
31
-
32
- export = asTable
@@ -1,89 +0,0 @@
1
- "use strict";
2
-
3
- const O = Object
4
- , { first, strlen } = require ('printable-characters') // handles ANSI codes and invisible characters
5
- , limit = (s, n) => (first (s, n - 1) + '…')
6
-
7
- const asColumns = (rows, cfg_) => {
8
-
9
- const
10
-
11
- zip = (arrs, f) => arrs.reduce ((a, b) => b.map ((b, i) => [...a[i] || [], b]), []).map (args => f (...args)),
12
-
13
- /* Convert cell data to string (converting multiline text to singleline) */
14
-
15
- cells = rows.map (r => r.map (c => c.replace (/\n/g, '\\n'))),
16
-
17
- /* Compute column widths (per row) and max widths (per column) */
18
-
19
- cellWidths = cells.map (r => r.map (strlen)),
20
- maxWidths = zip (cellWidths, Math.max),
21
-
22
- /* Default config */
23
-
24
- cfg = O.assign ({
25
- delimiter: ' ',
26
- minColumnWidths: maxWidths.map (x => 0),
27
- maxTotalWidth: 0 }, cfg_),
28
-
29
- delimiterLength = strlen (cfg.delimiter),
30
-
31
- /* Project desired column widths, taking maxTotalWidth and minColumnWidths in account. */
32
-
33
- totalWidth = maxWidths.reduce ((a, b) => a + b, 0),
34
- relativeWidths = maxWidths.map (w => w / totalWidth),
35
- maxTotalWidth = cfg.maxTotalWidth - (delimiterLength * (maxWidths.length - 1)),
36
- excessWidth = Math.max (0, totalWidth - maxTotalWidth),
37
- computedWidths = zip ([cfg.minColumnWidths, maxWidths, relativeWidths],
38
- (min, max, relative) => Math.max (min, Math.floor (max - excessWidth * relative))),
39
-
40
- /* This is how many symbols we should pad or cut (per column). */
41
-
42
- restCellWidths = cellWidths.map (widths => zip ([computedWidths, widths], (a, b) => a - b))
43
-
44
- /* Perform final composition. */
45
-
46
- return zip ([cells, restCellWidths], (a, b) =>
47
- zip ([a, b], (str, w) => (w >= 0)
48
- ? (cfg.right ? (' '.repeat (w) + str) : (str + ' '.repeat (w)))
49
- : (limit (str, strlen (str) + w))).join (cfg.delimiter))
50
- }
51
-
52
- const asTable = cfg => O.assign (arr => {
53
-
54
- /* Print arrays */
55
-
56
- if (arr[0] && Array.isArray (arr[0])) {
57
- return asColumns (arr.map (r => r.map (
58
- (c, i) => (c === undefined) ? '' : cfg.print (c, i)
59
- )
60
- ),
61
- cfg).join ('\n')
62
- }
63
-
64
- /* Print objects */
65
-
66
- const colNames = [...new Set ([].concat (...arr.map (O.keys)))],
67
- columns = [colNames.map (cfg.title),
68
- ...arr.map (o => colNames.map (
69
- key => (o[key] === undefined) ? '' : cfg.print (o[key], key)
70
- )
71
- )
72
- ],
73
- lines = asColumns (columns, cfg)
74
-
75
- return (cfg.dash ? [lines[0], cfg.dash.repeat (strlen (lines[0])), ...lines.slice (1)] : lines).join ('\n')
76
-
77
- }, cfg, {
78
-
79
- configure: newConfig => asTable (O.assign ({}, cfg, newConfig)),
80
- })
81
-
82
- module.exports = asTable ({
83
-
84
- maxTotalWidth: Number.MAX_SAFE_INTEGER,
85
- print: String,
86
- title: String,
87
- dash: '-',
88
- right: false
89
- })