@solana-mobile/dapp-store-cli 0.16.0 → 1.0.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.
Files changed (113) hide show
  1. package/bin/dapp-store.js +3 -1
  2. package/lib/CliSetup.js +304 -505
  3. package/lib/CliUtils.js +6 -376
  4. package/lib/__tests__/CliSetupTest.js +484 -74
  5. package/lib/cli/__tests__/parseErrors.test.js +25 -0
  6. package/lib/cli/__tests__/signer.test.js +436 -0
  7. package/lib/cli/constants.js +23 -0
  8. package/lib/cli/messages.js +21 -0
  9. package/lib/cli/parseErrors.js +41 -0
  10. package/lib/{commands/publish/PublishCliSupport.js → cli/selfUpdate.js} +72 -38
  11. package/lib/{commands/publish/PublishCliRemove.js → cli/signer.js} +35 -56
  12. package/lib/index.js +96 -5
  13. package/lib/package.json +5 -24
  14. package/lib/portal/__tests__/releaseMetadata.test.js +647 -0
  15. package/lib/portal/__tests__/translators.test.js +76 -0
  16. package/lib/portal/__tests__/workflowClient.test.js +457 -0
  17. package/lib/portal/attestationClient.js +143 -0
  18. package/lib/portal/files.js +64 -0
  19. package/lib/portal/http.js +364 -0
  20. package/lib/portal/records.js +64 -0
  21. package/lib/portal/releaseMetadata.js +748 -0
  22. package/lib/portal/translators.js +460 -0
  23. package/lib/portal/types.js +1 -0
  24. package/lib/portal/workflowClient.js +704 -0
  25. package/lib/publication/PublicationProgressReporter.js +1051 -0
  26. package/lib/publication/__tests__/PublicationProgressReporter.test.js +174 -0
  27. package/lib/{commands/ValidateCommand.js → publication/__tests__/fundingPreflight.test.js} +90 -66
  28. package/lib/publication/__tests__/publicationSummary.test.js +26 -0
  29. package/lib/publication/cliValidation.js +482 -0
  30. package/lib/publication/fundingPreflight.js +246 -0
  31. package/lib/publication/publicationSummary.js +99 -0
  32. package/lib/{commands/utils.js → publication/runPublicationWorkflow.js} +16 -46
  33. package/package.json +5 -24
  34. package/src/CliSetup.ts +370 -505
  35. package/src/CliUtils.ts +9 -233
  36. package/src/__tests__/CliSetupTest.ts +272 -120
  37. package/src/cli/__tests__/parseErrors.test.ts +34 -0
  38. package/src/cli/__tests__/signer.test.ts +359 -0
  39. package/src/cli/constants.ts +3 -0
  40. package/src/cli/messages.ts +27 -0
  41. package/src/cli/parseErrors.ts +62 -0
  42. package/src/cli/selfUpdate.ts +59 -0
  43. package/src/cli/signer.ts +38 -0
  44. package/src/index.ts +31 -4
  45. package/src/portal/__tests__/releaseMetadata.test.ts +508 -0
  46. package/src/portal/__tests__/translators.test.ts +82 -0
  47. package/src/portal/__tests__/workflowClient.test.ts +278 -0
  48. package/src/portal/attestationClient.ts +19 -0
  49. package/src/portal/files.ts +73 -0
  50. package/src/portal/http.ts +170 -0
  51. package/src/portal/records.ts +38 -0
  52. package/src/portal/releaseMetadata.ts +489 -0
  53. package/src/portal/translators.ts +750 -0
  54. package/src/portal/types.ts +27 -0
  55. package/src/portal/workflowClient.ts +575 -0
  56. package/src/publication/PublicationProgressReporter.ts +1026 -0
  57. package/src/publication/__tests__/PublicationProgressReporter.test.ts +210 -0
  58. package/src/publication/__tests__/fundingPreflight.test.ts +78 -0
  59. package/src/publication/__tests__/publicationSummary.test.ts +30 -0
  60. package/src/publication/cliValidation.ts +264 -0
  61. package/src/publication/fundingPreflight.ts +123 -0
  62. package/src/publication/publicationSummary.ts +26 -0
  63. package/src/publication/runPublicationWorkflow.ts +46 -0
  64. package/lib/commands/create/CreateCliApp.js +0 -223
  65. package/lib/commands/create/CreateCliRelease.js +0 -290
  66. package/lib/commands/create/index.js +0 -40
  67. package/lib/commands/index.js +0 -3
  68. package/lib/commands/publish/PublishCliSubmit.js +0 -208
  69. package/lib/commands/publish/PublishCliUpdate.js +0 -211
  70. package/lib/commands/publish/index.js +0 -22
  71. package/lib/commands/scaffolding/ScaffoldInit.js +0 -15
  72. package/lib/commands/scaffolding/index.js +0 -1
  73. package/lib/config/EnvVariables.js +0 -59
  74. package/lib/config/PublishDetails.js +0 -915
  75. package/lib/config/S3StorageManager.js +0 -93
  76. package/lib/config/index.js +0 -2
  77. package/lib/generated/config_obj.json +0 -1
  78. package/lib/generated/config_schema.json +0 -1
  79. package/lib/prebuild_schema/publishing_source.yaml +0 -64
  80. package/lib/prebuild_schema/schemagen.js +0 -25
  81. package/lib/upload/CachedStorageDriver.js +0 -458
  82. package/lib/upload/TurboStorageDriver.js +0 -718
  83. package/lib/upload/__tests__/CachedStorageDriver.test.js +0 -437
  84. package/lib/upload/__tests__/TurboStorageDriver.test.js +0 -17
  85. package/lib/upload/__tests__/contentGateway.test.js +0 -17
  86. package/lib/upload/contentGateway.js +0 -23
  87. package/lib/upload/index.js +0 -2
  88. package/src/commands/ValidateCommand.ts +0 -82
  89. package/src/commands/create/CreateCliApp.ts +0 -93
  90. package/src/commands/create/CreateCliRelease.ts +0 -149
  91. package/src/commands/create/index.ts +0 -47
  92. package/src/commands/index.ts +0 -3
  93. package/src/commands/publish/PublishCliRemove.ts +0 -66
  94. package/src/commands/publish/PublishCliSubmit.ts +0 -93
  95. package/src/commands/publish/PublishCliSupport.ts +0 -66
  96. package/src/commands/publish/PublishCliUpdate.ts +0 -101
  97. package/src/commands/publish/index.ts +0 -29
  98. package/src/commands/scaffolding/ScaffoldInit.ts +0 -20
  99. package/src/commands/scaffolding/index.ts +0 -1
  100. package/src/commands/utils.ts +0 -33
  101. package/src/config/EnvVariables.ts +0 -39
  102. package/src/config/PublishDetails.ts +0 -456
  103. package/src/config/S3StorageManager.ts +0 -47
  104. package/src/config/index.ts +0 -2
  105. package/src/prebuild_schema/publishing_source.yaml +0 -64
  106. package/src/prebuild_schema/schemagen.js +0 -31
  107. package/src/upload/CachedStorageDriver.ts +0 -179
  108. package/src/upload/TurboStorageDriver.ts +0 -283
  109. package/src/upload/__tests__/CachedStorageDriver.test.ts +0 -246
  110. package/src/upload/__tests__/TurboStorageDriver.test.ts +0 -15
  111. package/src/upload/__tests__/contentGateway.test.ts +0 -31
  112. package/src/upload/contentGateway.ts +0 -37
  113. package/src/upload/index.ts +0 -2
