@stripe/extensibility-dev-tools 0.23.5 → 0.23.7

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 (67) hide show
  1. package/README.md +28 -0
  2. package/dist/api-surface.d.ts.map +1 -0
  3. package/dist/bin/build-custom-object-definitions.cjs +21 -24
  4. package/dist/bin/build-custom-object-definitions.js +21 -24
  5. package/dist/bin/create-upload-image.cjs +21 -24
  6. package/dist/bin/create-upload-image.js +21 -24
  7. package/dist/bin/dev-tools-rpc.cjs +35 -25
  8. package/dist/bin/dev-tools-rpc.js +35 -25
  9. package/dist/bin/gen-workspace.cjs +35 -25
  10. package/dist/bin/gen-workspace.js +35 -25
  11. package/dist/bin/template-info.cjs +21 -24
  12. package/dist/bin/template-info.js +21 -24
  13. package/dist/dependencies/index.d.ts +7 -7
  14. package/dist/index.cjs +35 -25
  15. package/dist/index.js +35 -25
  16. package/dist/manifest/manifest-v2.d.ts +3 -8
  17. package/dist/templates/diff-viewer/types.d.ts +2 -2
  18. package/dist/templates/extensions/base.d.ts +3 -5
  19. package/dist/templates/extensions/base.d.ts.map +1 -1
  20. package/dist/templates/extensions/types.d.ts +3 -9
  21. package/dist/templates/file-writer.d.ts +2 -2
  22. package/dist/templates/index.cjs +35 -25
  23. package/dist/templates/index.js +35 -25
  24. package/dist/templates/root/index.d.ts +1 -1
  25. package/dist/templates/root/index.d.ts.map +1 -1
  26. package/dist/tsconfig.build.tsbuildinfo +1 -1
  27. package/dist/workspace/index.cjs +35 -25
  28. package/dist/workspace/index.d.ts +30 -34
  29. package/dist/workspace/index.js +35 -25
  30. package/package.json +4 -4
  31. package/templates/extensions/billing.bill.discount_calculation/index.ts +1 -2
  32. package/templates/extensions/billing.customer_balance_application/index.test.ts +5 -5
  33. package/templates/extensions/billing.customer_balance_application/index.ts +4 -4
  34. package/templates/extensions/billing.invoice_collection_setting/index.ts +1 -1
  35. package/templates/extensions/billing.prorations/index.ts +1 -1
  36. package/templates/extensions/billing.recurring_billing_item_handling/index.ts +1 -1
  37. package/templates/extensions/core.workflows.custom_action/index.ts +1 -2
  38. package/templates/extensions/extend.workflows.custom_action/index.ts +1 -2
  39. package/templates/root/custom-objects/{package.json → package.json.mustache} +4 -4
  40. package/dist/extensibility-dev-tools-alpha.d.ts +0 -199
  41. package/dist/extensibility-dev-tools-beta.d.ts +0 -199
  42. package/dist/extensibility-dev-tools-dependencies-alpha.d.ts +0 -51
  43. package/dist/extensibility-dev-tools-dependencies-beta.d.ts +0 -51
  44. package/dist/extensibility-dev-tools-dependencies-internal.d.ts +0 -372
  45. package/dist/extensibility-dev-tools-dependencies-public.d.ts +0 -51
  46. package/dist/extensibility-dev-tools-internal.d.ts +0 -1722
  47. package/dist/extensibility-dev-tools-jsonschema-tools-alpha.d.ts +0 -57
  48. package/dist/extensibility-dev-tools-jsonschema-tools-beta.d.ts +0 -57
  49. package/dist/extensibility-dev-tools-jsonschema-tools-internal.d.ts +0 -123
  50. package/dist/extensibility-dev-tools-jsonschema-tools-public.d.ts +0 -57
  51. package/dist/extensibility-dev-tools-manifest-alpha.d.ts +0 -31
  52. package/dist/extensibility-dev-tools-manifest-beta.d.ts +0 -31
  53. package/dist/extensibility-dev-tools-manifest-internal.d.ts +0 -461
  54. package/dist/extensibility-dev-tools-manifest-public.d.ts +0 -31
  55. package/dist/extensibility-dev-tools-public.d.ts +0 -199
  56. package/dist/extensibility-dev-tools-schemas-alpha.d.ts +0 -9
  57. package/dist/extensibility-dev-tools-schemas-beta.d.ts +0 -9
  58. package/dist/extensibility-dev-tools-schemas-internal.d.ts +0 -41
  59. package/dist/extensibility-dev-tools-schemas-public.d.ts +0 -9
  60. package/dist/extensibility-dev-tools-templates-alpha.d.ts +0 -67
  61. package/dist/extensibility-dev-tools-templates-beta.d.ts +0 -67
  62. package/dist/extensibility-dev-tools-templates-internal.d.ts +0 -554
  63. package/dist/extensibility-dev-tools-templates-public.d.ts +0 -67
  64. package/dist/extensibility-dev-tools-workspace-alpha.d.ts +0 -51
  65. package/dist/extensibility-dev-tools-workspace-beta.d.ts +0 -51
  66. package/dist/extensibility-dev-tools-workspace-internal.d.ts +0 -410
  67. package/dist/extensibility-dev-tools-workspace-public.d.ts +0 -51
