@stripe/extensibility-eslint-plugin 0.15.4

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 (195) hide show
  1. package/LICENSE.md +19 -0
  2. package/dist/configs/async-with-egress.cjs +8228 -0
  3. package/dist/configs/async-with-egress.d.ts +8 -0
  4. package/dist/configs/async-with-egress.d.ts.map +1 -0
  5. package/dist/configs/async-with-egress.js +8197 -0
  6. package/dist/configs/billing.bill.discount_calculation.cjs +8245 -0
  7. package/dist/configs/billing.bill.discount_calculation.d.ts +9 -0
  8. package/dist/configs/billing.bill.discount_calculation.d.ts.map +1 -0
  9. package/dist/configs/billing.bill.discount_calculation.js +8214 -0
  10. package/dist/configs/billing.customer_balance_application.cjs +8245 -0
  11. package/dist/configs/billing.customer_balance_application.d.ts +9 -0
  12. package/dist/configs/billing.customer_balance_application.d.ts.map +1 -0
  13. package/dist/configs/billing.customer_balance_application.js +8214 -0
  14. package/dist/configs/billing.invoice_collection_setting.cjs +8245 -0
  15. package/dist/configs/billing.invoice_collection_setting.d.ts +9 -0
  16. package/dist/configs/billing.invoice_collection_setting.d.ts.map +1 -0
  17. package/dist/configs/billing.invoice_collection_setting.js +8214 -0
  18. package/dist/configs/billing.prorations.cjs +8245 -0
  19. package/dist/configs/billing.prorations.d.ts +8 -0
  20. package/dist/configs/billing.prorations.d.ts.map +1 -0
  21. package/dist/configs/billing.prorations.js +8214 -0
  22. package/dist/configs/billing.recurring_billing_item_handling.cjs +8245 -0
  23. package/dist/configs/billing.recurring_billing_item_handling.d.ts +9 -0
  24. package/dist/configs/billing.recurring_billing_item_handling.d.ts.map +1 -0
  25. package/dist/configs/billing.recurring_billing_item_handling.js +8214 -0
  26. package/dist/configs/core.workflows.custom_action.cjs +8245 -0
  27. package/dist/configs/core.workflows.custom_action.d.ts +9 -0
  28. package/dist/configs/core.workflows.custom_action.d.ts.map +1 -0
  29. package/dist/configs/core.workflows.custom_action.js +8214 -0
  30. package/dist/configs/custom-objects.cjs +8238 -0
  31. package/dist/configs/custom-objects.d.ts +9 -0
  32. package/dist/configs/custom-objects.d.ts.map +1 -0
  33. package/dist/configs/custom-objects.js +8207 -0
  34. package/dist/configs/extend.objects.custom_objects.cjs +8245 -0
  35. package/dist/configs/extend.objects.custom_objects.d.ts +9 -0
  36. package/dist/configs/extend.objects.custom_objects.d.ts.map +1 -0
  37. package/dist/configs/extend.objects.custom_objects.js +8214 -0
  38. package/dist/configs/extend.workflows.custom_action.cjs +8245 -0
  39. package/dist/configs/extend.workflows.custom_action.d.ts +9 -0
  40. package/dist/configs/extend.workflows.custom_action.d.ts.map +1 -0
  41. package/dist/configs/extend.workflows.custom_action.js +8214 -0
  42. package/dist/configs/runtime-core.cjs +8218 -0
  43. package/dist/configs/runtime-core.d.ts +8 -0
  44. package/dist/configs/runtime-core.d.ts.map +1 -0
  45. package/dist/configs/runtime-core.js +8187 -0
  46. package/dist/configs/sync-no-egress.cjs +8228 -0
  47. package/dist/configs/sync-no-egress.d.ts +8 -0
  48. package/dist/configs/sync-no-egress.d.ts.map +1 -0
  49. package/dist/configs/sync-no-egress.js +8197 -0
  50. package/dist/custom-object-rules/action-must-be-async.d.ts +4 -0
  51. package/dist/custom-object-rules/action-must-be-async.d.ts.map +1 -0
  52. package/dist/custom-object-rules/display-property-tags.d.ts +4 -0
  53. package/dist/custom-object-rules/display-property-tags.d.ts.map +1 -0
  54. package/dist/custom-object-rules/index.d.ts +8 -0
  55. package/dist/custom-object-rules/index.d.ts.map +1 -0
  56. package/dist/custom-object-rules/intermediate-must-be-abstract.d.ts +4 -0
  57. package/dist/custom-object-rules/intermediate-must-be-abstract.d.ts.map +1 -0
  58. package/dist/custom-object-rules/no-internal-action.d.ts +4 -0
  59. package/dist/custom-object-rules/no-internal-action.d.ts.map +1 -0
  60. package/dist/custom-object-rules/one-object-per-file.d.ts +4 -0
  61. package/dist/custom-object-rules/one-object-per-file.d.ts.map +1 -0
  62. package/dist/custom-object-rules/requires-base-object.d.ts +4 -0
  63. package/dist/custom-object-rules/requires-base-object.d.ts.map +1 -0
  64. package/dist/custom-object-rules/requires-custom-object-decorator.d.ts +4 -0
  65. package/dist/custom-object-rules/requires-custom-object-decorator.d.ts.map +1 -0
  66. package/dist/dsl-rules/index.d.ts +10 -0
  67. package/dist/dsl-rules/index.d.ts.map +1 -0
  68. package/dist/dsl-rules/no-module-scoped-let.d.ts +4 -0
  69. package/dist/dsl-rules/no-module-scoped-let.d.ts.map +1 -0
  70. package/dist/dsl-rules/no-module-scoped-var.d.ts +4 -0
  71. package/dist/dsl-rules/no-module-scoped-var.d.ts.map +1 -0
  72. package/dist/dsl-rules/no-non-public-instance-fields.d.ts +4 -0
  73. package/dist/dsl-rules/no-non-public-instance-fields.d.ts.map +1 -0
  74. package/dist/extensibility-eslint-plugin-alpha.d.ts +49 -0
  75. package/dist/extensibility-eslint-plugin-beta.d.ts +49 -0
  76. package/dist/extensibility-eslint-plugin-billing.bill.discount_calculation-alpha.d.ts +11 -0
  77. package/dist/extensibility-eslint-plugin-billing.bill.discount_calculation-beta.d.ts +11 -0
  78. package/dist/extensibility-eslint-plugin-billing.bill.discount_calculation-internal.d.ts +11 -0
  79. package/dist/extensibility-eslint-plugin-billing.bill.discount_calculation-public.d.ts +11 -0
  80. package/dist/extensibility-eslint-plugin-billing.customer_balance_application-alpha.d.ts +11 -0
  81. package/dist/extensibility-eslint-plugin-billing.customer_balance_application-beta.d.ts +11 -0
  82. package/dist/extensibility-eslint-plugin-billing.customer_balance_application-internal.d.ts +11 -0
  83. package/dist/extensibility-eslint-plugin-billing.customer_balance_application-public.d.ts +11 -0
  84. package/dist/extensibility-eslint-plugin-billing.invoice_collection_setting-alpha.d.ts +11 -0
  85. package/dist/extensibility-eslint-plugin-billing.invoice_collection_setting-beta.d.ts +11 -0
  86. package/dist/extensibility-eslint-plugin-billing.invoice_collection_setting-internal.d.ts +11 -0
  87. package/dist/extensibility-eslint-plugin-billing.invoice_collection_setting-public.d.ts +11 -0
  88. package/dist/extensibility-eslint-plugin-billing.prorations-alpha.d.ts +10 -0
  89. package/dist/extensibility-eslint-plugin-billing.prorations-beta.d.ts +10 -0
  90. package/dist/extensibility-eslint-plugin-billing.prorations-internal.d.ts +10 -0
  91. package/dist/extensibility-eslint-plugin-billing.prorations-public.d.ts +10 -0
  92. package/dist/extensibility-eslint-plugin-billing.recurring_billing_item_handling-alpha.d.ts +11 -0
  93. package/dist/extensibility-eslint-plugin-billing.recurring_billing_item_handling-beta.d.ts +11 -0
  94. package/dist/extensibility-eslint-plugin-billing.recurring_billing_item_handling-internal.d.ts +11 -0
  95. package/dist/extensibility-eslint-plugin-billing.recurring_billing_item_handling-public.d.ts +11 -0
  96. package/dist/extensibility-eslint-plugin-core.workflows.custom_action-alpha.d.ts +11 -0
  97. package/dist/extensibility-eslint-plugin-core.workflows.custom_action-beta.d.ts +11 -0
  98. package/dist/extensibility-eslint-plugin-core.workflows.custom_action-internal.d.ts +11 -0
  99. package/dist/extensibility-eslint-plugin-core.workflows.custom_action-public.d.ts +11 -0
  100. package/dist/extensibility-eslint-plugin-custom-objects-alpha.d.ts +11 -0
  101. package/dist/extensibility-eslint-plugin-custom-objects-beta.d.ts +11 -0
  102. package/dist/extensibility-eslint-plugin-custom-objects-internal.d.ts +11 -0
  103. package/dist/extensibility-eslint-plugin-custom-objects-public.d.ts +11 -0
  104. package/dist/extensibility-eslint-plugin-extend.objects.custom_objects-alpha.d.ts +11 -0
  105. package/dist/extensibility-eslint-plugin-extend.objects.custom_objects-beta.d.ts +11 -0
  106. package/dist/extensibility-eslint-plugin-extend.objects.custom_objects-internal.d.ts +11 -0
  107. package/dist/extensibility-eslint-plugin-extend.objects.custom_objects-public.d.ts +11 -0
  108. package/dist/extensibility-eslint-plugin-extend.workflows.custom_action-alpha.d.ts +11 -0
  109. package/dist/extensibility-eslint-plugin-extend.workflows.custom_action-beta.d.ts +11 -0
  110. package/dist/extensibility-eslint-plugin-extend.workflows.custom_action-internal.d.ts +11 -0
  111. package/dist/extensibility-eslint-plugin-extend.workflows.custom_action-public.d.ts +11 -0
  112. package/dist/extensibility-eslint-plugin-internal.d.ts +80 -0
  113. package/dist/extensibility-eslint-plugin-public.d.ts +49 -0
  114. package/dist/extensibility-rules/index.d.ts +8 -0
  115. package/dist/extensibility-rules/index.d.ts.map +1 -0
  116. package/dist/extensibility-rules/no-custom-constructor.d.ts +4 -0
  117. package/dist/extensibility-rules/no-custom-constructor.d.ts.map +1 -0
  118. package/dist/extensibility-rules/no-extra-type-params.d.ts +4 -0
  119. package/dist/extensibility-rules/no-extra-type-params.d.ts.map +1 -0
  120. package/dist/extensibility-rules/no-public-instance-fields.d.ts +4 -0
  121. package/dist/extensibility-rules/no-public-instance-fields.d.ts.map +1 -0
  122. package/dist/extensibility-rules/prefer-es-private.d.ts +4 -0
  123. package/dist/extensibility-rules/prefer-es-private.d.ts.map +1 -0
  124. package/dist/extension-type-config.d.ts +13 -0
  125. package/dist/extension-type-config.d.ts.map +1 -0
  126. package/dist/index.cjs +37420 -0
  127. package/dist/index.d.ts +69 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +37408 -0
  130. package/dist/internal/analysis/apps/manifest-tools.d.ts +26 -0
  131. package/dist/internal/analysis/apps/manifest-tools.d.ts.map +1 -0
  132. package/dist/internal/analysis/docs/comments.d.ts +23 -0
  133. package/dist/internal/analysis/docs/comments.d.ts.map +1 -0
  134. package/dist/internal/analysis/docs/decorators.d.ts +6 -0
  135. package/dist/internal/analysis/docs/decorators.d.ts.map +1 -0
  136. package/dist/internal/analysis/docs/release-tags.d.ts +5 -0
  137. package/dist/internal/analysis/docs/release-tags.d.ts.map +1 -0
  138. package/dist/internal/analysis/eslint/ast-like.d.ts +78 -0
  139. package/dist/internal/analysis/eslint/ast-like.d.ts.map +1 -0
  140. package/dist/internal/analysis/eslint/import-fixes.d.ts +29 -0
  141. package/dist/internal/analysis/eslint/import-fixes.d.ts.map +1 -0
  142. package/dist/internal/analysis/eslint/locations.d.ts +20 -0
  143. package/dist/internal/analysis/eslint/locations.d.ts.map +1 -0
  144. package/dist/internal/analysis/eslint/module-scope.d.ts +99 -0
  145. package/dist/internal/analysis/eslint/module-scope.d.ts.map +1 -0
  146. package/dist/internal/analysis/index.d.ts +14 -0
  147. package/dist/internal/analysis/index.d.ts.map +1 -0
  148. package/dist/internal/analysis/naming/api-name-validation.d.ts +55 -0
  149. package/dist/internal/analysis/naming/api-name-validation.d.ts.map +1 -0
  150. package/dist/internal/analysis/naming/api-name.d.ts +8 -0
  151. package/dist/internal/analysis/naming/api-name.d.ts.map +1 -0
  152. package/dist/internal/analysis/package-names.d.ts +5 -0
  153. package/dist/internal/analysis/package-names.d.ts.map +1 -0
  154. package/dist/internal/analysis/scoping/files.d.ts +14 -0
  155. package/dist/internal/analysis/scoping/files.d.ts.map +1 -0
  156. package/dist/internal/analysis/scoping/packages.d.ts +17 -0
  157. package/dist/internal/analysis/scoping/packages.d.ts.map +1 -0
  158. package/dist/internal/analysis/surfaces/api-name-targets.d.ts +10 -0
  159. package/dist/internal/analysis/surfaces/api-name-targets.d.ts.map +1 -0
  160. package/dist/internal/analysis/surfaces/class-declarations.d.ts +4 -0
  161. package/dist/internal/analysis/surfaces/class-declarations.d.ts.map +1 -0
  162. package/dist/internal/analysis/surfaces/class-targets.d.ts +27 -0
  163. package/dist/internal/analysis/surfaces/class-targets.d.ts.map +1 -0
  164. package/dist/internal/analysis/surfaces/custom-object.d.ts +11 -0
  165. package/dist/internal/analysis/surfaces/custom-object.d.ts.map +1 -0
  166. package/dist/internal/analysis/surfaces/extension.d.ts +5 -0
  167. package/dist/internal/analysis/surfaces/extension.d.ts.map +1 -0
  168. package/dist/internal/analysis/surfaces/members.d.ts +16 -0
  169. package/dist/internal/analysis/surfaces/members.d.ts.map +1 -0
  170. package/dist/internal/analysis/ts/program.d.ts +42 -0
  171. package/dist/internal/analysis/ts/program.d.ts.map +1 -0
  172. package/dist/internal/analysis/ts/symbols.d.ts +13 -0
  173. package/dist/internal/analysis/ts/symbols.d.ts.map +1 -0
  174. package/dist/internal/analysis/ts/types.d.ts +16 -0
  175. package/dist/internal/analysis/ts/types.d.ts.map +1 -0
  176. package/dist/internal/analysis/types.d.ts +70 -0
  177. package/dist/internal/analysis/types.d.ts.map +1 -0
  178. package/dist/internal/index.d.ts +2 -0
  179. package/dist/internal/index.d.ts.map +1 -0
  180. package/dist/naming-rules/index.d.ts +7 -0
  181. package/dist/naming-rules/index.d.ts.map +1 -0
  182. package/dist/naming-rules/valid-api-name.d.ts +4 -0
  183. package/dist/naming-rules/valid-api-name.d.ts.map +1 -0
  184. package/dist/rule-config.d.ts +30 -0
  185. package/dist/rule-config.d.ts.map +1 -0
  186. package/dist/security-rules/index.d.ts +14 -0
  187. package/dist/security-rules/index.d.ts.map +1 -0
  188. package/dist/security-rules/no-secrets.d.ts +9 -0
  189. package/dist/security-rules/no-secrets.d.ts.map +1 -0
  190. package/dist/security-rules/valid-endpoint-id.d.ts +4 -0
  191. package/dist/security-rules/valid-endpoint-id.d.ts.map +1 -0
  192. package/dist/security-rules/valid-extension-interface.d.ts +4 -0
  193. package/dist/security-rules/valid-extension-interface.d.ts.map +1 -0
  194. package/dist/tsconfig.build.tsbuildinfo +1 -0
  195. package/package.json +108 -0