@@ -1,15 +0,0 @@
1
- import { getTurboServiceConfig } from "../TurboStorageDriver";
2
-
3
- describe("TurboStorageDriver", () => {
4
- test("uses the latest Turbo SDK service config shape for devnet", () => {
5
- expect(getTurboServiceConfig("devnet")).toEqual({
6
- gatewayUrl: "https://api.devnet.solana.com",
7
- uploadServiceConfig: { url: "https://upload.ardrive.dev" },
8
- paymentServiceConfig: { url: "https://payment.ardrive.dev" },
9
- });
10
- });
11
-
12
- test("relies on the SDK defaults for mainnet service URLs", () => {
13
- expect(getTurboServiceConfig("mainnet")).toEqual({});
14
- });
15
- });
@@ -1,31 +0,0 @@
1
- import { buildPublicContentUrl, normalizePublicContentUrl } from "../contentGateway";
2
-
3
- describe("contentGateway", () => {
4
- test("builds a mainnet dappstorecontent URL from an upload id", () => {
5
- expect(buildPublicContentUrl("abc123", "mainnet")).toBe(
6
- "https://dappstorecontent.com/abc123"
7
- );
8
- });
9
-
10
- test("builds a devnet Turbo raw URL from an upload id", () => {
11
- expect(buildPublicContentUrl("abc123", "devnet")).toBe(
12
- "https://turbo.ardrive.dev/raw/abc123"
13
- );
14
- });
15
-
16
- test("normalizes arweave.net and arweave.com URLs to dappstorecontent", () => {
17
- expect(normalizePublicContentUrl("https://arweave.net/abc123")).toBe(
18
- "https://dappstorecontent.com/abc123"
19
- );
20
- expect(
21
- normalizePublicContentUrl("https://www.arweave.com/abc123?ext=png")
22
- ).toBe("https://dappstorecontent.com/abc123?ext=png");
23
- });
24
-
25
- test("leaves non-arweave URLs unchanged", () => {
26
- expect(
27
- normalizePublicContentUrl("https://turbo.ardrive.dev/raw/abc123")
28
- ).toBe("https://turbo.ardrive.dev/raw/abc123");
29
- expect(normalizePublicContentUrl("not-a-url")).toBe("not-a-url");
30
- });
31
- });
@@ -1,37 +0,0 @@
1
- export type StorageNetwork = "devnet" | "mainnet";
2
-
3
- const MAINNET_PUBLIC_CONTENT_GATEWAY = "https://dappstorecontent.com";
4
- const DEVNET_PUBLIC_CONTENT_GATEWAY = "https://turbo.ardrive.dev/raw";
5
-
6
- const LEGACY_MAINNET_CONTENT_HOSTS = new Set([
7
- "arweave.net",
8
- "www.arweave.net",
9
- "arweave.com",
10
- "www.arweave.com",
11
- ]);
12
-
13
- export const buildPublicContentUrl = (
14
- id: string,
15
- network: StorageNetwork
16
- ): string => {
17
- const gateway =
18
- network === "devnet"
19
- ? DEVNET_PUBLIC_CONTENT_GATEWAY
20
- : MAINNET_PUBLIC_CONTENT_GATEWAY;
21
-
22
- return `${gateway}/${id}`;
23
- };
24
-
25
- export const normalizePublicContentUrl = (url: string): string => {
26
- try {
27
- const parsed = new URL(url);
28
-
29
- if (!LEGACY_MAINNET_CONTENT_HOSTS.has(parsed.host.toLowerCase())) {
30
- return url;
31
- }
32
-
33
- return `${MAINNET_PUBLIC_CONTENT_GATEWAY}${parsed.pathname}${parsed.search}${parsed.hash}`;
34
- } catch {
35
- return url;
36
- }
37
- };
@@ -1,2 +0,0 @@
1
- export * from "./CachedStorageDriver.js";
2
- export * from "./TurboStorageDriver.js";