@@ -1,372 +0,0 @@
1
- /**
2
- * Result of checking whether a dependency is satisfied.
3
- * @internal
4
- */
5
- export declare interface _CheckResult {
6
- /** Whether the dependency requirement is currently satisfied. */
7
- satisfied: boolean;
8
- /** The currently installed version, if any. */
9
- currentVersion?: string;
10
- /** Human-readable message describing the check result. */
11
- message: string;
12
- }
13
-
14
- /**
15
- * Shared context threaded through CLI operations.
16
- *
17
- * Carry this through call chains so that output can be redirected in tests
18
- * without patching global `process.stdout`/`process.stderr`.
19
- *
20
- * @internal
21
- */
22
- declare interface _CliContext {
23
- /** Output abstraction for writing to stdout/stderr. */
24
- readonly ux: _CliUx;
25
- }
26
-
27
- /**
28
- * Thin output abstraction used by CLI entry points and the functions they call.
29
- *
30
- * Inject a `_CliUx` constructed with `PassThrough` streams in tests to capture
31
- * output without spying on `process.stdout`/`process.stderr`.
32
- *
33
- * @internal
34
- */
35
- declare class _CliUx {
36
- #private;
37
- constructor(options?: {
38
- readonly stderr?: NodeJS.WritableStream;
39
- readonly stdout?: NodeJS.WritableStream;
40
- });
41
- /** Write a product output line to stdout (or the configured stream). */
42
- print(message: string): void;
43
- /** Write a status/progress line to stderr (or the configured stream). */
44
- log(message: string): void;
45
- /**
46
- * Error message to **stderr** (or the configured stderr stream).
47
- *
48
- * Behaviorally identical to {@link _CliUx.log} today. Use `error()` for failures
49
- * and `log()` for progress/status — the distinction supports future
50
- * formatting differentiation (color, prefixes, severity filtering).
51
- */
52
- error(message: string): void;
53
- }
54
-
55
- /**
56
- * Options for committing accumulated dependency changes.
57
- * @internal
58
- */
59
- export declare interface _CommitOptions {
60
- /** If true, run package manager install for npm deps. Default: true */
61
- runInstall?: boolean;
62
- }
63
-
64
- /**
65
- * Summary of changes applied by a dependency manager commit.
66
- * @internal
67
- */
68
- export declare interface _CommitResult {
69
- /** Number of new dependencies added. */
70
- added: number;
71
- /** Number of existing dependencies updated. */
72
- updated: number;
73
- }
74
-
75
- /**
76
- * Result of checking whether a dependency version conflicts with an existing installation.
77
- * @internal
78
- */
79
- export declare interface _ConflictResult {
80
- /** Whether a version conflict exists. */
81
- hasConflict: boolean;
82
- /** The version currently installed, if any. */
83
- existingVersion?: string;
84
- /** The version being requested, if applicable. */
85
- requestedVersion?: string;
86
- /** Human-readable message describing the conflict, if any. */
87
- message?: string;
88
- }
89
-
90
- /**
91
- * A dependency that the workspace needs: npm runtime, npm dev, or Stripe CLI plugin.
92
- * @internal
93
- */
94
- export declare type _Dependency = _DevNpmDependency | _NpmDependency | _StripeCliPluginDependency;
95
-
96
- /**
97
- * The action to take for a dependency: add new, update existing, no-op, or flag a conflict.
98
- * @internal
99
- */
100
- export declare type _DependencyAction = 'add' | 'already-satisfied' | 'conflict' | 'update';
101
-
102
- /**
103
- * Handler interface for a specific dependency type (npm or Stripe CLI plugin).
104
- * @internal
105
- */
106
- export declare interface _DependencyHandler<T extends _Dependency> {
107
- /** Check if dependency is satisfied */
108
- check(dep: T): Promise<_CheckResult>;
109
- /** Check for conflicts with existing state */
110
- checkConflict(dep: T): Promise<_ConflictResult>;
111
- /** Add the dependency (update package.json for npm, noop for stripe cli) */
112
- add(dep: T): Promise<{
113
- action: 'add' | 'update';
114
- message: string;
115
- }>;
116
- /** Run actual install (npm install for npm deps, stripe plugin install for cli) */
117
- install(deps: T[]): Promise<void>;
118
- }
119
-
120
- /**
121
- * Orchestrates dependency analysis and installation across all dependency types.
122
- * @internal
123
- */
124
- export declare class _DependencyManager {
125
- private readonly cwd;
126
- private readonly stripeConfigDir;
127
- private readonly quiet;
128
- private readonly context;
129
- private readonly npmHandler;
130
- private readonly devNpmHandler;
131
- private readonly stripeCliPluginHandler;
132
- /** Internal state: pending changes indexed by dependency key */
133
- private pendingChanges;
134
- /** Whether commit() has been called */
135
- private committed;
136
- constructor(options?: _DependencyManagerOptions);
137
- /**
138
- * Analyze dependencies and accumulate changes.
139
- * Can be called multiple times before commit().
140
- * Returns the changes for this specific call.
141
- */
142
- ensureDependencies(input: _EnsureDependenciesInput): Promise<_PendingChange[]>;
143
- /**
144
- * Resolve a conflict by marking it for force install.
145
- * Throws if the dependency is not in conflict state.
146
- */
147
- resolveConflict(dep: _Dependency): void;
148
- /**
149
- * Get all pending changes (accumulated across all ensureDependencies calls).
150
- */
151
- getPendingChanges(): _PendingChange[];
152
- /**
153
- * Commit all accumulated changes.
154
- * - For npm deps: updates package.json, optionally runs package manager install
155
- * - For Stripe CLI deps: always installs (no separate add step)
156
- *
157
- * @param options - Commit options. `options.runInstall`: if true, run package manager install for npm deps (default: true)
158
- * @returns Summary of changes made
159
- * @throws If called more than once
160
- */
161
- commit(options?: _CommitOptions): Promise<_CommitResult>;
162
- private analyzeDependency;
163
- private getHandler;
164
- }
165
-
166
- /**
167
- * Options for constructing a dependency manager.
168
- * @internal
169
- */
170
- export declare interface _DependencyManagerOptions {
171
- /** Working directory (defaults to process.cwd()) */
172
- cwd?: string;
173
- /** Path to Stripe config directory (defaults to ~/.config/stripe) */
174
- stripeConfigDir?: string;
175
- /** Whether to suppress console output */
176
- quiet?: boolean;
177
- /** CLI context for user-facing output */
178
- context?: _CliContext;
179
- }
180
-
181
- /**
182
- * Detect the package manager used in the workspace by looking for lockfiles.
183
- * @internal
184
- */
185
- export declare function _detectPackageManager(cwd: string): _PackageManager;
186
-
187
- /**
188
- * Create a dev npm dependency descriptor.
189
- * @internal
190
- */
191
- export declare function _devNpmDep(name: string, version: string): _DevNpmDependency;
192
-
193
- /**
194
- * A dev npm dependency to add to `devDependencies` in package.json.
195
- * @internal
196
- */
197
- export declare interface _DevNpmDependency {
198
- /** Discriminant tag identifying this as a dev npm dependency. */
199
- type: 'dev-npm';
200
- /** npm package name. */
201
- name: string;
202
- /** Semver version range. */
203
- version: string;
204
- }
205
-
206
- /**
207
- * Input for requesting dependency installation.
208
- * @internal
209
- */
210
- export declare interface _EnsureDependenciesInput {
211
- /** Dependencies that must be present. */
212
- required: _Dependency[];
213
- /** Dependencies that are preferred but not required. */
214
- optional?: _Dependency[];
215
- }
216
-
217
- /**
218
- * Create a runtime npm dependency descriptor.
219
- * @internal
220
- */
221
- export declare function _npmDep(name: string, version: string): _NpmDependency;
222
-
223
- /**
224
- * A runtime npm dependency to add to `dependencies` in package.json.
225
- * @internal
226
- */
227
- export declare interface _NpmDependency {
228
- /** Discriminant tag identifying this as a runtime npm dependency. */
229
- type: 'npm';
230
- /** npm package name. */
231
- name: string;
232
- /** Semver version range. */
233
- version: string;
234
- }
235
-
236
- /**
237
- * Handles npm and dev-npm dependency installation via package.json updates.
238
- * @internal
239
- */
240
- export declare class _NpmDependencyHandler implements _DependencyHandler<_NpmDependency | _DevNpmDependency> {
241
- private readonly cwd;
242
- private readonly quiet;
243
- private readonly devDependencies;
244
- private readonly context;
245
- constructor(options: _NpmHandlerOptions);
246
- private get dependencyKey();
247
- private get dependencyLabel();
248
- /** Check whether the npm dependency is already present in package.json. */
249
- check(dep: _DevNpmDependency | _NpmDependency): Promise<_CheckResult>;
250
- /** Check whether the requested version conflicts with the currently installed version. */
251
- checkConflict(dep: _DevNpmDependency | _NpmDependency): Promise<_ConflictResult>;
252
- /** Add or update the npm dependency in package.json. */
253
- add(dep: _DevNpmDependency | _NpmDependency): Promise<{
254
- action: 'add' | 'update';
255
- message: string;
256
- }>;
257
- /** Run the package manager install command in the working directory. */
258
- install(_deps: (_DevNpmDependency | _NpmDependency)[]): Promise<void>;
259
- private versionsCompatible;
260
- private extractMajorVersion;
261
- }
262
-
263
- /**
264
- * Options for constructing an npm dependency handler.
265
- * @internal
266
- */
267
- export declare interface _NpmHandlerOptions {
268
- /** Working directory containing the target package.json. */
269
- cwd: string;
270
- /** Whether to suppress console output. */
271
- quiet: boolean;
272
- /** If true, manage devDependencies; otherwise manage dependencies. */
273
- devDependencies?: boolean;
274
- /** CLI context for user-facing output. */
275
- context?: _CliContext;
276
- }
277
-
278
- /**
279
- * Package manager detected in the workspace.
280
- * @internal
281
- */
282
- export declare type _PackageManager = 'npm' | 'pnpm' | 'yarn';
283
-
284
- /**
285
- * A pending dependency change accumulated by the dependency manager before commit.
286
- * @internal
287
- */
288
- export declare interface _PendingChange {
289
- /** The dependency this change applies to. */
290
- dependency: _Dependency;
291
- /** The action that will be taken for this dependency. */
292
- action: _DependencyAction;
293
- /** Human-readable message describing the pending change. */
294
- message: string;
295
- /** The previously installed version, if an update is involved. */
296
- previousVersion?: string;
297
- /** Conflict details when action is 'conflict'. */
298
- conflict?: _ConflictResult;
299
- /** Whether conflict has been resolved (force install) */
300
- conflictResolved?: boolean;
301
- }
302
-
303
- /**
304
- * Create a Stripe CLI plugin dependency descriptor.
305
- * @internal
306
- */
307
- export declare function _stripeCliPluginDep(name: string, minVersion?: string): _StripeCliPluginDependency;
308
-
309
- /**
310
- * A Stripe CLI plugin dependency that must be installed via `stripe plugin install`.
311
- * @internal
312
- */
313
- export declare interface _StripeCliPluginDependency {
314
- /** Discriminant tag identifying this as a Stripe CLI plugin dependency. */
315
- type: 'stripe-cli-plugin';
316
- /** Plugin shortname (e.g., `extensibility`). */
317
- name: string;
318
- /** Minimum required semver version of the plugin. */
319
- minVersion?: string;
320
- }
321
-
322
- /**
323
- * Handles Stripe CLI plugin installation via `stripe plugin install`.
324
- * @internal
325
- */
326
- export declare class _StripeCliPluginHandler implements _DependencyHandler<_StripeCliPluginDependency> {
327
- private readonly stripeConfigDir;
328
- private readonly quiet;
329
- private readonly context;
330
- constructor(options: _StripeCliPluginHandlerOptions);
331
- /** Check whether the Stripe CLI plugin is installed and meets the minimum version. */
332
- check(dep: _StripeCliPluginDependency): Promise<_CheckResult>;
333
- /** Check whether the installed plugin version conflicts with the requested minimum. */
334
- checkConflict(dep: _StripeCliPluginDependency): Promise<_ConflictResult>;
335
- /** Stage a Stripe CLI plugin for installation; the actual install happens in `install`. */
336
- add(dep: _StripeCliPluginDependency): Promise<{
337
- action: 'add' | 'update';
338
- message: string;
339
- }>;
340
- /** Install Stripe CLI plugins using `stripe plugin install`. */
341
- install(deps: _StripeCliPluginDependency[]): Promise<void>;
342
- private findPluginInToml;
343
- /**
344
- * Check if installed version satisfies the required minimum version.
345
- *
346
- * Permissive policy: Non-semver versions (e.g., "local.build.dev", "dev", "canary-abc123")
347
- * always satisfy version requirements. This avoids forcing upgrades during local development
348
- * when developers are using locally built plugins.
349
- *
350
- * For valid semver versions, uses the semver library for proper semantic version comparison.
351
- *
352
- * @param installed - The installed version string
353
- * @param required - The required minimum version string
354
- * @returns true if installed version satisfies requirement
355
- */
356
- private isVersionSatisfied;
357
- }
358
-
359
- /**
360
- * Options for constructing a Stripe CLI plugin dependency handler.
361
- * @internal
362
- */
363
- export declare interface _StripeCliPluginHandlerOptions {
364
- /** Path to the Stripe CLI config directory (e.g., `~/.config/stripe`). */
365
- stripeConfigDir: string;
366
- /** Whether to suppress console output. */
367
- quiet: boolean;
368
- /** CLI context for user-facing output. */
369
- context?: _CliContext;
370
- }
371
-
372
- export { }
@@ -1,51 +0,0 @@
1
- /* Excluded from this release type: _CheckResult */
2
-
3
- /* Excluded from this release type: _CliContext */
4
-
5
- /* Excluded from this release type: _CliUx */
6
-
7
- /* Excluded from this release type: _CommitOptions */
8
-
9
- /* Excluded from this release type: _CommitResult */
10
-
11
- /* Excluded from this release type: _ConflictResult */
12
-
13
- /* Excluded from this release type: _Dependency */
14
-
15
- /* Excluded from this release type: _DependencyAction */
16
-
17
- /* Excluded from this release type: _DependencyHandler */
18
-
19
- /* Excluded from this release type: _DependencyManager */
20
-
21
- /* Excluded from this release type: _DependencyManagerOptions */
22
-
23
- /* Excluded from this release type: _detectPackageManager */
24
-
25
- /* Excluded from this release type: _devNpmDep */
26
-
27
- /* Excluded from this release type: _DevNpmDependency */
28
-
29
- /* Excluded from this release type: _EnsureDependenciesInput */
30
-
31
- /* Excluded from this release type: _npmDep */
32
-
33
- /* Excluded from this release type: _NpmDependency */
34
-
35
- /* Excluded from this release type: _NpmDependencyHandler */
36
-
37
- /* Excluded from this release type: _NpmHandlerOptions */
38
-
39
- /* Excluded from this release type: _PackageManager */
40
-
41
- /* Excluded from this release type: _PendingChange */
42
-
43
- /* Excluded from this release type: _stripeCliPluginDep */
44
-
45
- /* Excluded from this release type: _StripeCliPluginDependency */
46
-
47
- /* Excluded from this release type: _StripeCliPluginHandler */
48
-
49
- /* Excluded from this release type: _StripeCliPluginHandlerOptions */
50
-
51
- export { }