@@ -0,0 +1,26 @@
1
+ /** Parsed extension entry from stripe-app.yaml. @internal */
2
+ export interface ManifestExtension {
3
+ interface_id: string;
4
+ script_path: string;
5
+ }
6
+ /**
7
+ * Locate `stripe-app.yaml` by first finding the pnpm workspace root,
8
+ * then checking for the manifest there. Returns `undefined` if no
9
+ * workspace root is found or the manifest doesn't exist at the root.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare function resolveManifestPath(cwd: string): string | undefined;
14
+ /**
15
+ * Parse the manifest and collect all endpoint IDs across all extensions.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function loadEndpointIds(manifestPath: string): Set<string> | undefined;
20
+ /**
21
+ * Parse the manifest and collect extension entries that have both an
22
+ * `interface_id` and a `script.content` path.
23
+ * @internal
24
+ */
25
+ export declare function loadExtensions(manifestPath: string): ManifestExtension[] | undefined;
26
+ //# sourceMappingURL=manifest-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-tools.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/apps/manifest-tools.ts"],"names":[],"mappings":"AAUA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AA8CD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAuB7E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAuBpF"}
@@ -0,0 +1,23 @@
1
+ import ts from 'typescript';
2
+ import type { ParsedDocBlock, ParsedDocTag } from '../types.js';
3
+ /**
4
+ * Parse the nearest leading TSDoc block attached to a node.
5
+ * @internal
6
+ */
7
+ export declare function getParsedDocBlock(node: ts.Node): ParsedDocBlock | undefined;
8
+ /**
9
+ * Return all matching doc tags attached to a node.
10
+ * @internal
11
+ */
12
+ export declare function getDocTags(node: ts.Node, tagName: string): readonly ParsedDocTag[];
13
+ /**
14
+ * Return the text of the first matching doc tag attached to a node.
15
+ * @internal
16
+ */
17
+ export declare function getFirstDocTagText(node: ts.Node, tagName: string): string | undefined;
18
+ /**
19
+ * Check whether a node has a doc tag with the given name.
20
+ * @internal
21
+ */
22
+ export declare function hasDocTag(node: ts.Node, tagName: string): boolean;
23
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/docs/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuFhE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,cAAc,GAAG,SAAS,CA2F3E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAElF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE"}
@@ -0,0 +1,6 @@
1
+ import ts from 'typescript';
2
+ /** @internal */
3
+ export declare function hasDecoratorNamedSyntax(node: ts.Node, decoratorName: 'Action' | 'CustomObject'): boolean;
4
+ /** @internal */
5
+ export declare function hasDecoratorNamed(checker: ts.TypeChecker, node: ts.Node, decoratorName: 'Action' | 'CustomObject'): boolean;
6
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/docs/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAmG5B,gBAAgB;AAChB,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,aAAa,EAAE,QAAQ,GAAG,cAAc,GACvC,OAAO,CAMT;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,aAAa,EAAE,QAAQ,GAAG,cAAc,GACvC,OAAO,CAkBT"}
@@ -0,0 +1,5 @@
1
+ import type ts from 'typescript';
2
+ import type { ReleaseTag } from '../types.js';
3
+ /** @internal */
4
+ export declare function getReleaseTag(node: ts.Node): ReleaseTag;
5
+ //# sourceMappingURL=release-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-tags.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/docs/release-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9C,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,UAAU,CAUvD"}
@@ -0,0 +1,78 @@
1
+ /** @internal */
2
+ export interface NodeLike {
3
+ readonly type: string;
4
+ readonly parent?: NodeLike | null;
5
+ readonly [key: string]: unknown;
6
+ }
7
+ /** @internal */
8
+ export interface IdentifierLike extends NodeLike {
9
+ readonly type: 'Identifier';
10
+ readonly name: string;
11
+ }
12
+ /** @internal */
13
+ export interface LiteralLike extends NodeLike {
14
+ readonly type: 'Literal';
15
+ readonly value?: unknown;
16
+ }
17
+ /** @internal */
18
+ export interface ImportSpecifierLike extends NodeLike {
19
+ readonly type: 'ImportSpecifier' | 'ImportDefaultSpecifier' | 'ImportNamespaceSpecifier';
20
+ readonly local?: IdentifierLike;
21
+ readonly imported?: IdentifierLike | LiteralLike;
22
+ readonly importKind?: 'type' | 'value';
23
+ readonly range?: [number, number];
24
+ }
25
+ /** @internal */
26
+ export interface ImportDeclarationLike extends NodeLike {
27
+ readonly type: 'ImportDeclaration';
28
+ readonly source: LiteralLike;
29
+ readonly specifiers: readonly ImportSpecifierLike[];
30
+ readonly importKind?: 'type' | 'value';
31
+ readonly range?: [number, number];
32
+ }
33
+ /** @internal */
34
+ export interface ClassDeclarationLike extends NodeLike {
35
+ readonly type: 'ClassDeclaration';
36
+ readonly id: IdentifierLike | null;
37
+ readonly decorators?: readonly {
38
+ readonly expression: NodeLike;
39
+ readonly range?: [number, number];
40
+ }[];
41
+ readonly range: [number, number];
42
+ }
43
+ /** @internal */
44
+ export interface ExportSpecifierLike extends NodeLike {
45
+ readonly type: 'ExportSpecifier';
46
+ readonly local: IdentifierLike;
47
+ readonly exported: IdentifierLike | LiteralLike;
48
+ }
49
+ /** @internal */
50
+ export interface ExportDefaultDeclarationLike extends NodeLike {
51
+ readonly type: 'ExportDefaultDeclaration';
52
+ readonly declaration: ClassDeclarationLike | IdentifierLike | NodeLike;
53
+ readonly range: [number, number];
54
+ }
55
+ /** @internal */
56
+ export interface ExportNamedDeclarationLike extends NodeLike {
57
+ readonly type: 'ExportNamedDeclaration';
58
+ readonly declaration?: NodeLike | null;
59
+ readonly specifiers: readonly ExportSpecifierLike[];
60
+ readonly source?: LiteralLike | null;
61
+ readonly range: [number, number];
62
+ }
63
+ /** @internal */
64
+ export interface ProgramLike extends NodeLike {
65
+ readonly type: 'Program';
66
+ readonly body: readonly NodeLike[];
67
+ }
68
+ /** @internal */
69
+ export declare function isIdentifierLike(value: unknown): value is IdentifierLike;
70
+ /** @internal */
71
+ export declare function isClassDeclarationLike(value: unknown): value is ClassDeclarationLike;
72
+ /** @internal */
73
+ export declare function isExportDefaultDeclarationLike(value: unknown): value is ExportDefaultDeclarationLike;
74
+ /** @internal */
75
+ export declare function isExportNamedDeclarationLike(value: unknown): value is ExportNamedDeclarationLike;
76
+ /** @internal */
77
+ export declare function isProgramLike(value: unknown): value is ProgramLike;
78
+ //# sourceMappingURL=ast-like.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-like.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/eslint/ast-like.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Rule } from 'eslint';
2
+ import type { IdentifierLike, ImportSpecifierLike as BaseImportSpecifierLike, ProgramLike } from './ast-like.js';
3
+ /** @internal */
4
+ export type ImportSpecifierLike = BaseImportSpecifierLike & {
5
+ readonly type: 'ImportSpecifier';
6
+ readonly importKind?: 'value' | 'type';
7
+ readonly range: [number, number];
8
+ readonly imported: IdentifierLike;
9
+ readonly local: IdentifierLike;
10
+ };
11
+ /** @internal */
12
+ export type ImportDefaultSpecifierLike = BaseImportSpecifierLike & {
13
+ readonly type: 'ImportDefaultSpecifier';
14
+ readonly local: IdentifierLike;
15
+ readonly range: [number, number];
16
+ };
17
+ /** @internal */
18
+ export type ImportNamespaceSpecifierLike = BaseImportSpecifierLike & {
19
+ readonly type: 'ImportNamespaceSpecifier';
20
+ readonly local: IdentifierLike;
21
+ readonly range: [number, number];
22
+ };
23
+ /** @internal */
24
+ export declare function getNamedImportLocalName(sourceFile: ProgramLike, moduleName: string, specifierName: string): string | undefined;
25
+ /** @internal */
26
+ export declare function getNamespaceImportLocalName(sourceFile: ProgramLike, moduleName: string): string | undefined;
27
+ /** @internal */
28
+ export declare function insertNamedImportSpecifierFix(sourceFile: ProgramLike, moduleName: string, specifierName: string, fixer: Rule.RuleFixer): Rule.Fix | null;
29
+ //# sourceMappingURL=import-fixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-fixes.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/eslint/import-fixes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EACV,cAAc,EAEd,mBAAmB,IAAI,uBAAuB,EAC9C,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB,gBAAgB;AAChB,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,GAAG;IACjE,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,GAAG;IACnE,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AA+CF,gBAAgB;AAChB,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAcpB;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAYpB;AAaD,gBAAgB;AAChB,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,IAAI,CAAC,SAAS,GACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAyCjB"}
@@ -0,0 +1,20 @@
1
+ import type ts from 'typescript';
2
+ import type { ExplicitApiName } from '../naming/api-name-validation.js';
3
+ /** @internal */
4
+ export interface ReportLoc {
5
+ readonly start: {
6
+ readonly line: number;
7
+ readonly column: number;
8
+ };
9
+ readonly end: {
10
+ readonly line: number;
11
+ readonly column: number;
12
+ };
13
+ }
14
+ /** @internal */
15
+ export declare function getNodeStartLoc(node: ts.Node): ReportLoc;
16
+ /** @internal */
17
+ export declare function getAbsoluteRangeLoc(sourceFile: ts.SourceFile, start: number, end: number): ReportLoc;
18
+ /** @internal */
19
+ export declare function getApiNameValueLoc(node: ts.Node, explicitApiName: ExplicitApiName): ReportLoc;
20
+ //# sourceMappingURL=locations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/eslint/locations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,gBAAgB;AAChB,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAcxD;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,SAAS,CAcX;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,eAAe,EAAE,eAAe,GAC/B,SAAS,CAKX"}
@@ -0,0 +1,99 @@
1
+ /** @internal */
2
+ export interface NodeLike {
3
+ readonly type: string;
4
+ readonly parent?: NodeLike | null;
5
+ }
6
+ /** @internal */
7
+ export interface CallExpressionLike extends NodeLike {
8
+ readonly type: 'CallExpression';
9
+ readonly callee: NodeLike;
10
+ }
11
+ /** @internal */
12
+ export interface VariableDeclarationLike extends NodeLike {
13
+ readonly type: 'VariableDeclaration';
14
+ readonly declare?: boolean;
15
+ readonly kind: 'const' | 'let' | 'var' | 'using' | 'await using';
16
+ }
17
+ /** @internal */
18
+ export interface IdentifierLike extends NodeLike {
19
+ readonly type: 'Identifier';
20
+ readonly name: string;
21
+ }
22
+ /** @internal */
23
+ export interface LiteralLike extends NodeLike {
24
+ readonly type: 'Literal';
25
+ readonly value?: unknown;
26
+ }
27
+ /** @internal */
28
+ export interface ImportSpecifierLike extends NodeLike {
29
+ readonly type: 'ImportSpecifier' | 'ImportDefaultSpecifier' | 'ImportNamespaceSpecifier';
30
+ readonly local?: IdentifierLike;
31
+ readonly imported?: IdentifierLike | LiteralLike;
32
+ readonly importKind?: 'type' | 'value';
33
+ }
34
+ /** @internal */
35
+ export interface ImportDeclarationLike extends NodeLike {
36
+ readonly type: 'ImportDeclaration';
37
+ readonly source: LiteralLike;
38
+ readonly specifiers: readonly ImportSpecifierLike[];
39
+ readonly importKind?: 'type' | 'value';
40
+ }
41
+ /** @internal */
42
+ export interface ProgramLike extends NodeLike {
43
+ readonly type: 'Program';
44
+ readonly body: readonly NodeLike[];
45
+ }
46
+ /** @internal */
47
+ export interface ReferenceLike {
48
+ readonly identifier?: unknown;
49
+ readonly resolved?: {
50
+ readonly defs?: readonly unknown[];
51
+ } | null;
52
+ }
53
+ /** @internal */
54
+ export interface ScopeLike {
55
+ readonly references?: readonly ReferenceLike[];
56
+ readonly through?: readonly ReferenceLike[];
57
+ readonly upper?: ScopeLike | null;
58
+ }
59
+ /** @internal */
60
+ export interface SourceCodeLike {
61
+ readonly ast: unknown;
62
+ getText(node: unknown): string;
63
+ getScope(node: unknown): ScopeLike;
64
+ }
65
+ /** @internal */
66
+ export interface ToConstImportAnalysis {
67
+ readonly namedLocalNames: ReadonlySet<string>;
68
+ readonly namespaceLocalNames: ReadonlySet<string>;
69
+ readonly importToAugment?: ImportDeclarationLike;
70
+ }
71
+ /** @internal */
72
+ export type ModuleScopedConstValueKind = 'mutable-literal' | 'wrapped-to-const' | 'other';
73
+ /** @internal */
74
+ export type ModuleScopedConstInitializerKind = 'primitive' | 'fixable-mutable-literal' | 'wrapped-to-const' | 'other';
75
+ /** @internal */
76
+ export declare function isProgramLike(value: unknown): value is ProgramLike;
77
+ /** @internal */
78
+ export declare function isModuleScopedVariableDeclaration(node: VariableDeclarationLike): boolean;
79
+ /** @internal */
80
+ export declare function isModuleScopedVariableKind(node: VariableDeclarationLike, kind: VariableDeclarationLike['kind']): boolean;
81
+ /** @internal */
82
+ export declare function isToConstCall(node: NodeLike | null | undefined): node is CallExpressionLike;
83
+ /** @internal */
84
+ export declare function classifyModuleScopedConstValue(node: unknown): ModuleScopedConstValueKind;
85
+ /** @internal */
86
+ export declare function isPrimitiveValueExpression(sourceCode: SourceCodeLike, node: unknown): boolean;
87
+ /** @internal */
88
+ export declare function analyzeToConstImports(program: unknown): ToConstImportAnalysis;
89
+ /** @internal */
90
+ export declare function isCanonicalToConstCall(node: unknown, analysis: ToConstImportAnalysis): boolean;
91
+ /** @internal */
92
+ export declare function isFixableMutableConst(node: unknown): boolean;
93
+ /** @internal */
94
+ export declare function classifyModuleScopedConstInitializer(sourceCode: SourceCodeLike, node: unknown, analysis: ToConstImportAnalysis): ModuleScopedConstInitializerKind;
95
+ /** @internal */
96
+ export declare function getToConstCallText(analysis: ToConstImportAnalysis): string;
97
+ /** @internal */
98
+ export declare function getRuntimeImportStatements(program: unknown): readonly ImportDeclarationLike[];
99
+ //# sourceMappingURL=module-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-scope.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/eslint/module-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export * from './types.js';
2
+ export * from './docs/comments.js';
3
+ export * from './docs/decorators.js';
4
+ export * from './docs/release-tags.js';
5
+ export * from './naming/api-name.js';
6
+ export * from './scoping/files.js';
7
+ export * from './surfaces/class-targets.js';
8
+ export * from './surfaces/custom-object.js';
9
+ export * from './surfaces/extension.js';
10
+ export * from './surfaces/members.js';
11
+ export * from './ts/program.js';
12
+ export * from './ts/symbols.js';
13
+ export * from './ts/types.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/analysis/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type ts from 'typescript';
2
+ import type { ParsedDocTag } from '../types.js';
3
+ /** @internal */
4
+ export type ExplicitApiNameKind = 'default' | 'singular' | 'plural';
5
+ /** @internal */
6
+ export interface ExplicitApiName {
7
+ readonly kind: ExplicitApiNameKind;
8
+ readonly name: string;
9
+ readonly tag: ParsedDocTag;
10
+ readonly nameStart: number;
11
+ readonly nameEnd: number;
12
+ }
13
+ /** @internal */
14
+ export type ApiNameValidationIssue = {
15
+ readonly messageId: 'empty';
16
+ } | {
17
+ readonly messageId: 'invalidCharacters';
18
+ readonly data: {
19
+ readonly name: string;
20
+ };
21
+ } | {
22
+ readonly messageId: 'uppercaseLetter';
23
+ readonly data: {
24
+ readonly name: string;
25
+ };
26
+ } | {
27
+ readonly messageId: 'mustStartWithLetter';
28
+ readonly data: {
29
+ readonly name: string;
30
+ readonly char: string;
31
+ };
32
+ } | {
33
+ readonly messageId: 'trailingUnderscore';
34
+ readonly data: {
35
+ readonly name: string;
36
+ };
37
+ } | {
38
+ readonly messageId: 'consecutiveUnderscores';
39
+ readonly data: {
40
+ readonly name: string;
41
+ };
42
+ } | {
43
+ readonly messageId: 'tooLong';
44
+ readonly data: {
45
+ readonly name: string;
46
+ readonly length: string;
47
+ };
48
+ };
49
+ /** @internal */
50
+ export declare function parseExplicitApiNameTag(tag: ParsedDocTag): ExplicitApiName | undefined;
51
+ /** @internal */
52
+ export declare function getExplicitApiNames(node: ts.Node): readonly ExplicitApiName[];
53
+ /** @internal */
54
+ export declare function validateApiName(name: string): ApiNameValidationIssue | undefined;
55
+ //# sourceMappingURL=api-name-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-name-validation.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/naming/api-name-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,gBAAgB;AAChB,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpE,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAC/B;IACE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,GACD;IACE,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAIN,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,eAAe,GAAG,SAAS,CAqCtF;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,eAAe,EAAE,CAI7E;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAiDhF"}
@@ -0,0 +1,8 @@
1
+ import type ts from 'typescript';
2
+ /** @internal */
3
+ export declare function deriveApiName(identifier: string): string;
4
+ /** @internal */
5
+ export declare function getExplicitApiName(node: ts.Node): string | undefined;
6
+ /** @internal */
7
+ export declare function getEffectiveApiName(node: ts.NamedDeclaration): string | undefined;
8
+ //# sourceMappingURL=api-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-name.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/naming/api-name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAIpE;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAOjF"}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const CUSTOM_OBJECTS_PACKAGE_NAME = "@stripe/extensibility-custom-objects";
3
+ /** @internal */
4
+ export declare const SDK_PACKAGE_NAME = "@stripe/extensibility-sdk";
5
+ //# sourceMappingURL=package-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-names.d.ts","sourceRoot":"","sources":["../../../src/internal/analysis/package-names.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,eAAO,MAAM,2BAA2B,yCAAyC,CAAC;AAClF,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,8BAA8B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { FileScope } from '../types.js';
2
+ /** @internal */
3
+ export declare function classifyFileScope(fileName: string): FileScope;
4
+ /** @internal */
5
+ export declare function isCustomObjectModuleFile(fileName: string): boolean;
6
+ /** @internal */
7
+ export declare function isExtensionAuthorSourceFile(fileName: string): boolean;
8
+ /** @internal */
9
+ export declare function isExtensionEntrypointFile(fileName: string): boolean;
10
+ /** @internal */
11
+ export declare function isCustomObjectAuthorSourceFile(fileName: string): boolean;
12
+ /** @internal */
13
+ export declare function isRuntimeDslAuthorSourceFile(fileName: string): boolean;
14
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/scoping/files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAiCvD,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAQ7D;AAED,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrE;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED,gBAAgB;AAChB,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAItE"}
@@ -0,0 +1,17 @@
1
+ import type { PackageKind } from '../types.js';
2
+ /** @internal */
3
+ export interface PackageJsonInfo {
4
+ readonly name: string | undefined;
5
+ readonly dependencyNames: readonly string[];
6
+ }
7
+ /** @internal */
8
+ export declare function findNearestPackageJson(fileName: string): string | undefined;
9
+ /** @internal */
10
+ export declare function readNearestPackageJsonInfo(fileName: string): PackageJsonInfo | undefined;
11
+ /** @internal */
12
+ export declare function readNearestPackageName(fileName: string): string | undefined;
13
+ /** @internal */
14
+ export declare function classifyPackageInfo(packageJsonInfo?: PackageJsonInfo): PackageKind;
15
+ /** @internal */
16
+ export declare function classifyPackageName(packageName?: string): PackageKind;
17
+ //# sourceMappingURL=packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/scoping/packages.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAe3E;AAcD,gBAAgB;AAChB,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CAqB7B;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3E;AASD,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,WAAW,CAclF;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAarE"}
@@ -0,0 +1,10 @@
1
+ import ts from 'typescript';
2
+ /** @internal */
3
+ export type PropertyLikeNode = ts.PropertySignature | ts.PropertyDeclaration;
4
+ /** @internal */
5
+ export type ApiNameTargetNode = ts.ClassDeclaration | ts.MethodDeclaration | PropertyLikeNode;
6
+ /** @internal */
7
+ export declare function collectCustomObjectApiNameTargets(sourceFile: ts.SourceFile, checker?: ts.TypeChecker): readonly ApiNameTargetNode[];
8
+ /** @internal */
9
+ export declare function collectExtensionConfigApiNameTargets(sourceFile: ts.SourceFile, checker?: ts.TypeChecker): readonly PropertyLikeNode[];
10
+ //# sourceMappingURL=api-name-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-name-targets.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/surfaces/api-name-targets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAU5B,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,mBAAmB,CAAC;AAE7E,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GACzB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,iBAAiB,GACpB,gBAAgB,CAAC;AA8KrB,gBAAgB;AAChB,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GACvB,SAAS,iBAAiB,EAAE,CA6C9B;AAED,gBAAgB;AAChB,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GACvB,SAAS,gBAAgB,EAAE,CAuB7B"}
@@ -0,0 +1,4 @@
1
+ import ts from 'typescript';
2
+ /** @internal */
3
+ export declare function getTopLevelClassDeclarations(sourceFile: ts.SourceFile): readonly ts.ClassDeclaration[];
4
+ //# sourceMappingURL=class-declarations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-declarations.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/surfaces/class-declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,gBAAgB;AAChB,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,EAAE,CAAC,UAAU,GACxB,SAAS,EAAE,CAAC,gBAAgB,EAAE,CAEhC"}
@@ -0,0 +1,27 @@
1
+ import ts from 'typescript';
2
+ /**
3
+ * Discriminant for the different analyzer-owned class surfaces.
4
+ * @internal
5
+ */
6
+ export type ExtensibilityClassTargetKind = 'custom-object-class' | 'custom-object-base-class' | 'custom-object-fields-class' | 'extension-class' | 'extension-config-class';
7
+ /**
8
+ * Represents a class node that belongs to one of the analyzer-owned surfaces.
9
+ * @internal
10
+ */
11
+ export interface ExtensibilityClassTarget {
12
+ readonly kind: ExtensibilityClassTargetKind;
13
+ readonly classNode: ts.ClassDeclaration;
14
+ }
15
+ /**
16
+ * Returns all custom-object-class, custom-object-base-class, and
17
+ * custom-object-fields-class targets visible from the given source file.
18
+ * @internal
19
+ */
20
+ export declare function collectCustomObjectClassTargets(sourceFile: ts.SourceFile, checker: ts.TypeChecker, program: ts.Program): readonly ExtensibilityClassTarget[];
21
+ /**
22
+ * Returns all extension-class and extension-config-class targets visible from
23
+ * the given source file.
24
+ * @internal
25
+ */
26
+ export declare function collectExtensionClassTargets(sourceFile: ts.SourceFile, checker: ts.TypeChecker, program: ts.Program): readonly ExtensibilityClassTarget[];
27
+ //# sourceMappingURL=class-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-targets.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/surfaces/class-targets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAiB5B;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GACpC,qBAAqB,GACrB,0BAA0B,GAC1B,4BAA4B,GAC5B,iBAAiB,GACjB,wBAAwB,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC;CACzC;AAqXD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,SAAS,wBAAwB,EAAE,CAOrC;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,SAAS,wBAAwB,EAAE,CAKrC"}
@@ -0,0 +1,11 @@
1
+ import ts from 'typescript';
2
+ import type { CustomObjectSurface } from '../types.js';
3
+ /** @internal */
4
+ export declare function isDefaultExportedClass(node: ts.ClassDeclaration): boolean;
5
+ /** @internal */
6
+ export declare function getCustomObjectDecoratedClasses(sourceFile: ts.SourceFile): readonly ts.ClassDeclaration[];
7
+ /** @internal */
8
+ export declare function getDefaultExportedClassDeclaration(sourceFile: ts.SourceFile): ts.ClassDeclaration | undefined;
9
+ /** @internal */
10
+ export declare function classifyCustomObjectClass(checker: ts.TypeChecker, node: ts.ClassDeclaration): CustomObjectSurface | undefined;
11
+ //# sourceMappingURL=custom-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/surfaces/custom-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,OAAO,CAMzE;AAED,gBAAgB;AAChB,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,EAAE,CAAC,UAAU,GACxB,SAAS,EAAE,CAAC,gBAAgB,EAAE,CAIhC;AAED,gBAAgB;AAChB,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,EAAE,CAAC,UAAU,GACxB,EAAE,CAAC,gBAAgB,GAAG,SAAS,CA0CjC;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,gBAAgB,GACxB,mBAAmB,GAAG,SAAS,CA8BjC"}
@@ -0,0 +1,5 @@
1
+ import ts from 'typescript';
2
+ import type { ExtensionSurface } from '../types.js';
3
+ /** @internal */
4
+ export declare function classifyExtensionClass(checker: ts.TypeChecker, node: ts.ClassDeclaration): ExtensionSurface | undefined;
5
+ //# sourceMappingURL=extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/surfaces/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAO5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,gBAAgB;AAChB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,gBAAgB,GACxB,gBAAgB,GAAG,SAAS,CAwB9B"}
@@ -0,0 +1,16 @@
1
+ import ts from 'typescript';
2
+ /** @internal */
3
+ export declare function hasModifier(node: ts.Node, kind: ts.SyntaxKind): boolean;
4
+ /** @internal */
5
+ export declare function getClassElementNameText(node: ts.ClassElement): string | undefined;
6
+ /** @internal */
7
+ export declare function isActionMethod(checker: ts.TypeChecker, node: ts.ClassElement): node is ts.MethodDeclaration;
8
+ /** @internal */
9
+ export declare function isActionMethodSyntax(node: ts.ClassElement): node is ts.MethodDeclaration;
10
+ /** @internal */
11
+ export declare function getActionMembersSyntax(node: ts.ClassLikeDeclaration): readonly ts.MethodDeclaration[];
12
+ /** @internal */
13
+ export declare function isPublicInstanceField(node: ts.ClassElement): node is ts.PropertyDeclaration;
14
+ /** @internal */
15
+ export declare function isPublicStaticField(node: ts.ClassElement): node is ts.PropertyDeclaration;
16
+ //# sourceMappingURL=members.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../../src/internal/analysis/surfaces/members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAIvE;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAejF;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,YAAY,GACpB,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,EAAE,CAAC,YAAY,GACpB,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,oBAAoB,GAC5B,SAAS,EAAE,CAAC,iBAAiB,EAAE,CAEjC;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,EAAE,CAAC,YAAY,GACpB,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAQhC;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,YAAY,GACpB,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAQhC"}