@maverickcer/env-cap 0.2.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 (195) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +279 -0
  3. package/dist/.dts/build/assemble-project.d.ts +47 -0
  4. package/dist/.dts/build/assemble-project.d.ts.map +1 -0
  5. package/dist/.dts/build/change-model.d.ts +62 -0
  6. package/dist/.dts/build/change-model.d.ts.map +1 -0
  7. package/dist/.dts/build/check-artifacts.d.ts +48 -0
  8. package/dist/.dts/build/check-artifacts.d.ts.map +1 -0
  9. package/dist/.dts/build/citation-verification.d.ts +62 -0
  10. package/dist/.dts/build/citation-verification.d.ts.map +1 -0
  11. package/dist/.dts/build/compatibility.d.ts +76 -0
  12. package/dist/.dts/build/compatibility.d.ts.map +1 -0
  13. package/dist/.dts/build/contract-model.d.ts +92 -0
  14. package/dist/.dts/build/contract-model.d.ts.map +1 -0
  15. package/dist/.dts/build/deep-equal.d.ts +9 -0
  16. package/dist/.dts/build/deep-equal.d.ts.map +1 -0
  17. package/dist/.dts/build/deep-freeze.d.ts +20 -0
  18. package/dist/.dts/build/deep-freeze.d.ts.map +1 -0
  19. package/dist/.dts/build/dependency-graph.d.ts +168 -0
  20. package/dist/.dts/build/dependency-graph.d.ts.map +1 -0
  21. package/dist/.dts/build/dependency-model.d.ts +79 -0
  22. package/dist/.dts/build/dependency-model.d.ts.map +1 -0
  23. package/dist/.dts/build/discover.d.ts +25 -0
  24. package/dist/.dts/build/discover.d.ts.map +1 -0
  25. package/dist/.dts/build/display-path.d.ts +24 -0
  26. package/dist/.dts/build/display-path.d.ts.map +1 -0
  27. package/dist/.dts/build/docs.d.ts +176 -0
  28. package/dist/.dts/build/docs.d.ts.map +1 -0
  29. package/dist/.dts/build/env-example.d.ts +85 -0
  30. package/dist/.dts/build/env-example.d.ts.map +1 -0
  31. package/dist/.dts/build/errors.d.ts +78 -0
  32. package/dist/.dts/build/errors.d.ts.map +1 -0
  33. package/dist/.dts/build/evidence-cache.d.ts +74 -0
  34. package/dist/.dts/build/evidence-cache.d.ts.map +1 -0
  35. package/dist/.dts/build/evidence-model.d.ts +50 -0
  36. package/dist/.dts/build/evidence-model.d.ts.map +1 -0
  37. package/dist/.dts/build/evidence-reference.d.ts +67 -0
  38. package/dist/.dts/build/evidence-reference.d.ts.map +1 -0
  39. package/dist/.dts/build/evidence-snapshot.d.ts +123 -0
  40. package/dist/.dts/build/evidence-snapshot.d.ts.map +1 -0
  41. package/dist/.dts/build/exclusive-group.d.ts +19 -0
  42. package/dist/.dts/build/exclusive-group.d.ts.map +1 -0
  43. package/dist/.dts/build/finding-model.d.ts +79 -0
  44. package/dist/.dts/build/finding-model.d.ts.map +1 -0
  45. package/dist/.dts/build/generate-documentation.d.ts +176 -0
  46. package/dist/.dts/build/generate-documentation.d.ts.map +1 -0
  47. package/dist/.dts/build/generate-env-artifacts.d.ts +176 -0
  48. package/dist/.dts/build/generate-env-artifacts.d.ts.map +1 -0
  49. package/dist/.dts/build/generate-evidence.d.ts +77 -0
  50. package/dist/.dts/build/generate-evidence.d.ts.map +1 -0
  51. package/dist/.dts/build/generate-manifest.d.ts +101 -0
  52. package/dist/.dts/build/generate-manifest.d.ts.map +1 -0
  53. package/dist/.dts/build/generate-usage.d.ts +95 -0
  54. package/dist/.dts/build/generate-usage.d.ts.map +1 -0
  55. package/dist/.dts/build/generated-banner.d.ts +52 -0
  56. package/dist/.dts/build/generated-banner.d.ts.map +1 -0
  57. package/dist/.dts/build/glob.d.ts +18 -0
  58. package/dist/.dts/build/glob.d.ts.map +1 -0
  59. package/dist/.dts/build/governance-fields.d.ts +34 -0
  60. package/dist/.dts/build/governance-fields.d.ts.map +1 -0
  61. package/dist/.dts/build/humanize-key.d.ts +14 -0
  62. package/dist/.dts/build/humanize-key.d.ts.map +1 -0
  63. package/dist/.dts/build/index.d.ts +107 -0
  64. package/dist/.dts/build/index.d.ts.map +1 -0
  65. package/dist/.dts/build/lifecycle-model.d.ts +64 -0
  66. package/dist/.dts/build/lifecycle-model.d.ts.map +1 -0
  67. package/dist/.dts/build/link.d.ts +215 -0
  68. package/dist/.dts/build/link.d.ts.map +1 -0
  69. package/dist/.dts/build/literal-eval.d.ts +23 -0
  70. package/dist/.dts/build/literal-eval.d.ts.map +1 -0
  71. package/dist/.dts/build/live-expirations.d.ts +47 -0
  72. package/dist/.dts/build/live-expirations.d.ts.map +1 -0
  73. package/dist/.dts/build/manifest-snapshot.d.ts +229 -0
  74. package/dist/.dts/build/manifest-snapshot.d.ts.map +1 -0
  75. package/dist/.dts/build/manifest.d.ts +31 -0
  76. package/dist/.dts/build/manifest.d.ts.map +1 -0
  77. package/dist/.dts/build/map-utils.d.ts +8 -0
  78. package/dist/.dts/build/map-utils.d.ts.map +1 -0
  79. package/dist/.dts/build/ownership-model.d.ts +57 -0
  80. package/dist/.dts/build/ownership-model.d.ts.map +1 -0
  81. package/dist/.dts/build/parse.d.ts +199 -0
  82. package/dist/.dts/build/parse.d.ts.map +1 -0
  83. package/dist/.dts/build/reference-projections.d.ts +156 -0
  84. package/dist/.dts/build/reference-projections.d.ts.map +1 -0
  85. package/dist/.dts/build/resolution/resolve-import.d.ts +53 -0
  86. package/dist/.dts/build/resolution/resolve-import.d.ts.map +1 -0
  87. package/dist/.dts/build/resolution/resolve-package-schema.d.ts +83 -0
  88. package/dist/.dts/build/resolution/resolve-package-schema.d.ts.map +1 -0
  89. package/dist/.dts/build/resolution/resolve-tsconfig-paths.d.ts +101 -0
  90. package/dist/.dts/build/resolution/resolve-tsconfig-paths.d.ts.map +1 -0
  91. package/dist/.dts/build/resolution/resolve-within-root.d.ts +35 -0
  92. package/dist/.dts/build/resolution/resolve-within-root.d.ts.map +1 -0
  93. package/dist/.dts/build/resolve-import.d.ts +50 -0
  94. package/dist/.dts/build/resolve-import.d.ts.map +1 -0
  95. package/dist/.dts/build/resolve-package-schema.d.ts +99 -0
  96. package/dist/.dts/build/resolve-package-schema.d.ts.map +1 -0
  97. package/dist/.dts/build/resolve-tsconfig-paths.d.ts +100 -0
  98. package/dist/.dts/build/resolve-tsconfig-paths.d.ts.map +1 -0
  99. package/dist/.dts/build/resolve-within-root.d.ts +35 -0
  100. package/dist/.dts/build/resolve-within-root.d.ts.map +1 -0
  101. package/dist/.dts/build/sarif.d.ts +66 -0
  102. package/dist/.dts/build/sarif.d.ts.map +1 -0
  103. package/dist/.dts/build/scan-dependencies.d.ts +47 -0
  104. package/dist/.dts/build/scan-dependencies.d.ts.map +1 -0
  105. package/dist/.dts/build/sort-by-identity.d.ts +14 -0
  106. package/dist/.dts/build/sort-by-identity.d.ts.map +1 -0
  107. package/dist/.dts/build/source-position.d.ts +69 -0
  108. package/dist/.dts/build/source-position.d.ts.map +1 -0
  109. package/dist/.dts/build/tool-version.d.ts +8 -0
  110. package/dist/.dts/build/tool-version.d.ts.map +1 -0
  111. package/dist/.dts/build/types.d.ts +53 -0
  112. package/dist/.dts/build/types.d.ts.map +1 -0
  113. package/dist/.dts/build/usage-report.d.ts +124 -0
  114. package/dist/.dts/build/usage-report.d.ts.map +1 -0
  115. package/dist/.dts/cli/filesystem.d.ts +3 -0
  116. package/dist/.dts/cli/filesystem.d.ts.map +1 -0
  117. package/dist/.dts/eslint-plugin/glob.d.ts +18 -0
  118. package/dist/.dts/eslint-plugin/glob.d.ts.map +1 -0
  119. package/dist/.dts/eslint-plugin/index.d.ts +27 -0
  120. package/dist/.dts/eslint-plugin/index.d.ts.map +1 -0
  121. package/dist/.dts/eslint-plugin/no-node-fs.d.ts +25 -0
  122. package/dist/.dts/eslint-plugin/no-node-fs.d.ts.map +1 -0
  123. package/dist/.dts/eslint-plugin/no-raw-process-env.d.ts +23 -0
  124. package/dist/.dts/eslint-plugin/no-raw-process-env.d.ts.map +1 -0
  125. package/dist/.dts/evidence/define-projection.d.ts +51 -0
  126. package/dist/.dts/evidence/define-projection.d.ts.map +1 -0
  127. package/dist/.dts/evidence/index.d.ts +23 -0
  128. package/dist/.dts/evidence/index.d.ts.map +1 -0
  129. package/dist/.dts/helpers/index.d.ts +135 -0
  130. package/dist/.dts/helpers/index.d.ts.map +1 -0
  131. package/dist/.dts/helpers/processors.d.ts +32 -0
  132. package/dist/.dts/helpers/processors.d.ts.map +1 -0
  133. package/dist/.dts/helpers/validators.d.ts +68 -0
  134. package/dist/.dts/helpers/validators.d.ts.map +1 -0
  135. package/dist/.dts/node/index.d.ts +2 -0
  136. package/dist/.dts/node/index.d.ts.map +1 -0
  137. package/dist/.dts/runtime/cache.d.ts +20 -0
  138. package/dist/.dts/runtime/cache.d.ts.map +1 -0
  139. package/dist/.dts/runtime/create.d.ts +20 -0
  140. package/dist/.dts/runtime/create.d.ts.map +1 -0
  141. package/dist/.dts/runtime/document.d.ts +181 -0
  142. package/dist/.dts/runtime/document.d.ts.map +1 -0
  143. package/dist/.dts/runtime/errors.d.ts +55 -0
  144. package/dist/.dts/runtime/errors.d.ts.map +1 -0
  145. package/dist/.dts/runtime/index.d.ts +24 -0
  146. package/dist/.dts/runtime/index.d.ts.map +1 -0
  147. package/dist/.dts/runtime/registry.d.ts +12 -0
  148. package/dist/.dts/runtime/registry.d.ts.map +1 -0
  149. package/dist/.dts/runtime/reset.d.ts +8 -0
  150. package/dist/.dts/runtime/reset.d.ts.map +1 -0
  151. package/dist/.dts/runtime/types.d.ts +175 -0
  152. package/dist/.dts/runtime/types.d.ts.map +1 -0
  153. package/dist/.dts/runtime/validate.d.ts +14 -0
  154. package/dist/.dts/runtime/validate.d.ts.map +1 -0
  155. package/dist/build.cjs +83 -0
  156. package/dist/build.cjs.map +1 -0
  157. package/dist/build.d.cts +1 -0
  158. package/dist/build.d.ts +1 -0
  159. package/dist/build.js +19 -0
  160. package/dist/build.js.map +1 -0
  161. package/dist/cli/index.js +134 -0
  162. package/dist/cli/index.js.map +1 -0
  163. package/dist/eslint-plugin/index.cjs +12 -0
  164. package/dist/eslint-plugin/index.cjs.map +1 -0
  165. package/dist/eslint-plugin/index.d.cts +1 -0
  166. package/dist/eslint-plugin/index.d.ts +1 -0
  167. package/dist/eslint-plugin/index.js +5 -0
  168. package/dist/eslint-plugin/index.js.map +1 -0
  169. package/dist/evidence.cjs +7 -0
  170. package/dist/evidence.cjs.map +1 -0
  171. package/dist/evidence.d.cts +1 -0
  172. package/dist/evidence.d.ts +1 -0
  173. package/dist/evidence.js +5 -0
  174. package/dist/evidence.js.map +1 -0
  175. package/dist/helpers.cjs +8 -0
  176. package/dist/helpers.cjs.map +1 -0
  177. package/dist/helpers.d.cts +1 -0
  178. package/dist/helpers.d.ts +1 -0
  179. package/dist/helpers.js +5 -0
  180. package/dist/helpers.js.map +1 -0
  181. package/dist/index.cjs +15 -0
  182. package/dist/index.cjs.map +1 -0
  183. package/dist/index.d.cts +1 -0
  184. package/dist/index.d.ts +1 -0
  185. package/dist/index.js +7 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/node.cjs +13 -0
  188. package/dist/node.cjs.map +1 -0
  189. package/dist/node.d.cts +1 -0
  190. package/dist/node.d.ts +1 -0
  191. package/dist/node.js +7 -0
  192. package/dist/node.js.map +1 -0
  193. package/package.json +183 -0
  194. package/schemas/contract-model.schema.json +321 -0
  195. package/schemas/env-cap-report.schema.json +2369 -0
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function __require(){try{return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports}catch(e){throw mod=0,e}};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(__defProp(target,"default",{value:mod,enumerable:true}),mod));var require_deepMerge=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.isObjectNotArray=isObjectNotArray;exports.deepMerge=deepMerge;function isObjectNotArray(obj){return typeof obj==="object"&&obj!=null&&!Array.isArray(obj)}function deepMerge(first={},second={}){const keys=new Set([...Object.keys(first),...Object.keys(second)]);return Object.fromEntries([...keys].map(key=>{const firstHasKey=key in first;const secondHasKey=key in second;const firstValue=first[key];const secondValue=second[key];let value;if(firstHasKey&&secondHasKey){if(isObjectNotArray(firstValue)&&isObjectNotArray(secondValue)){value=deepMerge(firstValue,secondValue);}else {value=secondValue;}}else if(firstHasKey){value=firstValue;}else {value=secondValue;}return [key,value]}))}}});var require_applyDefault=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.applyDefault=applyDefault;var deepMerge_1=require_deepMerge();function applyDefault(defaultOptions,userOptions){const options=structuredClone(defaultOptions);if(userOptions==null){return options}options.forEach((opt,i)=>{if(userOptions[i]!==void 0){const userOpt=userOptions[i];if((0, deepMerge_1.isObjectNotArray)(userOpt)&&(0, deepMerge_1.isObjectNotArray)(opt)){options[i]=(0, deepMerge_1.deepMerge)(opt,userOpt);}else {options[i]=userOpt;}}});return options}}});var require_parserSeemsToBeTSESLint=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.parserSeemsToBeTSESLint=parserSeemsToBeTSESLint;function parserSeemsToBeTSESLint(parser){return !!parser&&/(?:typescript-eslint|\.\.)[\w/\\]*parser/.test(parser)}}});var require_getParserServices=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.getParserServices=getParserServices;var parserSeemsToBeTSESLint_1=require_parserSeemsToBeTSESLint();var ERROR_MESSAGE_REQUIRES_PARSER_SERVICES="You have used a rule which requires type information, but don't have parserOptions set to generate type information for this file. See https://tseslint.com/typed-linting for enabling linting with type information.";var ERROR_MESSAGE_UNKNOWN_PARSER='Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward "parserOptions.project" to @typescript-eslint/parser.';function getParserServices(context,allowWithoutFullTypeInformation=false){const parser=context.parserPath||context.languageOptions.parser?.meta?.name;if(context.sourceCode.parserServices?.esTreeNodeToTSNodeMap==null||context.sourceCode.parserServices.tsNodeToESTreeNodeMap==null){throwError(parser);}if(context.sourceCode.parserServices.program==null&&!allowWithoutFullTypeInformation){throwError(parser);}return context.sourceCode.parserServices}function throwError(parser){const messages=[ERROR_MESSAGE_REQUIRES_PARSER_SERVICES,`Parser: ${parser||"(unknown)"}`,!(0, parserSeemsToBeTSESLint_1.parserSeemsToBeTSESLint)(parser)&&ERROR_MESSAGE_UNKNOWN_PARSER].filter(Boolean);throw new Error(messages.join("\n"))}}});var require_InferTypesFromRule=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});}});var require_nullThrows=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.NullThrowsReasons=void 0;exports.nullThrows=nullThrows;exports.NullThrowsReasons={MissingParent:"Expected node to have a parent.",MissingToken:(token,thing)=>`Expected to find a ${token} for the ${thing}.`};function nullThrows(value,message){if(value==null){throw new Error(`Non-null Assertion Failed: ${message}`)}return value}}});var require_RuleCreator=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.RuleCreator=RuleCreator3;var applyDefault_1=require_applyDefault();function RuleCreator3(urlCreator){return function createNamedRule({meta,name,...rule}){const ruleWithDocs=createRule3({meta:{...meta,docs:{...meta.docs,url:urlCreator(name)}},name,...rule});return ruleWithDocs}}function createRule3({create,defaultOptions,meta,name}){const resolvedDefaultOptions=meta.defaultOptions??defaultOptions??[];return {create(context){const optionsWithDefault=(0, applyDefault_1.applyDefault)(resolvedDefaultOptions,context.options);return create(context,optionsWithDefault)},defaultOptions,meta,name}}RuleCreator3.withoutDocs=function withoutDocs(args){return createRule3(args)};}});var require_eslint_utils=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}};}Object.defineProperty(o,k2,desc);}):(function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k];}));var __exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p);};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(require_applyDefault(),exports);__exportStar(require_deepMerge(),exports);__exportStar(require_getParserServices(),exports);__exportStar(require_InferTypesFromRule(),exports);__exportStar(require_nullThrows(),exports);__exportStar(require_RuleCreator(),exports);}});var require_ast_spec=__commonJS({"node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var AST_NODE_TYPES3;(function(AST_NODE_TYPES4){AST_NODE_TYPES4["AccessorProperty"]="AccessorProperty";AST_NODE_TYPES4["ArrayExpression"]="ArrayExpression";AST_NODE_TYPES4["ArrayPattern"]="ArrayPattern";AST_NODE_TYPES4["ArrowFunctionExpression"]="ArrowFunctionExpression";AST_NODE_TYPES4["AssignmentExpression"]="AssignmentExpression";AST_NODE_TYPES4["AssignmentPattern"]="AssignmentPattern";AST_NODE_TYPES4["AwaitExpression"]="AwaitExpression";AST_NODE_TYPES4["BinaryExpression"]="BinaryExpression";AST_NODE_TYPES4["BlockStatement"]="BlockStatement";AST_NODE_TYPES4["BreakStatement"]="BreakStatement";AST_NODE_TYPES4["CallExpression"]="CallExpression";AST_NODE_TYPES4["CatchClause"]="CatchClause";AST_NODE_TYPES4["ChainExpression"]="ChainExpression";AST_NODE_TYPES4["ClassBody"]="ClassBody";AST_NODE_TYPES4["ClassDeclaration"]="ClassDeclaration";AST_NODE_TYPES4["ClassExpression"]="ClassExpression";AST_NODE_TYPES4["ConditionalExpression"]="ConditionalExpression";AST_NODE_TYPES4["ContinueStatement"]="ContinueStatement";AST_NODE_TYPES4["DebuggerStatement"]="DebuggerStatement";AST_NODE_TYPES4["Decorator"]="Decorator";AST_NODE_TYPES4["DoWhileStatement"]="DoWhileStatement";AST_NODE_TYPES4["EmptyStatement"]="EmptyStatement";AST_NODE_TYPES4["ExportAllDeclaration"]="ExportAllDeclaration";AST_NODE_TYPES4["ExportDefaultDeclaration"]="ExportDefaultDeclaration";AST_NODE_TYPES4["ExportNamedDeclaration"]="ExportNamedDeclaration";AST_NODE_TYPES4["ExportSpecifier"]="ExportSpecifier";AST_NODE_TYPES4["ExpressionStatement"]="ExpressionStatement";AST_NODE_TYPES4["ForInStatement"]="ForInStatement";AST_NODE_TYPES4["ForOfStatement"]="ForOfStatement";AST_NODE_TYPES4["ForStatement"]="ForStatement";AST_NODE_TYPES4["FunctionDeclaration"]="FunctionDeclaration";AST_NODE_TYPES4["FunctionExpression"]="FunctionExpression";AST_NODE_TYPES4["Identifier"]="Identifier";AST_NODE_TYPES4["IfStatement"]="IfStatement";AST_NODE_TYPES4["ImportAttribute"]="ImportAttribute";AST_NODE_TYPES4["ImportDeclaration"]="ImportDeclaration";AST_NODE_TYPES4["ImportDefaultSpecifier"]="ImportDefaultSpecifier";AST_NODE_TYPES4["ImportExpression"]="ImportExpression";AST_NODE_TYPES4["ImportNamespaceSpecifier"]="ImportNamespaceSpecifier";AST_NODE_TYPES4["ImportSpecifier"]="ImportSpecifier";AST_NODE_TYPES4["JSXAttribute"]="JSXAttribute";AST_NODE_TYPES4["JSXClosingElement"]="JSXClosingElement";AST_NODE_TYPES4["JSXClosingFragment"]="JSXClosingFragment";AST_NODE_TYPES4["JSXElement"]="JSXElement";AST_NODE_TYPES4["JSXEmptyExpression"]="JSXEmptyExpression";AST_NODE_TYPES4["JSXExpressionContainer"]="JSXExpressionContainer";AST_NODE_TYPES4["JSXFragment"]="JSXFragment";AST_NODE_TYPES4["JSXIdentifier"]="JSXIdentifier";AST_NODE_TYPES4["JSXMemberExpression"]="JSXMemberExpression";AST_NODE_TYPES4["JSXNamespacedName"]="JSXNamespacedName";AST_NODE_TYPES4["JSXOpeningElement"]="JSXOpeningElement";AST_NODE_TYPES4["JSXOpeningFragment"]="JSXOpeningFragment";AST_NODE_TYPES4["JSXSpreadAttribute"]="JSXSpreadAttribute";AST_NODE_TYPES4["JSXSpreadChild"]="JSXSpreadChild";AST_NODE_TYPES4["JSXText"]="JSXText";AST_NODE_TYPES4["LabeledStatement"]="LabeledStatement";AST_NODE_TYPES4["Literal"]="Literal";AST_NODE_TYPES4["LogicalExpression"]="LogicalExpression";AST_NODE_TYPES4["MemberExpression"]="MemberExpression";AST_NODE_TYPES4["MetaProperty"]="MetaProperty";AST_NODE_TYPES4["MethodDefinition"]="MethodDefinition";AST_NODE_TYPES4["NewExpression"]="NewExpression";AST_NODE_TYPES4["ObjectExpression"]="ObjectExpression";AST_NODE_TYPES4["ObjectPattern"]="ObjectPattern";AST_NODE_TYPES4["PrivateIdentifier"]="PrivateIdentifier";AST_NODE_TYPES4["Program"]="Program";AST_NODE_TYPES4["Property"]="Property";AST_NODE_TYPES4["PropertyDefinition"]="PropertyDefinition";AST_NODE_TYPES4["RestElement"]="RestElement";AST_NODE_TYPES4["ReturnStatement"]="ReturnStatement";AST_NODE_TYPES4["SequenceExpression"]="SequenceExpression";AST_NODE_TYPES4["SpreadElement"]="SpreadElement";AST_NODE_TYPES4["StaticBlock"]="StaticBlock";AST_NODE_TYPES4["Super"]="Super";AST_NODE_TYPES4["SwitchCase"]="SwitchCase";AST_NODE_TYPES4["SwitchStatement"]="SwitchStatement";AST_NODE_TYPES4["TaggedTemplateExpression"]="TaggedTemplateExpression";AST_NODE_TYPES4["TemplateElement"]="TemplateElement";AST_NODE_TYPES4["TemplateLiteral"]="TemplateLiteral";AST_NODE_TYPES4["ThisExpression"]="ThisExpression";AST_NODE_TYPES4["ThrowStatement"]="ThrowStatement";AST_NODE_TYPES4["TryStatement"]="TryStatement";AST_NODE_TYPES4["UnaryExpression"]="UnaryExpression";AST_NODE_TYPES4["UpdateExpression"]="UpdateExpression";AST_NODE_TYPES4["VariableDeclaration"]="VariableDeclaration";AST_NODE_TYPES4["VariableDeclarator"]="VariableDeclarator";AST_NODE_TYPES4["WhileStatement"]="WhileStatement";AST_NODE_TYPES4["WithStatement"]="WithStatement";AST_NODE_TYPES4["YieldExpression"]="YieldExpression";AST_NODE_TYPES4["TSAbstractAccessorProperty"]="TSAbstractAccessorProperty";AST_NODE_TYPES4["TSAbstractKeyword"]="TSAbstractKeyword";AST_NODE_TYPES4["TSAbstractMethodDefinition"]="TSAbstractMethodDefinition";AST_NODE_TYPES4["TSAbstractPropertyDefinition"]="TSAbstractPropertyDefinition";AST_NODE_TYPES4["TSAnyKeyword"]="TSAnyKeyword";AST_NODE_TYPES4["TSArrayType"]="TSArrayType";AST_NODE_TYPES4["TSAsExpression"]="TSAsExpression";AST_NODE_TYPES4["TSAsyncKeyword"]="TSAsyncKeyword";AST_NODE_TYPES4["TSBigIntKeyword"]="TSBigIntKeyword";AST_NODE_TYPES4["TSBooleanKeyword"]="TSBooleanKeyword";AST_NODE_TYPES4["TSCallSignatureDeclaration"]="TSCallSignatureDeclaration";AST_NODE_TYPES4["TSClassImplements"]="TSClassImplements";AST_NODE_TYPES4["TSConditionalType"]="TSConditionalType";AST_NODE_TYPES4["TSConstructorType"]="TSConstructorType";AST_NODE_TYPES4["TSConstructSignatureDeclaration"]="TSConstructSignatureDeclaration";AST_NODE_TYPES4["TSDeclareFunction"]="TSDeclareFunction";AST_NODE_TYPES4["TSDeclareKeyword"]="TSDeclareKeyword";AST_NODE_TYPES4["TSEmptyBodyFunctionExpression"]="TSEmptyBodyFunctionExpression";AST_NODE_TYPES4["TSEnumBody"]="TSEnumBody";AST_NODE_TYPES4["TSEnumDeclaration"]="TSEnumDeclaration";AST_NODE_TYPES4["TSEnumMember"]="TSEnumMember";AST_NODE_TYPES4["TSExportAssignment"]="TSExportAssignment";AST_NODE_TYPES4["TSExportKeyword"]="TSExportKeyword";AST_NODE_TYPES4["TSExternalModuleReference"]="TSExternalModuleReference";AST_NODE_TYPES4["TSFunctionType"]="TSFunctionType";AST_NODE_TYPES4["TSImportEqualsDeclaration"]="TSImportEqualsDeclaration";AST_NODE_TYPES4["TSImportType"]="TSImportType";AST_NODE_TYPES4["TSIndexedAccessType"]="TSIndexedAccessType";AST_NODE_TYPES4["TSIndexSignature"]="TSIndexSignature";AST_NODE_TYPES4["TSInferType"]="TSInferType";AST_NODE_TYPES4["TSInstantiationExpression"]="TSInstantiationExpression";AST_NODE_TYPES4["TSInterfaceBody"]="TSInterfaceBody";AST_NODE_TYPES4["TSInterfaceDeclaration"]="TSInterfaceDeclaration";AST_NODE_TYPES4["TSInterfaceHeritage"]="TSInterfaceHeritage";AST_NODE_TYPES4["TSIntersectionType"]="TSIntersectionType";AST_NODE_TYPES4["TSIntrinsicKeyword"]="TSIntrinsicKeyword";AST_NODE_TYPES4["TSLiteralType"]="TSLiteralType";AST_NODE_TYPES4["TSMappedType"]="TSMappedType";AST_NODE_TYPES4["TSMethodSignature"]="TSMethodSignature";AST_NODE_TYPES4["TSModuleBlock"]="TSModuleBlock";AST_NODE_TYPES4["TSModuleDeclaration"]="TSModuleDeclaration";AST_NODE_TYPES4["TSNamedTupleMember"]="TSNamedTupleMember";AST_NODE_TYPES4["TSNamespaceExportDeclaration"]="TSNamespaceExportDeclaration";AST_NODE_TYPES4["TSNeverKeyword"]="TSNeverKeyword";AST_NODE_TYPES4["TSNonNullExpression"]="TSNonNullExpression";AST_NODE_TYPES4["TSNullKeyword"]="TSNullKeyword";AST_NODE_TYPES4["TSNumberKeyword"]="TSNumberKeyword";AST_NODE_TYPES4["TSObjectKeyword"]="TSObjectKeyword";AST_NODE_TYPES4["TSOptionalType"]="TSOptionalType";AST_NODE_TYPES4["TSParameterProperty"]="TSParameterProperty";AST_NODE_TYPES4["TSPrivateKeyword"]="TSPrivateKeyword";AST_NODE_TYPES4["TSPropertySignature"]="TSPropertySignature";AST_NODE_TYPES4["TSProtectedKeyword"]="TSProtectedKeyword";AST_NODE_TYPES4["TSPublicKeyword"]="TSPublicKeyword";AST_NODE_TYPES4["TSQualifiedName"]="TSQualifiedName";AST_NODE_TYPES4["TSReadonlyKeyword"]="TSReadonlyKeyword";AST_NODE_TYPES4["TSRestType"]="TSRestType";AST_NODE_TYPES4["TSSatisfiesExpression"]="TSSatisfiesExpression";AST_NODE_TYPES4["TSStaticKeyword"]="TSStaticKeyword";AST_NODE_TYPES4["TSStringKeyword"]="TSStringKeyword";AST_NODE_TYPES4["TSSymbolKeyword"]="TSSymbolKeyword";AST_NODE_TYPES4["TSTemplateLiteralType"]="TSTemplateLiteralType";AST_NODE_TYPES4["TSThisType"]="TSThisType";AST_NODE_TYPES4["TSTupleType"]="TSTupleType";AST_NODE_TYPES4["TSTypeAliasDeclaration"]="TSTypeAliasDeclaration";AST_NODE_TYPES4["TSTypeAnnotation"]="TSTypeAnnotation";AST_NODE_TYPES4["TSTypeAssertion"]="TSTypeAssertion";AST_NODE_TYPES4["TSTypeLiteral"]="TSTypeLiteral";AST_NODE_TYPES4["TSTypeOperator"]="TSTypeOperator";AST_NODE_TYPES4["TSTypeParameter"]="TSTypeParameter";AST_NODE_TYPES4["TSTypeParameterDeclaration"]="TSTypeParameterDeclaration";AST_NODE_TYPES4["TSTypeParameterInstantiation"]="TSTypeParameterInstantiation";AST_NODE_TYPES4["TSTypePredicate"]="TSTypePredicate";AST_NODE_TYPES4["TSTypeQuery"]="TSTypeQuery";AST_NODE_TYPES4["TSTypeReference"]="TSTypeReference";AST_NODE_TYPES4["TSUndefinedKeyword"]="TSUndefinedKeyword";AST_NODE_TYPES4["TSUnionType"]="TSUnionType";AST_NODE_TYPES4["TSUnknownKeyword"]="TSUnknownKeyword";AST_NODE_TYPES4["TSVoidKeyword"]="TSVoidKeyword";})(AST_NODE_TYPES3||(exports.AST_NODE_TYPES=AST_NODE_TYPES3={}));var AST_TOKEN_TYPES;(function(AST_TOKEN_TYPES2){AST_TOKEN_TYPES2["Boolean"]="Boolean";AST_TOKEN_TYPES2["Identifier"]="Identifier";AST_TOKEN_TYPES2["JSXIdentifier"]="JSXIdentifier";AST_TOKEN_TYPES2["PrivateIdentifier"]="PrivateIdentifier";AST_TOKEN_TYPES2["JSXText"]="JSXText";AST_TOKEN_TYPES2["Keyword"]="Keyword";AST_TOKEN_TYPES2["Null"]="Null";AST_TOKEN_TYPES2["Numeric"]="Numeric";AST_TOKEN_TYPES2["Punctuator"]="Punctuator";AST_TOKEN_TYPES2["RegularExpression"]="RegularExpression";AST_TOKEN_TYPES2["String"]="String";AST_TOKEN_TYPES2["Template"]="Template";AST_TOKEN_TYPES2["Block"]="Block";AST_TOKEN_TYPES2["Line"]="Line";})(AST_TOKEN_TYPES||(exports.AST_TOKEN_TYPES=AST_TOKEN_TYPES={}));}});var require_lib=__commonJS({"node_modules/@typescript-eslint/types/dist/lib.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});}});var require_parser_options=__commonJS({"node_modules/@typescript-eslint/types/dist/parser-options.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});}});var require_ts_estree=__commonJS({"node_modules/@typescript-eslint/types/dist/ts-estree.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}};}Object.defineProperty(o,k2,desc);}):(function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k];}));var __setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v});}):function(o,v){o["default"]=v;});var __importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)if(Object.prototype.hasOwnProperty.call(o2,k))ar[ar.length]=k;return ar};return ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k=ownKeys(mod),i=0;i<k.length;i++)if(k[i]!=="default")__createBinding(result,mod,k[i]);}__setModuleDefault(result,mod);return result}})();Object.defineProperty(exports,"__esModule",{value:true});exports.TSESTree=void 0;exports.TSESTree=__importStar(require_ast_spec());}});var require_dist=__commonJS({"node_modules/@typescript-eslint/types/dist/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}};}Object.defineProperty(o,k2,desc);}):(function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k];}));var __exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p);};Object.defineProperty(exports,"__esModule",{value:true});exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var ast_spec_1=require_ast_spec();Object.defineProperty(exports,"AST_NODE_TYPES",{enumerable:true,get:function(){return ast_spec_1.AST_NODE_TYPES}});Object.defineProperty(exports,"AST_TOKEN_TYPES",{enumerable:true,get:function(){return ast_spec_1.AST_TOKEN_TYPES}});__exportStar(require_lib(),exports);__exportStar(require_parser_options(),exports);__exportStar(require_ts_estree(),exports);}});var import_eslint_utils=__toESM(require_eslint_utils());var import_types=__toESM(require_dist());function globToRegExp(pattern){let out="";for(let i=0;i<pattern.length;i++){const char=pattern[i];if(char==="*"&&pattern[i+1]==="*"){const precededBySlashOrStart=i===0||pattern[i-1]==="/";const followedBySlash=pattern[i+2]==="/";if(precededBySlashOrStart&&followedBySlash){out+="(?:.*/)?";i+=2;}else {out+=".*";i+=1;}}else if(char==="*"){out+="[^/]*";}else if(char==="?"){out+="[^/]";}else if(".+^${}()|[]\\".includes(char)){out+=`\\${char}`;}else {out+=char;}}return new RegExp(`^${out}$`)}var createRule=(0, import_eslint_utils.RuleCreator)(name=>`https://github.com/maverickcer/env-cap#eslint-plugin-${name}`);var FS_SPECIFIER=/^(node:)?fs(\/promises)?$/;function fsSpecifier(source){if(typeof source!=="string")return void 0;if(!FS_SPECIFIER.test(source))return void 0;return source}var noNodeFs=createRule({name:"no-node-fs",meta:{type:"problem",docs:{description:"Disallow importing node:fs in library code; accept a filesystem capability from the caller instead."},schema:[{type:"object",properties:{allow:{type:"array",items:{type:"string"}}},additionalProperties:false}],messages:{noNodeFs:"Importing '{{specifier}}' makes this a filesystem-acquiring surface. Accept a filesystem capability as an argument instead, and let an executable entry point construct the node:fs adapter (see ADR 0040 / the README's ESLint section for the allow-list escape hatch)."}},defaultOptions:[{allow:[]}],create(context,[options]){const filename=context.filename;const allowPatterns=options.allow??[];if(allowPatterns.some(p=>globToRegExp(p).test(filename)))return {};return {ImportDeclaration(node){const specifier=fsSpecifier(node.source.value);if(specifier!==void 0){context.report({node,messageId:"noNodeFs",data:{specifier}});}},ImportExpression(node){if(node.source.type!==import_types.AST_NODE_TYPES.Literal)return;const specifier=fsSpecifier(node.source.value);if(specifier!==void 0){context.report({node,messageId:"noNodeFs",data:{specifier}});}},CallExpression(node){if(node.callee.type!==import_types.AST_NODE_TYPES.Identifier||node.callee.name!=="require"||node.arguments[0]?.type!==import_types.AST_NODE_TYPES.Literal){return}const specifier=fsSpecifier(node.arguments[0].value);if(specifier!==void 0){context.report({node,messageId:"noNodeFs",data:{specifier}});}}}}});var import_eslint_utils2=__toESM(require_eslint_utils());var import_types2=__toESM(require_dist());var createRule2=(0, import_eslint_utils2.RuleCreator)(name=>`https://github.com/maverickcer/env-cap#eslint-plugin-${name}`);var DEFAULT_SCHEMA_ALLOWLIST=["**/env.schema.ts","**/env.schema.tsx"];var noRawProcessEnv=createRule2({name:"no-raw-process-env",meta:{type:"problem",docs:{description:"Disallow direct process.env reads in application code; use a capability-owned createEnv() contract instead."},schema:[{type:"object",properties:{allow:{type:"array",items:{type:"string"}}},additionalProperties:false}],messages:{noRawProcessEnv:"Direct process.env access bypasses this capability's owned contract. Read this value through createEnv()'s validated contract instead (see README's ESLint plugin section for the allow-list escape hatch for legitimate build-time bootstrap code)."}},defaultOptions:[{allow:[]}],create(context,[options]){const filename=context.filename;const allowPatterns=[...DEFAULT_SCHEMA_ALLOWLIST,...options.allow??[]];if(allowPatterns.some(p=>globToRegExp(p).test(filename)))return {};return {MemberExpression(node){const obj=node.object;if(obj.type===import_types2.AST_NODE_TYPES.MemberExpression&&obj.object.type===import_types2.AST_NODE_TYPES.Identifier&&obj.object.name==="process"&&obj.property.type===import_types2.AST_NODE_TYPES.Identifier&&obj.property.name==="env"){context.report({node,messageId:"noRawProcessEnv"});}}}}});var plugin={rules:{"no-raw-process-env":noRawProcessEnv,"no-node-fs":noNodeFs}};var eslint_plugin_default=plugin;
6
+
7
+ exports.default = eslint_plugin_default;
8
+ exports.noNodeFs = noNodeFs;
9
+ exports.noRawProcessEnv = noRawProcessEnv;
10
+ module.exports = Object.assign(exports.default, exports);
11
+ //# sourceMappingURL=index.cjs.map
12
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js","../../node_modules/@typescript-eslint/types/dist/generated/ast-spec.js","../../node_modules/@typescript-eslint/types/dist/lib.js","../../node_modules/@typescript-eslint/types/dist/parser-options.js","../../node_modules/@typescript-eslint/types/dist/ts-estree.js","../../node_modules/@typescript-eslint/types/dist/index.js","../../src/eslint-plugin/no-node-fs.ts","../../src/eslint-plugin/glob.ts","../../src/eslint-plugin/no-raw-process-env.ts","../../src/eslint-plugin/index.ts"],"names":["RuleCreator","createRule","exports","AST_NODE_TYPES","AST_TOKEN_TYPES","o","import_eslint_utils","import_types"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isObjectNotArray = isObjectNotArray;\nexports.deepMerge = deepMerge;\n/**\n * Check if the variable contains an object strictly rejecting arrays\n * @returns `true` if obj is an object\n */\nfunction isObjectNotArray(obj) {\n return typeof obj === 'object' && obj != null && !Array.isArray(obj);\n}\n/**\n * Pure function - doesn't mutate either parameter!\n * Merges two objects together deeply, overwriting the properties in first with the properties in second\n * @param first The first object\n * @param second The second object\n * @returns a new object\n */\nfunction deepMerge(first = {}, second = {}) {\n // get the unique set of keys across both objects\n const keys = new Set([...Object.keys(first), ...Object.keys(second)]);\n return Object.fromEntries([...keys].map(key => {\n const firstHasKey = key in first;\n const secondHasKey = key in second;\n const firstValue = first[key];\n const secondValue = second[key];\n let value;\n if (firstHasKey && secondHasKey) {\n if (isObjectNotArray(firstValue) && isObjectNotArray(secondValue)) {\n // object type\n value = deepMerge(firstValue, secondValue);\n }\n else {\n // value type\n value = secondValue;\n }\n }\n else if (firstHasKey) {\n value = firstValue;\n }\n else {\n value = secondValue;\n }\n return [key, value];\n }));\n}\n//# sourceMappingURL=deepMerge.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.applyDefault = applyDefault;\nconst deepMerge_1 = require(\"./deepMerge\");\n/**\n * Pure function - doesn't mutate either parameter!\n * Uses the default options and overrides with the options provided by the user\n * @param defaultOptions the defaults\n * @param userOptions the user opts\n * @returns the options with defaults\n */\nfunction applyDefault(defaultOptions, userOptions) {\n // clone defaults\n const options = structuredClone(defaultOptions);\n if (userOptions == null) {\n return options;\n }\n // For avoiding the type error\n // `This expression is not callable. Type 'unknown' has no call signatures.ts(2349)`\n options.forEach((opt, i) => {\n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n if (userOptions[i] !== undefined) {\n const userOpt = userOptions[i];\n if ((0, deepMerge_1.isObjectNotArray)(userOpt) && (0, deepMerge_1.isObjectNotArray)(opt)) {\n options[i] = (0, deepMerge_1.deepMerge)(opt, userOpt);\n }\n else {\n options[i] = userOpt;\n }\n }\n });\n return options;\n}\n//# sourceMappingURL=applyDefault.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parserSeemsToBeTSESLint = parserSeemsToBeTSESLint;\nfunction parserSeemsToBeTSESLint(parser) {\n return !!parser && /(?:typescript-eslint|\\.\\.)[\\w/\\\\]*parser/.test(parser);\n}\n//# sourceMappingURL=parserSeemsToBeTSESLint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParserServices = getParserServices;\nconst parserSeemsToBeTSESLint_1 = require(\"./parserSeemsToBeTSESLint\");\nconst ERROR_MESSAGE_REQUIRES_PARSER_SERVICES = \"You have used a rule which requires type information, but don't have parserOptions set to generate type information for this file. See https://tseslint.com/typed-linting for enabling linting with type information.\";\nconst ERROR_MESSAGE_UNKNOWN_PARSER = 'Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward \"parserOptions.project\" to @typescript-eslint/parser.';\nfunction getParserServices(context, allowWithoutFullTypeInformation = false) {\n const parser = \n // eslint-disable-next-line @typescript-eslint/no-deprecated -- For compatibility with ESLint 8\n context.parserPath || context.languageOptions.parser?.meta?.name;\n // This check is unnecessary if the user is using the latest version of our parser.\n //\n // However the world isn't perfect:\n // - Users often use old parser versions.\n // Old versions of the parser would not return any parserServices unless parserOptions.project was set.\n // - Users sometimes use parsers that aren't @typescript-eslint/parser\n // Other parsers won't return the parser services we expect (if they return any at all).\n //\n // This check allows us to handle bad user setups whilst providing a nice user-facing\n // error message explaining the problem.\n if (context.sourceCode.parserServices?.esTreeNodeToTSNodeMap == null ||\n context.sourceCode.parserServices.tsNodeToESTreeNodeMap == null) {\n throwError(parser);\n }\n // if a rule requires full type information, then hard fail if it doesn't exist\n // this forces the user to supply parserOptions.project\n if (context.sourceCode.parserServices.program == null &&\n !allowWithoutFullTypeInformation) {\n throwError(parser);\n }\n return context.sourceCode.parserServices;\n}\n/* eslint-enable @typescript-eslint/unified-signatures */\nfunction throwError(parser) {\n const messages = [\n ERROR_MESSAGE_REQUIRES_PARSER_SERVICES,\n `Parser: ${parser || '(unknown)'}`,\n !(0, parserSeemsToBeTSESLint_1.parserSeemsToBeTSESLint)(parser) && ERROR_MESSAGE_UNKNOWN_PARSER,\n ].filter(Boolean);\n throw new Error(messages.join('\\n'));\n}\n//# sourceMappingURL=getParserServices.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=InferTypesFromRule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NullThrowsReasons = void 0;\nexports.nullThrows = nullThrows;\n/**\n * A set of common reasons for calling nullThrows\n */\nexports.NullThrowsReasons = {\n MissingParent: 'Expected node to have a parent.',\n MissingToken: (token, thing) => `Expected to find a ${token} for the ${thing}.`,\n};\n/**\n * Assert that a value must not be null or undefined.\n * This is a nice explicit alternative to the non-null assertion operator.\n */\nfunction nullThrows(value, message) {\n if (value == null) {\n throw new Error(`Non-null Assertion Failed: ${message}`);\n }\n return value;\n}\n//# sourceMappingURL=nullThrows.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RuleCreator = RuleCreator;\nconst applyDefault_1 = require(\"./applyDefault\");\n/**\n * Creates reusable function to create rules with default options and docs URLs.\n *\n * @param urlCreator Creates a documentation URL for a given rule name.\n * @returns Function to create a rule with the docs URL format.\n */\nfunction RuleCreator(urlCreator) {\n // This function will get much easier to call when this is merged https://github.com/Microsoft/TypeScript/pull/26349\n // TODO - when the above PR lands; add type checking for the context.report `data` property\n return function createNamedRule({ meta, name, ...rule }) {\n const ruleWithDocs = createRule({\n meta: {\n ...meta,\n docs: {\n ...meta.docs,\n url: urlCreator(name),\n },\n },\n name,\n ...rule,\n });\n return ruleWithDocs;\n };\n}\nfunction createRule({ create, \n// Keep accepting deprecated defaultOptions for backward compatibility.\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ndefaultOptions, meta, name, }) {\n const resolvedDefaultOptions = (meta.defaultOptions ??\n defaultOptions ??\n []);\n return {\n create(context) {\n const optionsWithDefault = (0, applyDefault_1.applyDefault)(resolvedDefaultOptions, context.options);\n return create(context, optionsWithDefault);\n },\n defaultOptions,\n meta,\n name,\n };\n}\n/**\n * Creates a well-typed TSESLint custom ESLint rule without a docs URL.\n *\n * @returns Well-typed TSESLint custom ESLint rule.\n * @remarks It is generally better to provide a docs URL function to RuleCreator.\n */\nRuleCreator.withoutDocs = function withoutDocs(args) {\n return createRule(args);\n};\n//# sourceMappingURL=RuleCreator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./applyDefault\"), exports);\n__exportStar(require(\"./deepMerge\"), exports);\n__exportStar(require(\"./getParserServices\"), exports);\n__exportStar(require(\"./InferTypesFromRule\"), exports);\n__exportStar(require(\"./nullThrows\"), exports);\n__exportStar(require(\"./RuleCreator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n/**********************************************\n * DO NOT MODIFY THIS FILE MANUALLY *\n * *\n * THIS FILE HAS BEEN COPIED FROM ast-spec. *\n * ANY CHANGES WILL BE LOST ON THE NEXT BUILD *\n * *\n * MAKE CHANGES TO ast-spec AND THEN RUN *\n * pnpm run build *\n **********************************************/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\nvar AST_NODE_TYPES;\n(function (AST_NODE_TYPES) {\n AST_NODE_TYPES[\"AccessorProperty\"] = \"AccessorProperty\";\n AST_NODE_TYPES[\"ArrayExpression\"] = \"ArrayExpression\";\n AST_NODE_TYPES[\"ArrayPattern\"] = \"ArrayPattern\";\n AST_NODE_TYPES[\"ArrowFunctionExpression\"] = \"ArrowFunctionExpression\";\n AST_NODE_TYPES[\"AssignmentExpression\"] = \"AssignmentExpression\";\n AST_NODE_TYPES[\"AssignmentPattern\"] = \"AssignmentPattern\";\n AST_NODE_TYPES[\"AwaitExpression\"] = \"AwaitExpression\";\n AST_NODE_TYPES[\"BinaryExpression\"] = \"BinaryExpression\";\n AST_NODE_TYPES[\"BlockStatement\"] = \"BlockStatement\";\n AST_NODE_TYPES[\"BreakStatement\"] = \"BreakStatement\";\n AST_NODE_TYPES[\"CallExpression\"] = \"CallExpression\";\n AST_NODE_TYPES[\"CatchClause\"] = \"CatchClause\";\n AST_NODE_TYPES[\"ChainExpression\"] = \"ChainExpression\";\n AST_NODE_TYPES[\"ClassBody\"] = \"ClassBody\";\n AST_NODE_TYPES[\"ClassDeclaration\"] = \"ClassDeclaration\";\n AST_NODE_TYPES[\"ClassExpression\"] = \"ClassExpression\";\n AST_NODE_TYPES[\"ConditionalExpression\"] = \"ConditionalExpression\";\n AST_NODE_TYPES[\"ContinueStatement\"] = \"ContinueStatement\";\n AST_NODE_TYPES[\"DebuggerStatement\"] = \"DebuggerStatement\";\n AST_NODE_TYPES[\"Decorator\"] = \"Decorator\";\n AST_NODE_TYPES[\"DoWhileStatement\"] = \"DoWhileStatement\";\n AST_NODE_TYPES[\"EmptyStatement\"] = \"EmptyStatement\";\n AST_NODE_TYPES[\"ExportAllDeclaration\"] = \"ExportAllDeclaration\";\n AST_NODE_TYPES[\"ExportDefaultDeclaration\"] = \"ExportDefaultDeclaration\";\n AST_NODE_TYPES[\"ExportNamedDeclaration\"] = \"ExportNamedDeclaration\";\n AST_NODE_TYPES[\"ExportSpecifier\"] = \"ExportSpecifier\";\n AST_NODE_TYPES[\"ExpressionStatement\"] = \"ExpressionStatement\";\n AST_NODE_TYPES[\"ForInStatement\"] = \"ForInStatement\";\n AST_NODE_TYPES[\"ForOfStatement\"] = \"ForOfStatement\";\n AST_NODE_TYPES[\"ForStatement\"] = \"ForStatement\";\n AST_NODE_TYPES[\"FunctionDeclaration\"] = \"FunctionDeclaration\";\n AST_NODE_TYPES[\"FunctionExpression\"] = \"FunctionExpression\";\n AST_NODE_TYPES[\"Identifier\"] = \"Identifier\";\n AST_NODE_TYPES[\"IfStatement\"] = \"IfStatement\";\n AST_NODE_TYPES[\"ImportAttribute\"] = \"ImportAttribute\";\n AST_NODE_TYPES[\"ImportDeclaration\"] = \"ImportDeclaration\";\n AST_NODE_TYPES[\"ImportDefaultSpecifier\"] = \"ImportDefaultSpecifier\";\n AST_NODE_TYPES[\"ImportExpression\"] = \"ImportExpression\";\n AST_NODE_TYPES[\"ImportNamespaceSpecifier\"] = \"ImportNamespaceSpecifier\";\n AST_NODE_TYPES[\"ImportSpecifier\"] = \"ImportSpecifier\";\n AST_NODE_TYPES[\"JSXAttribute\"] = \"JSXAttribute\";\n AST_NODE_TYPES[\"JSXClosingElement\"] = \"JSXClosingElement\";\n AST_NODE_TYPES[\"JSXClosingFragment\"] = \"JSXClosingFragment\";\n AST_NODE_TYPES[\"JSXElement\"] = \"JSXElement\";\n AST_NODE_TYPES[\"JSXEmptyExpression\"] = \"JSXEmptyExpression\";\n AST_NODE_TYPES[\"JSXExpressionContainer\"] = \"JSXExpressionContainer\";\n AST_NODE_TYPES[\"JSXFragment\"] = \"JSXFragment\";\n AST_NODE_TYPES[\"JSXIdentifier\"] = \"JSXIdentifier\";\n AST_NODE_TYPES[\"JSXMemberExpression\"] = \"JSXMemberExpression\";\n AST_NODE_TYPES[\"JSXNamespacedName\"] = \"JSXNamespacedName\";\n AST_NODE_TYPES[\"JSXOpeningElement\"] = \"JSXOpeningElement\";\n AST_NODE_TYPES[\"JSXOpeningFragment\"] = \"JSXOpeningFragment\";\n AST_NODE_TYPES[\"JSXSpreadAttribute\"] = \"JSXSpreadAttribute\";\n AST_NODE_TYPES[\"JSXSpreadChild\"] = \"JSXSpreadChild\";\n AST_NODE_TYPES[\"JSXText\"] = \"JSXText\";\n AST_NODE_TYPES[\"LabeledStatement\"] = \"LabeledStatement\";\n AST_NODE_TYPES[\"Literal\"] = \"Literal\";\n AST_NODE_TYPES[\"LogicalExpression\"] = \"LogicalExpression\";\n AST_NODE_TYPES[\"MemberExpression\"] = \"MemberExpression\";\n AST_NODE_TYPES[\"MetaProperty\"] = \"MetaProperty\";\n AST_NODE_TYPES[\"MethodDefinition\"] = \"MethodDefinition\";\n AST_NODE_TYPES[\"NewExpression\"] = \"NewExpression\";\n AST_NODE_TYPES[\"ObjectExpression\"] = \"ObjectExpression\";\n AST_NODE_TYPES[\"ObjectPattern\"] = \"ObjectPattern\";\n AST_NODE_TYPES[\"PrivateIdentifier\"] = \"PrivateIdentifier\";\n AST_NODE_TYPES[\"Program\"] = \"Program\";\n AST_NODE_TYPES[\"Property\"] = \"Property\";\n AST_NODE_TYPES[\"PropertyDefinition\"] = \"PropertyDefinition\";\n AST_NODE_TYPES[\"RestElement\"] = \"RestElement\";\n AST_NODE_TYPES[\"ReturnStatement\"] = \"ReturnStatement\";\n AST_NODE_TYPES[\"SequenceExpression\"] = \"SequenceExpression\";\n AST_NODE_TYPES[\"SpreadElement\"] = \"SpreadElement\";\n AST_NODE_TYPES[\"StaticBlock\"] = \"StaticBlock\";\n AST_NODE_TYPES[\"Super\"] = \"Super\";\n AST_NODE_TYPES[\"SwitchCase\"] = \"SwitchCase\";\n AST_NODE_TYPES[\"SwitchStatement\"] = \"SwitchStatement\";\n AST_NODE_TYPES[\"TaggedTemplateExpression\"] = \"TaggedTemplateExpression\";\n AST_NODE_TYPES[\"TemplateElement\"] = \"TemplateElement\";\n AST_NODE_TYPES[\"TemplateLiteral\"] = \"TemplateLiteral\";\n AST_NODE_TYPES[\"ThisExpression\"] = \"ThisExpression\";\n AST_NODE_TYPES[\"ThrowStatement\"] = \"ThrowStatement\";\n AST_NODE_TYPES[\"TryStatement\"] = \"TryStatement\";\n AST_NODE_TYPES[\"UnaryExpression\"] = \"UnaryExpression\";\n AST_NODE_TYPES[\"UpdateExpression\"] = \"UpdateExpression\";\n AST_NODE_TYPES[\"VariableDeclaration\"] = \"VariableDeclaration\";\n AST_NODE_TYPES[\"VariableDeclarator\"] = \"VariableDeclarator\";\n AST_NODE_TYPES[\"WhileStatement\"] = \"WhileStatement\";\n AST_NODE_TYPES[\"WithStatement\"] = \"WithStatement\";\n AST_NODE_TYPES[\"YieldExpression\"] = \"YieldExpression\";\n AST_NODE_TYPES[\"TSAbstractAccessorProperty\"] = \"TSAbstractAccessorProperty\";\n AST_NODE_TYPES[\"TSAbstractKeyword\"] = \"TSAbstractKeyword\";\n AST_NODE_TYPES[\"TSAbstractMethodDefinition\"] = \"TSAbstractMethodDefinition\";\n AST_NODE_TYPES[\"TSAbstractPropertyDefinition\"] = \"TSAbstractPropertyDefinition\";\n AST_NODE_TYPES[\"TSAnyKeyword\"] = \"TSAnyKeyword\";\n AST_NODE_TYPES[\"TSArrayType\"] = \"TSArrayType\";\n AST_NODE_TYPES[\"TSAsExpression\"] = \"TSAsExpression\";\n AST_NODE_TYPES[\"TSAsyncKeyword\"] = \"TSAsyncKeyword\";\n AST_NODE_TYPES[\"TSBigIntKeyword\"] = \"TSBigIntKeyword\";\n AST_NODE_TYPES[\"TSBooleanKeyword\"] = \"TSBooleanKeyword\";\n AST_NODE_TYPES[\"TSCallSignatureDeclaration\"] = \"TSCallSignatureDeclaration\";\n AST_NODE_TYPES[\"TSClassImplements\"] = \"TSClassImplements\";\n AST_NODE_TYPES[\"TSConditionalType\"] = \"TSConditionalType\";\n AST_NODE_TYPES[\"TSConstructorType\"] = \"TSConstructorType\";\n AST_NODE_TYPES[\"TSConstructSignatureDeclaration\"] = \"TSConstructSignatureDeclaration\";\n AST_NODE_TYPES[\"TSDeclareFunction\"] = \"TSDeclareFunction\";\n AST_NODE_TYPES[\"TSDeclareKeyword\"] = \"TSDeclareKeyword\";\n AST_NODE_TYPES[\"TSEmptyBodyFunctionExpression\"] = \"TSEmptyBodyFunctionExpression\";\n AST_NODE_TYPES[\"TSEnumBody\"] = \"TSEnumBody\";\n AST_NODE_TYPES[\"TSEnumDeclaration\"] = \"TSEnumDeclaration\";\n AST_NODE_TYPES[\"TSEnumMember\"] = \"TSEnumMember\";\n AST_NODE_TYPES[\"TSExportAssignment\"] = \"TSExportAssignment\";\n AST_NODE_TYPES[\"TSExportKeyword\"] = \"TSExportKeyword\";\n AST_NODE_TYPES[\"TSExternalModuleReference\"] = \"TSExternalModuleReference\";\n AST_NODE_TYPES[\"TSFunctionType\"] = \"TSFunctionType\";\n AST_NODE_TYPES[\"TSImportEqualsDeclaration\"] = \"TSImportEqualsDeclaration\";\n AST_NODE_TYPES[\"TSImportType\"] = \"TSImportType\";\n AST_NODE_TYPES[\"TSIndexedAccessType\"] = \"TSIndexedAccessType\";\n AST_NODE_TYPES[\"TSIndexSignature\"] = \"TSIndexSignature\";\n AST_NODE_TYPES[\"TSInferType\"] = \"TSInferType\";\n AST_NODE_TYPES[\"TSInstantiationExpression\"] = \"TSInstantiationExpression\";\n AST_NODE_TYPES[\"TSInterfaceBody\"] = \"TSInterfaceBody\";\n AST_NODE_TYPES[\"TSInterfaceDeclaration\"] = \"TSInterfaceDeclaration\";\n AST_NODE_TYPES[\"TSInterfaceHeritage\"] = \"TSInterfaceHeritage\";\n AST_NODE_TYPES[\"TSIntersectionType\"] = \"TSIntersectionType\";\n AST_NODE_TYPES[\"TSIntrinsicKeyword\"] = \"TSIntrinsicKeyword\";\n AST_NODE_TYPES[\"TSLiteralType\"] = \"TSLiteralType\";\n AST_NODE_TYPES[\"TSMappedType\"] = \"TSMappedType\";\n AST_NODE_TYPES[\"TSMethodSignature\"] = \"TSMethodSignature\";\n AST_NODE_TYPES[\"TSModuleBlock\"] = \"TSModuleBlock\";\n AST_NODE_TYPES[\"TSModuleDeclaration\"] = \"TSModuleDeclaration\";\n AST_NODE_TYPES[\"TSNamedTupleMember\"] = \"TSNamedTupleMember\";\n AST_NODE_TYPES[\"TSNamespaceExportDeclaration\"] = \"TSNamespaceExportDeclaration\";\n AST_NODE_TYPES[\"TSNeverKeyword\"] = \"TSNeverKeyword\";\n AST_NODE_TYPES[\"TSNonNullExpression\"] = \"TSNonNullExpression\";\n AST_NODE_TYPES[\"TSNullKeyword\"] = \"TSNullKeyword\";\n AST_NODE_TYPES[\"TSNumberKeyword\"] = \"TSNumberKeyword\";\n AST_NODE_TYPES[\"TSObjectKeyword\"] = \"TSObjectKeyword\";\n AST_NODE_TYPES[\"TSOptionalType\"] = \"TSOptionalType\";\n AST_NODE_TYPES[\"TSParameterProperty\"] = \"TSParameterProperty\";\n AST_NODE_TYPES[\"TSPrivateKeyword\"] = \"TSPrivateKeyword\";\n AST_NODE_TYPES[\"TSPropertySignature\"] = \"TSPropertySignature\";\n AST_NODE_TYPES[\"TSProtectedKeyword\"] = \"TSProtectedKeyword\";\n AST_NODE_TYPES[\"TSPublicKeyword\"] = \"TSPublicKeyword\";\n AST_NODE_TYPES[\"TSQualifiedName\"] = \"TSQualifiedName\";\n AST_NODE_TYPES[\"TSReadonlyKeyword\"] = \"TSReadonlyKeyword\";\n AST_NODE_TYPES[\"TSRestType\"] = \"TSRestType\";\n AST_NODE_TYPES[\"TSSatisfiesExpression\"] = \"TSSatisfiesExpression\";\n AST_NODE_TYPES[\"TSStaticKeyword\"] = \"TSStaticKeyword\";\n AST_NODE_TYPES[\"TSStringKeyword\"] = \"TSStringKeyword\";\n AST_NODE_TYPES[\"TSSymbolKeyword\"] = \"TSSymbolKeyword\";\n AST_NODE_TYPES[\"TSTemplateLiteralType\"] = \"TSTemplateLiteralType\";\n AST_NODE_TYPES[\"TSThisType\"] = \"TSThisType\";\n AST_NODE_TYPES[\"TSTupleType\"] = \"TSTupleType\";\n AST_NODE_TYPES[\"TSTypeAliasDeclaration\"] = \"TSTypeAliasDeclaration\";\n AST_NODE_TYPES[\"TSTypeAnnotation\"] = \"TSTypeAnnotation\";\n AST_NODE_TYPES[\"TSTypeAssertion\"] = \"TSTypeAssertion\";\n AST_NODE_TYPES[\"TSTypeLiteral\"] = \"TSTypeLiteral\";\n AST_NODE_TYPES[\"TSTypeOperator\"] = \"TSTypeOperator\";\n AST_NODE_TYPES[\"TSTypeParameter\"] = \"TSTypeParameter\";\n AST_NODE_TYPES[\"TSTypeParameterDeclaration\"] = \"TSTypeParameterDeclaration\";\n AST_NODE_TYPES[\"TSTypeParameterInstantiation\"] = \"TSTypeParameterInstantiation\";\n AST_NODE_TYPES[\"TSTypePredicate\"] = \"TSTypePredicate\";\n AST_NODE_TYPES[\"TSTypeQuery\"] = \"TSTypeQuery\";\n AST_NODE_TYPES[\"TSTypeReference\"] = \"TSTypeReference\";\n AST_NODE_TYPES[\"TSUndefinedKeyword\"] = \"TSUndefinedKeyword\";\n AST_NODE_TYPES[\"TSUnionType\"] = \"TSUnionType\";\n AST_NODE_TYPES[\"TSUnknownKeyword\"] = \"TSUnknownKeyword\";\n AST_NODE_TYPES[\"TSVoidKeyword\"] = \"TSVoidKeyword\";\n})(AST_NODE_TYPES || (exports.AST_NODE_TYPES = AST_NODE_TYPES = {}));\nvar AST_TOKEN_TYPES;\n(function (AST_TOKEN_TYPES) {\n AST_TOKEN_TYPES[\"Boolean\"] = \"Boolean\";\n AST_TOKEN_TYPES[\"Identifier\"] = \"Identifier\";\n AST_TOKEN_TYPES[\"JSXIdentifier\"] = \"JSXIdentifier\";\n AST_TOKEN_TYPES[\"PrivateIdentifier\"] = \"PrivateIdentifier\";\n AST_TOKEN_TYPES[\"JSXText\"] = \"JSXText\";\n AST_TOKEN_TYPES[\"Keyword\"] = \"Keyword\";\n AST_TOKEN_TYPES[\"Null\"] = \"Null\";\n AST_TOKEN_TYPES[\"Numeric\"] = \"Numeric\";\n AST_TOKEN_TYPES[\"Punctuator\"] = \"Punctuator\";\n AST_TOKEN_TYPES[\"RegularExpression\"] = \"RegularExpression\";\n AST_TOKEN_TYPES[\"String\"] = \"String\";\n AST_TOKEN_TYPES[\"Template\"] = \"Template\";\n AST_TOKEN_TYPES[\"Block\"] = \"Block\";\n AST_TOKEN_TYPES[\"Line\"] = \"Line\";\n})(AST_TOKEN_TYPES || (exports.AST_TOKEN_TYPES = AST_TOKEN_TYPES = {}));\n//# sourceMappingURL=ast-spec.js.map","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=lib.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=parser-options.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSESTree = void 0;\nexports.TSESTree = __importStar(require(\"./generated/ast-spec\"));\n//# sourceMappingURL=ts-estree.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\nvar ast_spec_1 = require(\"./generated/ast-spec\");\nObject.defineProperty(exports, \"AST_NODE_TYPES\", { enumerable: true, get: function () { return ast_spec_1.AST_NODE_TYPES; } });\nObject.defineProperty(exports, \"AST_TOKEN_TYPES\", { enumerable: true, get: function () { return ast_spec_1.AST_TOKEN_TYPES; } });\n__exportStar(require(\"./lib\"), exports);\n__exportStar(require(\"./parser-options\"), exports);\n__exportStar(require(\"./ts-estree\"), exports);\n//# sourceMappingURL=index.js.map","// Same narrow-import rationale as `no-raw-process-env.ts` -- see its header.\nimport { RuleCreator } from \"@typescript-eslint/utils/eslint-utils\"\nimport { AST_NODE_TYPES } from \"@typescript-eslint/types\"\nimport { globToRegExp } from \"./glob.js\"\n\nconst createRule = RuleCreator(\n (name) => `https://github.com/maverickcer/env-cap#eslint-plugin-${name}`,\n)\n\nexport interface RuleOptions {\n /** Glob-array of files this rule doesn't apply to -- a project's own\n * executable entry points (a CLI, a script) that legitimately construct\n * the concrete filesystem adapter. Empty by default -- populate it\n * explicitly; the rule never guesses at what counts as an executable\n * capability boundary. */\n allow?: string[]\n}\n\n/** `\"node:fs\"`, `\"fs\"`, and their `/promises` subpaths -- every specifier that resolves to Node's filesystem module. */\nconst FS_SPECIFIER = /^(node:)?fs(\\/promises)?$/\n\n/** The specifier string if it names Node's filesystem module, else `undefined`. */\nfunction fsSpecifier(source: unknown): string | undefined {\n // `source` is always an AST literal's `.value`. The `typeof` guard is a\n // type-narrowing convenience, not a behavioral one: no non-string literal\n // value (number/boolean/null/bigint/RegExp) stringifies to `fs`,\n // `node:fs`, or their `/promises` forms, so `FS_SPECIFIER.test()` already\n // rejects every one of them -- the mutant dropping this guard is\n // equivalent. Same finding as `no-raw-process-env.ts`'s narrowing checks.\n // Stryker disable next-line ConditionalExpression\n if (typeof source !== \"string\") return undefined\n if (!FS_SPECIFIER.test(source)) return undefined\n return source\n}\n\n/**\n * Flags any `import`/`require`/dynamic `import()` of `node:fs` in library\n * code, so a library surface acquires its filesystem capability from the\n * caller instead of reaching for `node:fs` itself (the same discipline\n * `repo-contract`'s ADR-0011 established for `child_process`/`process.env`).\n * See ADR 0040.\n *\n * @remarks\n * Nothing is exempt by default. env-cap's own config allows `src/cli/**`\n * (the executable capability boundary that builds the `node:fs/promises`\n * adapter); a consuming project sets its own `allow` for its own entry\n * points.\n */\nexport const noNodeFs = createRule<[RuleOptions], \"noNodeFs\">({\n name: \"no-node-fs\",\n meta: {\n type: \"problem\",\n docs: {\n description:\n \"Disallow importing node:fs in library code; accept a filesystem capability from the caller instead.\",\n },\n schema: [\n {\n type: \"object\",\n properties: { allow: { type: \"array\", items: { type: \"string\" } } },\n additionalProperties: false,\n },\n ],\n messages: {\n noNodeFs:\n \"Importing '{{specifier}}' makes this a filesystem-acquiring surface. Accept a filesystem capability as an argument instead, and let an executable entry point construct the node:fs adapter (see ADR 0040 / the README's ESLint section for the allow-list escape hatch).\",\n },\n },\n defaultOptions: [{ allow: [] }],\n create(context, [options]) {\n const filename = context.filename\n // `?? []` is unreachable through the public API -- `RuleCreator` always\n // deep-merges `context.options` onto `defaultOptions` first. Same\n // finding as `no-raw-process-env.ts`'s identical line.\n // Stryker disable next-line ArrayDeclaration\n const allowPatterns = options.allow ?? []\n if (allowPatterns.some((p) => globToRegExp(p).test(filename))) return {}\n\n return {\n ImportDeclaration(node) {\n const specifier = fsSpecifier(node.source.value)\n if (specifier !== undefined) {\n context.report({ node, messageId: \"noNodeFs\", data: { specifier } })\n }\n },\n ImportExpression(node) {\n // Narrowing guard so `.value` type-checks. Behaviorally equivalent to\n // omitting it -- a non-`Literal` source (`Identifier`, `TemplateLiteral`,\n // ...) has no `.value`, and `fsSpecifier(undefined)` is already\n // `undefined` -- so the mutant that drops it can't be killed. Same\n // finding as `no-raw-process-env.ts`'s disabled narrowing checks.\n // Stryker disable next-line ConditionalExpression\n if (node.source.type !== AST_NODE_TYPES.Literal) return\n const specifier = fsSpecifier(node.source.value)\n if (specifier !== undefined) {\n context.report({ node, messageId: \"noNodeFs\", data: { specifier } })\n }\n },\n CallExpression(node) {\n if (\n // Narrowing guard so `.name` type-checks; redundant at runtime with\n // the `.name !== \"require\"` clause (only an `Identifier` carries a\n // `.name`), so the mutant dropping it is equivalent -- same finding\n // as `no-raw-process-env.ts`'s disabled narrowing checks.\n // Stryker disable next-line ConditionalExpression\n node.callee.type !== AST_NODE_TYPES.Identifier ||\n node.callee.name !== \"require\" ||\n node.arguments[0]?.type !== AST_NODE_TYPES.Literal\n ) {\n return\n }\n const specifier = fsSpecifier(node.arguments[0].value)\n if (specifier !== undefined) {\n context.report({ node, messageId: \"noNodeFs\", data: { specifier } })\n }\n },\n }\n },\n})\n","/**\n * Converts one glob pattern to a RegExp. Handles `**` as \"any number of path\n * segments, including zero\" (so `**\\/node_modules/**` matches a root-level\n * `node_modules`, and `**\\/env.schema.ts` matches a root-level file, not just\n * nested ones) -- a plain `**` -> `.*` substitution gets both of those wrong.\n *\n * Used by no-raw-process-env.ts's `allow` option.\n *\n * Deliberately duplicated (not shared) with\n * src/build/glob.ts, which needs the exact same matching behavior for its\n * own schema-discovery walk -- keeps this eslint-plugin-only module free of\n * any import reaching outside src/eslint-plugin, so `src/eslint-plugin`\n * stays independently splittable into its own package with zero\n * source-level cross-folder dependency. Not re-exported from `./index.js` --\n * Private tier per VERSIONING.md.\n */\n/* jscpd:ignore-start -- deliberately duplicated across the build/ and eslint-plugin/ bundle boundaries; see this file's module doc */\nexport function globToRegExp(pattern: string): RegExp {\n let out = \"\"\n for (let i = 0; i < pattern.length; i++) {\n const char = pattern[i]\n if (char === \"*\" && pattern[i + 1] === \"*\") {\n const precededBySlashOrStart = i === 0 || pattern[i - 1] === \"/\"\n const followedBySlash = pattern[i + 2] === \"/\"\n if (precededBySlashOrStart && followedBySlash) {\n out += \"(?:.*/)?\"\n i += 2 // consume the second '*' and the following '/'\n } else {\n out += \".*\"\n i += 1 // consume the second '*'\n }\n } else if (char === \"*\") {\n out += \"[^/]*\"\n } else if (char === \"?\") {\n out += \"[^/]\"\n } else if (\".+^${}()|[]\\\\\".includes(char)) {\n out += `\\\\${char}`\n } else {\n out += char\n }\n }\n return new RegExp(`^${out}$`)\n}\n/* jscpd:ignore-end */\n","// Deliberately narrow imports -- `@typescript-eslint/utils`'s main entry\n// (`ESLintUtils`) re-exports its `ts-eslint` namespace, which includes\n// FlatESLint/ESLint wrapper classes that do a runtime `require(\"eslint\")`.\n// Bundled into an ESM output (this package ships dependency-free, so\n// `@typescript-eslint/utils` is inlined at build time -- see tsup.config.ts),\n// that `require()` has no real CJS `require` to call and throws \"Dynamic\n// require of eslint is not supported\". `RuleCreator` alone lives at the\n// `eslint-utils` subpath and `AST_NODE_TYPES` in `@typescript-eslint/types`,\n// neither of which touch `eslint` at all.\nimport { RuleCreator } from \"@typescript-eslint/utils/eslint-utils\"\nimport { AST_NODE_TYPES } from \"@typescript-eslint/types\"\nimport { globToRegExp } from \"./glob.js\"\n\nconst createRule = RuleCreator(\n (name) => `https://github.com/maverickcer/env-cap#eslint-plugin-${name}`,\n)\n\nexport interface RuleOptions {\n /** Glob-array of files this rule doesn't apply to, beyond the built-in\n * env.schema.ts allowance below -- for a consuming project's own\n * Node-only, build-time bootstrap code (see the README section this\n * rule ships with for the canonical worked example: a live-expiration\n * resolver authenticating to a secrets manager). Empty by default --\n * MUST be populated explicitly by the consuming project; env-cap never\n * guesses at what counts as \"trusted bootstrap code.\" */\n allow?: string[]\n}\n\nconst DEFAULT_SCHEMA_ALLOWLIST = [\"**/env.schema.ts\", \"**/env.schema.tsx\"]\n\n/**\n * Flags any direct `process.env.X`/`process.env[\"X\"]` read in application code, so environment\n * access always goes through a capability's own `createEnv()` contract instead.\n *\n * @remarks\n * `env.schema.ts`/`env.schema.tsx` files are always exempt (that's where `createEnv()` itself\n * reads `process.env`); the rule's `allow` option extends that exemption to a consuming\n * project's own trusted bootstrap code.\n */\nexport const noRawProcessEnv = createRule<[RuleOptions], \"noRawProcessEnv\">({\n name: \"no-raw-process-env\",\n meta: {\n type: \"problem\",\n docs: {\n description:\n \"Disallow direct process.env reads in application code; use a capability-owned createEnv() contract instead.\",\n },\n schema: [\n {\n type: \"object\",\n properties: { allow: { type: \"array\", items: { type: \"string\" } } },\n additionalProperties: false,\n },\n ],\n messages: {\n noRawProcessEnv:\n \"Direct process.env access bypasses this capability's owned contract. Read this value through createEnv()'s validated contract instead (see README's ESLint plugin section for the allow-list escape hatch for legitimate build-time bootstrap code).\",\n },\n },\n defaultOptions: [{ allow: [] }],\n create(context, [options]) {\n const filename = context.filename\n // `?? []` is provably unreachable through the public API: `@typescript-\n // eslint/utils`'s `RuleCreator` always deep-merges `context.options`\n // onto `defaultOptions` (`allow: []`) before `create()` sees them, so\n // `options.allow` is never actually `undefined` here -- see the test\n // file's own comment on the `options: [{}]` case for the same finding.\n // Stryker disable next-line ArrayDeclaration\n const allowPatterns = [...DEFAULT_SCHEMA_ALLOWLIST, ...(options.allow ?? [])]\n if (allowPatterns.some((p) => globToRegExp(p).test(filename))) return {}\n\n return {\n MemberExpression(node) {\n const obj = node.object\n if (\n obj.type === AST_NODE_TYPES.MemberExpression &&\n // These two `.type === AST_NODE_TYPES.Identifier` checks exist for\n // TS narrowing (so `.object.name`/`.property.name` below type-check\n // at all -- neither is a property every `Expression` union member\n // has) more than for a real runtime distinction: `.name` is\n // specifically an `Identifier`/`PrivateIdentifier`'s own field in\n // the ESTree shape, and no `Expression` node reachable at this\n // position through valid, parseable syntax (`MemberExpression`,\n // `CallExpression`, `ThisExpression`, `Super`, `TSNonNullExpression`,\n // a computed-access `Literal`, ...) carries a `.name` that could\n // coincidentally equal \"process\"/\"env\" while having some OTHER\n // `.type`. Tried constructing a counterexample via several exotic\n // node shapes (all of the above) before concluding there\n // genuinely isn't one for this AST position.\n // Stryker disable next-line ConditionalExpression\n obj.object.type === AST_NODE_TYPES.Identifier &&\n obj.object.name === \"process\" &&\n // Stryker disable next-line ConditionalExpression\n obj.property.type === AST_NODE_TYPES.Identifier &&\n obj.property.name === \"env\"\n ) {\n context.report({ node, messageId: \"noRawProcessEnv\" })\n }\n },\n }\n },\n})\n","import { noNodeFs } from \"./no-node-fs.js\"\nimport { noRawProcessEnv } from \"./no-raw-process-env.js\"\n\n/**\n * `env-cap/eslint-plugin` -- a flat-config-shaped plugin object\n * ({ rules: { ... } }), consumed as:\n *\n * import envCapPlugin from \"env-cap/eslint-plugin\";\n * export default [{ plugins: { \"env-cap\": envCapPlugin }, rules: { \"env-cap/no-raw-process-env\": \"error\" } }];\n *\n * A 4th public entry point alongside `.`, `./build`, `./helpers` -- see ADR 0017.\n */\nconst plugin = {\n /** Every rule this plugin ships, keyed by its flat-config rule name. */\n rules: {\n /** See {@link noRawProcessEnv}. */\n \"no-raw-process-env\": noRawProcessEnv,\n /** See {@link noNodeFs}. */\n \"no-node-fs\": noNodeFs,\n },\n}\nexport default plugin\nexport { noNodeFs, noRawProcessEnv }\n"]}
@@ -0,0 +1 @@
1
+ export * from "../.dts/eslint-plugin/index.js";
@@ -0,0 +1 @@
1
+ export * from "../.dts/eslint-plugin/index.js";
@@ -0,0 +1,5 @@
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function __require(){try{return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports}catch(e){throw mod=0,e}};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(__defProp(target,"default",{value:mod,enumerable:true}),mod));var require_deepMerge=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.isObjectNotArray=isObjectNotArray;exports.deepMerge=deepMerge;function isObjectNotArray(obj){return typeof obj==="object"&&obj!=null&&!Array.isArray(obj)}function deepMerge(first={},second={}){const keys=new Set([...Object.keys(first),...Object.keys(second)]);return Object.fromEntries([...keys].map(key=>{const firstHasKey=key in first;const secondHasKey=key in second;const firstValue=first[key];const secondValue=second[key];let value;if(firstHasKey&&secondHasKey){if(isObjectNotArray(firstValue)&&isObjectNotArray(secondValue)){value=deepMerge(firstValue,secondValue);}else {value=secondValue;}}else if(firstHasKey){value=firstValue;}else {value=secondValue;}return [key,value]}))}}});var require_applyDefault=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.applyDefault=applyDefault;var deepMerge_1=require_deepMerge();function applyDefault(defaultOptions,userOptions){const options=structuredClone(defaultOptions);if(userOptions==null){return options}options.forEach((opt,i)=>{if(userOptions[i]!==void 0){const userOpt=userOptions[i];if((0, deepMerge_1.isObjectNotArray)(userOpt)&&(0, deepMerge_1.isObjectNotArray)(opt)){options[i]=(0, deepMerge_1.deepMerge)(opt,userOpt);}else {options[i]=userOpt;}}});return options}}});var require_parserSeemsToBeTSESLint=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.parserSeemsToBeTSESLint=parserSeemsToBeTSESLint;function parserSeemsToBeTSESLint(parser){return !!parser&&/(?:typescript-eslint|\.\.)[\w/\\]*parser/.test(parser)}}});var require_getParserServices=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.getParserServices=getParserServices;var parserSeemsToBeTSESLint_1=require_parserSeemsToBeTSESLint();var ERROR_MESSAGE_REQUIRES_PARSER_SERVICES="You have used a rule which requires type information, but don't have parserOptions set to generate type information for this file. See https://tseslint.com/typed-linting for enabling linting with type information.";var ERROR_MESSAGE_UNKNOWN_PARSER='Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward "parserOptions.project" to @typescript-eslint/parser.';function getParserServices(context,allowWithoutFullTypeInformation=false){const parser=context.parserPath||context.languageOptions.parser?.meta?.name;if(context.sourceCode.parserServices?.esTreeNodeToTSNodeMap==null||context.sourceCode.parserServices.tsNodeToESTreeNodeMap==null){throwError(parser);}if(context.sourceCode.parserServices.program==null&&!allowWithoutFullTypeInformation){throwError(parser);}return context.sourceCode.parserServices}function throwError(parser){const messages=[ERROR_MESSAGE_REQUIRES_PARSER_SERVICES,`Parser: ${parser||"(unknown)"}`,!(0, parserSeemsToBeTSESLint_1.parserSeemsToBeTSESLint)(parser)&&ERROR_MESSAGE_UNKNOWN_PARSER].filter(Boolean);throw new Error(messages.join("\n"))}}});var require_InferTypesFromRule=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});}});var require_nullThrows=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.NullThrowsReasons=void 0;exports.nullThrows=nullThrows;exports.NullThrowsReasons={MissingParent:"Expected node to have a parent.",MissingToken:(token,thing)=>`Expected to find a ${token} for the ${thing}.`};function nullThrows(value,message){if(value==null){throw new Error(`Non-null Assertion Failed: ${message}`)}return value}}});var require_RuleCreator=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.RuleCreator=RuleCreator3;var applyDefault_1=require_applyDefault();function RuleCreator3(urlCreator){return function createNamedRule({meta,name,...rule}){const ruleWithDocs=createRule3({meta:{...meta,docs:{...meta.docs,url:urlCreator(name)}},name,...rule});return ruleWithDocs}}function createRule3({create,defaultOptions,meta,name}){const resolvedDefaultOptions=meta.defaultOptions??defaultOptions??[];return {create(context){const optionsWithDefault=(0, applyDefault_1.applyDefault)(resolvedDefaultOptions,context.options);return create(context,optionsWithDefault)},defaultOptions,meta,name}}RuleCreator3.withoutDocs=function withoutDocs(args){return createRule3(args)};}});var require_eslint_utils=__commonJS({"node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}};}Object.defineProperty(o,k2,desc);}):(function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k];}));var __exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p);};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(require_applyDefault(),exports);__exportStar(require_deepMerge(),exports);__exportStar(require_getParserServices(),exports);__exportStar(require_InferTypesFromRule(),exports);__exportStar(require_nullThrows(),exports);__exportStar(require_RuleCreator(),exports);}});var require_ast_spec=__commonJS({"node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var AST_NODE_TYPES3;(function(AST_NODE_TYPES4){AST_NODE_TYPES4["AccessorProperty"]="AccessorProperty";AST_NODE_TYPES4["ArrayExpression"]="ArrayExpression";AST_NODE_TYPES4["ArrayPattern"]="ArrayPattern";AST_NODE_TYPES4["ArrowFunctionExpression"]="ArrowFunctionExpression";AST_NODE_TYPES4["AssignmentExpression"]="AssignmentExpression";AST_NODE_TYPES4["AssignmentPattern"]="AssignmentPattern";AST_NODE_TYPES4["AwaitExpression"]="AwaitExpression";AST_NODE_TYPES4["BinaryExpression"]="BinaryExpression";AST_NODE_TYPES4["BlockStatement"]="BlockStatement";AST_NODE_TYPES4["BreakStatement"]="BreakStatement";AST_NODE_TYPES4["CallExpression"]="CallExpression";AST_NODE_TYPES4["CatchClause"]="CatchClause";AST_NODE_TYPES4["ChainExpression"]="ChainExpression";AST_NODE_TYPES4["ClassBody"]="ClassBody";AST_NODE_TYPES4["ClassDeclaration"]="ClassDeclaration";AST_NODE_TYPES4["ClassExpression"]="ClassExpression";AST_NODE_TYPES4["ConditionalExpression"]="ConditionalExpression";AST_NODE_TYPES4["ContinueStatement"]="ContinueStatement";AST_NODE_TYPES4["DebuggerStatement"]="DebuggerStatement";AST_NODE_TYPES4["Decorator"]="Decorator";AST_NODE_TYPES4["DoWhileStatement"]="DoWhileStatement";AST_NODE_TYPES4["EmptyStatement"]="EmptyStatement";AST_NODE_TYPES4["ExportAllDeclaration"]="ExportAllDeclaration";AST_NODE_TYPES4["ExportDefaultDeclaration"]="ExportDefaultDeclaration";AST_NODE_TYPES4["ExportNamedDeclaration"]="ExportNamedDeclaration";AST_NODE_TYPES4["ExportSpecifier"]="ExportSpecifier";AST_NODE_TYPES4["ExpressionStatement"]="ExpressionStatement";AST_NODE_TYPES4["ForInStatement"]="ForInStatement";AST_NODE_TYPES4["ForOfStatement"]="ForOfStatement";AST_NODE_TYPES4["ForStatement"]="ForStatement";AST_NODE_TYPES4["FunctionDeclaration"]="FunctionDeclaration";AST_NODE_TYPES4["FunctionExpression"]="FunctionExpression";AST_NODE_TYPES4["Identifier"]="Identifier";AST_NODE_TYPES4["IfStatement"]="IfStatement";AST_NODE_TYPES4["ImportAttribute"]="ImportAttribute";AST_NODE_TYPES4["ImportDeclaration"]="ImportDeclaration";AST_NODE_TYPES4["ImportDefaultSpecifier"]="ImportDefaultSpecifier";AST_NODE_TYPES4["ImportExpression"]="ImportExpression";AST_NODE_TYPES4["ImportNamespaceSpecifier"]="ImportNamespaceSpecifier";AST_NODE_TYPES4["ImportSpecifier"]="ImportSpecifier";AST_NODE_TYPES4["JSXAttribute"]="JSXAttribute";AST_NODE_TYPES4["JSXClosingElement"]="JSXClosingElement";AST_NODE_TYPES4["JSXClosingFragment"]="JSXClosingFragment";AST_NODE_TYPES4["JSXElement"]="JSXElement";AST_NODE_TYPES4["JSXEmptyExpression"]="JSXEmptyExpression";AST_NODE_TYPES4["JSXExpressionContainer"]="JSXExpressionContainer";AST_NODE_TYPES4["JSXFragment"]="JSXFragment";AST_NODE_TYPES4["JSXIdentifier"]="JSXIdentifier";AST_NODE_TYPES4["JSXMemberExpression"]="JSXMemberExpression";AST_NODE_TYPES4["JSXNamespacedName"]="JSXNamespacedName";AST_NODE_TYPES4["JSXOpeningElement"]="JSXOpeningElement";AST_NODE_TYPES4["JSXOpeningFragment"]="JSXOpeningFragment";AST_NODE_TYPES4["JSXSpreadAttribute"]="JSXSpreadAttribute";AST_NODE_TYPES4["JSXSpreadChild"]="JSXSpreadChild";AST_NODE_TYPES4["JSXText"]="JSXText";AST_NODE_TYPES4["LabeledStatement"]="LabeledStatement";AST_NODE_TYPES4["Literal"]="Literal";AST_NODE_TYPES4["LogicalExpression"]="LogicalExpression";AST_NODE_TYPES4["MemberExpression"]="MemberExpression";AST_NODE_TYPES4["MetaProperty"]="MetaProperty";AST_NODE_TYPES4["MethodDefinition"]="MethodDefinition";AST_NODE_TYPES4["NewExpression"]="NewExpression";AST_NODE_TYPES4["ObjectExpression"]="ObjectExpression";AST_NODE_TYPES4["ObjectPattern"]="ObjectPattern";AST_NODE_TYPES4["PrivateIdentifier"]="PrivateIdentifier";AST_NODE_TYPES4["Program"]="Program";AST_NODE_TYPES4["Property"]="Property";AST_NODE_TYPES4["PropertyDefinition"]="PropertyDefinition";AST_NODE_TYPES4["RestElement"]="RestElement";AST_NODE_TYPES4["ReturnStatement"]="ReturnStatement";AST_NODE_TYPES4["SequenceExpression"]="SequenceExpression";AST_NODE_TYPES4["SpreadElement"]="SpreadElement";AST_NODE_TYPES4["StaticBlock"]="StaticBlock";AST_NODE_TYPES4["Super"]="Super";AST_NODE_TYPES4["SwitchCase"]="SwitchCase";AST_NODE_TYPES4["SwitchStatement"]="SwitchStatement";AST_NODE_TYPES4["TaggedTemplateExpression"]="TaggedTemplateExpression";AST_NODE_TYPES4["TemplateElement"]="TemplateElement";AST_NODE_TYPES4["TemplateLiteral"]="TemplateLiteral";AST_NODE_TYPES4["ThisExpression"]="ThisExpression";AST_NODE_TYPES4["ThrowStatement"]="ThrowStatement";AST_NODE_TYPES4["TryStatement"]="TryStatement";AST_NODE_TYPES4["UnaryExpression"]="UnaryExpression";AST_NODE_TYPES4["UpdateExpression"]="UpdateExpression";AST_NODE_TYPES4["VariableDeclaration"]="VariableDeclaration";AST_NODE_TYPES4["VariableDeclarator"]="VariableDeclarator";AST_NODE_TYPES4["WhileStatement"]="WhileStatement";AST_NODE_TYPES4["WithStatement"]="WithStatement";AST_NODE_TYPES4["YieldExpression"]="YieldExpression";AST_NODE_TYPES4["TSAbstractAccessorProperty"]="TSAbstractAccessorProperty";AST_NODE_TYPES4["TSAbstractKeyword"]="TSAbstractKeyword";AST_NODE_TYPES4["TSAbstractMethodDefinition"]="TSAbstractMethodDefinition";AST_NODE_TYPES4["TSAbstractPropertyDefinition"]="TSAbstractPropertyDefinition";AST_NODE_TYPES4["TSAnyKeyword"]="TSAnyKeyword";AST_NODE_TYPES4["TSArrayType"]="TSArrayType";AST_NODE_TYPES4["TSAsExpression"]="TSAsExpression";AST_NODE_TYPES4["TSAsyncKeyword"]="TSAsyncKeyword";AST_NODE_TYPES4["TSBigIntKeyword"]="TSBigIntKeyword";AST_NODE_TYPES4["TSBooleanKeyword"]="TSBooleanKeyword";AST_NODE_TYPES4["TSCallSignatureDeclaration"]="TSCallSignatureDeclaration";AST_NODE_TYPES4["TSClassImplements"]="TSClassImplements";AST_NODE_TYPES4["TSConditionalType"]="TSConditionalType";AST_NODE_TYPES4["TSConstructorType"]="TSConstructorType";AST_NODE_TYPES4["TSConstructSignatureDeclaration"]="TSConstructSignatureDeclaration";AST_NODE_TYPES4["TSDeclareFunction"]="TSDeclareFunction";AST_NODE_TYPES4["TSDeclareKeyword"]="TSDeclareKeyword";AST_NODE_TYPES4["TSEmptyBodyFunctionExpression"]="TSEmptyBodyFunctionExpression";AST_NODE_TYPES4["TSEnumBody"]="TSEnumBody";AST_NODE_TYPES4["TSEnumDeclaration"]="TSEnumDeclaration";AST_NODE_TYPES4["TSEnumMember"]="TSEnumMember";AST_NODE_TYPES4["TSExportAssignment"]="TSExportAssignment";AST_NODE_TYPES4["TSExportKeyword"]="TSExportKeyword";AST_NODE_TYPES4["TSExternalModuleReference"]="TSExternalModuleReference";AST_NODE_TYPES4["TSFunctionType"]="TSFunctionType";AST_NODE_TYPES4["TSImportEqualsDeclaration"]="TSImportEqualsDeclaration";AST_NODE_TYPES4["TSImportType"]="TSImportType";AST_NODE_TYPES4["TSIndexedAccessType"]="TSIndexedAccessType";AST_NODE_TYPES4["TSIndexSignature"]="TSIndexSignature";AST_NODE_TYPES4["TSInferType"]="TSInferType";AST_NODE_TYPES4["TSInstantiationExpression"]="TSInstantiationExpression";AST_NODE_TYPES4["TSInterfaceBody"]="TSInterfaceBody";AST_NODE_TYPES4["TSInterfaceDeclaration"]="TSInterfaceDeclaration";AST_NODE_TYPES4["TSInterfaceHeritage"]="TSInterfaceHeritage";AST_NODE_TYPES4["TSIntersectionType"]="TSIntersectionType";AST_NODE_TYPES4["TSIntrinsicKeyword"]="TSIntrinsicKeyword";AST_NODE_TYPES4["TSLiteralType"]="TSLiteralType";AST_NODE_TYPES4["TSMappedType"]="TSMappedType";AST_NODE_TYPES4["TSMethodSignature"]="TSMethodSignature";AST_NODE_TYPES4["TSModuleBlock"]="TSModuleBlock";AST_NODE_TYPES4["TSModuleDeclaration"]="TSModuleDeclaration";AST_NODE_TYPES4["TSNamedTupleMember"]="TSNamedTupleMember";AST_NODE_TYPES4["TSNamespaceExportDeclaration"]="TSNamespaceExportDeclaration";AST_NODE_TYPES4["TSNeverKeyword"]="TSNeverKeyword";AST_NODE_TYPES4["TSNonNullExpression"]="TSNonNullExpression";AST_NODE_TYPES4["TSNullKeyword"]="TSNullKeyword";AST_NODE_TYPES4["TSNumberKeyword"]="TSNumberKeyword";AST_NODE_TYPES4["TSObjectKeyword"]="TSObjectKeyword";AST_NODE_TYPES4["TSOptionalType"]="TSOptionalType";AST_NODE_TYPES4["TSParameterProperty"]="TSParameterProperty";AST_NODE_TYPES4["TSPrivateKeyword"]="TSPrivateKeyword";AST_NODE_TYPES4["TSPropertySignature"]="TSPropertySignature";AST_NODE_TYPES4["TSProtectedKeyword"]="TSProtectedKeyword";AST_NODE_TYPES4["TSPublicKeyword"]="TSPublicKeyword";AST_NODE_TYPES4["TSQualifiedName"]="TSQualifiedName";AST_NODE_TYPES4["TSReadonlyKeyword"]="TSReadonlyKeyword";AST_NODE_TYPES4["TSRestType"]="TSRestType";AST_NODE_TYPES4["TSSatisfiesExpression"]="TSSatisfiesExpression";AST_NODE_TYPES4["TSStaticKeyword"]="TSStaticKeyword";AST_NODE_TYPES4["TSStringKeyword"]="TSStringKeyword";AST_NODE_TYPES4["TSSymbolKeyword"]="TSSymbolKeyword";AST_NODE_TYPES4["TSTemplateLiteralType"]="TSTemplateLiteralType";AST_NODE_TYPES4["TSThisType"]="TSThisType";AST_NODE_TYPES4["TSTupleType"]="TSTupleType";AST_NODE_TYPES4["TSTypeAliasDeclaration"]="TSTypeAliasDeclaration";AST_NODE_TYPES4["TSTypeAnnotation"]="TSTypeAnnotation";AST_NODE_TYPES4["TSTypeAssertion"]="TSTypeAssertion";AST_NODE_TYPES4["TSTypeLiteral"]="TSTypeLiteral";AST_NODE_TYPES4["TSTypeOperator"]="TSTypeOperator";AST_NODE_TYPES4["TSTypeParameter"]="TSTypeParameter";AST_NODE_TYPES4["TSTypeParameterDeclaration"]="TSTypeParameterDeclaration";AST_NODE_TYPES4["TSTypeParameterInstantiation"]="TSTypeParameterInstantiation";AST_NODE_TYPES4["TSTypePredicate"]="TSTypePredicate";AST_NODE_TYPES4["TSTypeQuery"]="TSTypeQuery";AST_NODE_TYPES4["TSTypeReference"]="TSTypeReference";AST_NODE_TYPES4["TSUndefinedKeyword"]="TSUndefinedKeyword";AST_NODE_TYPES4["TSUnionType"]="TSUnionType";AST_NODE_TYPES4["TSUnknownKeyword"]="TSUnknownKeyword";AST_NODE_TYPES4["TSVoidKeyword"]="TSVoidKeyword";})(AST_NODE_TYPES3||(exports.AST_NODE_TYPES=AST_NODE_TYPES3={}));var AST_TOKEN_TYPES;(function(AST_TOKEN_TYPES2){AST_TOKEN_TYPES2["Boolean"]="Boolean";AST_TOKEN_TYPES2["Identifier"]="Identifier";AST_TOKEN_TYPES2["JSXIdentifier"]="JSXIdentifier";AST_TOKEN_TYPES2["PrivateIdentifier"]="PrivateIdentifier";AST_TOKEN_TYPES2["JSXText"]="JSXText";AST_TOKEN_TYPES2["Keyword"]="Keyword";AST_TOKEN_TYPES2["Null"]="Null";AST_TOKEN_TYPES2["Numeric"]="Numeric";AST_TOKEN_TYPES2["Punctuator"]="Punctuator";AST_TOKEN_TYPES2["RegularExpression"]="RegularExpression";AST_TOKEN_TYPES2["String"]="String";AST_TOKEN_TYPES2["Template"]="Template";AST_TOKEN_TYPES2["Block"]="Block";AST_TOKEN_TYPES2["Line"]="Line";})(AST_TOKEN_TYPES||(exports.AST_TOKEN_TYPES=AST_TOKEN_TYPES={}));}});var require_lib=__commonJS({"node_modules/@typescript-eslint/types/dist/lib.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});}});var require_parser_options=__commonJS({"node_modules/@typescript-eslint/types/dist/parser-options.js"(exports){Object.defineProperty(exports,"__esModule",{value:true});}});var require_ts_estree=__commonJS({"node_modules/@typescript-eslint/types/dist/ts-estree.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}};}Object.defineProperty(o,k2,desc);}):(function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k];}));var __setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v});}):function(o,v){o["default"]=v;});var __importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)if(Object.prototype.hasOwnProperty.call(o2,k))ar[ar.length]=k;return ar};return ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k=ownKeys(mod),i=0;i<k.length;i++)if(k[i]!=="default")__createBinding(result,mod,k[i]);}__setModuleDefault(result,mod);return result}})();Object.defineProperty(exports,"__esModule",{value:true});exports.TSESTree=void 0;exports.TSESTree=__importStar(require_ast_spec());}});var require_dist=__commonJS({"node_modules/@typescript-eslint/types/dist/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}};}Object.defineProperty(o,k2,desc);}):(function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k];}));var __exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p);};Object.defineProperty(exports,"__esModule",{value:true});exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var ast_spec_1=require_ast_spec();Object.defineProperty(exports,"AST_NODE_TYPES",{enumerable:true,get:function(){return ast_spec_1.AST_NODE_TYPES}});Object.defineProperty(exports,"AST_TOKEN_TYPES",{enumerable:true,get:function(){return ast_spec_1.AST_TOKEN_TYPES}});__exportStar(require_lib(),exports);__exportStar(require_parser_options(),exports);__exportStar(require_ts_estree(),exports);}});var import_eslint_utils=__toESM(require_eslint_utils());var import_types=__toESM(require_dist());function globToRegExp(pattern){let out="";for(let i=0;i<pattern.length;i++){const char=pattern[i];if(char==="*"&&pattern[i+1]==="*"){const precededBySlashOrStart=i===0||pattern[i-1]==="/";const followedBySlash=pattern[i+2]==="/";if(precededBySlashOrStart&&followedBySlash){out+="(?:.*/)?";i+=2;}else {out+=".*";i+=1;}}else if(char==="*"){out+="[^/]*";}else if(char==="?"){out+="[^/]";}else if(".+^${}()|[]\\".includes(char)){out+=`\\${char}`;}else {out+=char;}}return new RegExp(`^${out}$`)}var createRule=(0, import_eslint_utils.RuleCreator)(name=>`https://github.com/maverickcer/env-cap#eslint-plugin-${name}`);var FS_SPECIFIER=/^(node:)?fs(\/promises)?$/;function fsSpecifier(source){if(typeof source!=="string")return void 0;if(!FS_SPECIFIER.test(source))return void 0;return source}var noNodeFs=createRule({name:"no-node-fs",meta:{type:"problem",docs:{description:"Disallow importing node:fs in library code; accept a filesystem capability from the caller instead."},schema:[{type:"object",properties:{allow:{type:"array",items:{type:"string"}}},additionalProperties:false}],messages:{noNodeFs:"Importing '{{specifier}}' makes this a filesystem-acquiring surface. Accept a filesystem capability as an argument instead, and let an executable entry point construct the node:fs adapter (see ADR 0040 / the README's ESLint section for the allow-list escape hatch)."}},defaultOptions:[{allow:[]}],create(context,[options]){const filename=context.filename;const allowPatterns=options.allow??[];if(allowPatterns.some(p=>globToRegExp(p).test(filename)))return {};return {ImportDeclaration(node){const specifier=fsSpecifier(node.source.value);if(specifier!==void 0){context.report({node,messageId:"noNodeFs",data:{specifier}});}},ImportExpression(node){if(node.source.type!==import_types.AST_NODE_TYPES.Literal)return;const specifier=fsSpecifier(node.source.value);if(specifier!==void 0){context.report({node,messageId:"noNodeFs",data:{specifier}});}},CallExpression(node){if(node.callee.type!==import_types.AST_NODE_TYPES.Identifier||node.callee.name!=="require"||node.arguments[0]?.type!==import_types.AST_NODE_TYPES.Literal){return}const specifier=fsSpecifier(node.arguments[0].value);if(specifier!==void 0){context.report({node,messageId:"noNodeFs",data:{specifier}});}}}}});var import_eslint_utils2=__toESM(require_eslint_utils());var import_types2=__toESM(require_dist());var createRule2=(0, import_eslint_utils2.RuleCreator)(name=>`https://github.com/maverickcer/env-cap#eslint-plugin-${name}`);var DEFAULT_SCHEMA_ALLOWLIST=["**/env.schema.ts","**/env.schema.tsx"];var noRawProcessEnv=createRule2({name:"no-raw-process-env",meta:{type:"problem",docs:{description:"Disallow direct process.env reads in application code; use a capability-owned createEnv() contract instead."},schema:[{type:"object",properties:{allow:{type:"array",items:{type:"string"}}},additionalProperties:false}],messages:{noRawProcessEnv:"Direct process.env access bypasses this capability's owned contract. Read this value through createEnv()'s validated contract instead (see README's ESLint plugin section for the allow-list escape hatch for legitimate build-time bootstrap code)."}},defaultOptions:[{allow:[]}],create(context,[options]){const filename=context.filename;const allowPatterns=[...DEFAULT_SCHEMA_ALLOWLIST,...options.allow??[]];if(allowPatterns.some(p=>globToRegExp(p).test(filename)))return {};return {MemberExpression(node){const obj=node.object;if(obj.type===import_types2.AST_NODE_TYPES.MemberExpression&&obj.object.type===import_types2.AST_NODE_TYPES.Identifier&&obj.object.name==="process"&&obj.property.type===import_types2.AST_NODE_TYPES.Identifier&&obj.property.name==="env"){context.report({node,messageId:"noRawProcessEnv"});}}}}});var plugin={rules:{"no-raw-process-env":noRawProcessEnv,"no-node-fs":noNodeFs}};var eslint_plugin_default=plugin;
2
+
3
+ export { eslint_plugin_default as default, noNodeFs, noRawProcessEnv };
4
+ //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js","../../node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js","../../node_modules/@typescript-eslint/types/dist/generated/ast-spec.js","../../node_modules/@typescript-eslint/types/dist/lib.js","../../node_modules/@typescript-eslint/types/dist/parser-options.js","../../node_modules/@typescript-eslint/types/dist/ts-estree.js","../../node_modules/@typescript-eslint/types/dist/index.js","../../src/eslint-plugin/no-node-fs.ts","../../src/eslint-plugin/glob.ts","../../src/eslint-plugin/no-raw-process-env.ts","../../src/eslint-plugin/index.ts"],"names":["RuleCreator","createRule","exports","AST_NODE_TYPES","AST_TOKEN_TYPES","o","import_eslint_utils","import_types"],"mappings":"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","file":"index.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isObjectNotArray = isObjectNotArray;\nexports.deepMerge = deepMerge;\n/**\n * Check if the variable contains an object strictly rejecting arrays\n * @returns `true` if obj is an object\n */\nfunction isObjectNotArray(obj) {\n return typeof obj === 'object' && obj != null && !Array.isArray(obj);\n}\n/**\n * Pure function - doesn't mutate either parameter!\n * Merges two objects together deeply, overwriting the properties in first with the properties in second\n * @param first The first object\n * @param second The second object\n * @returns a new object\n */\nfunction deepMerge(first = {}, second = {}) {\n // get the unique set of keys across both objects\n const keys = new Set([...Object.keys(first), ...Object.keys(second)]);\n return Object.fromEntries([...keys].map(key => {\n const firstHasKey = key in first;\n const secondHasKey = key in second;\n const firstValue = first[key];\n const secondValue = second[key];\n let value;\n if (firstHasKey && secondHasKey) {\n if (isObjectNotArray(firstValue) && isObjectNotArray(secondValue)) {\n // object type\n value = deepMerge(firstValue, secondValue);\n }\n else {\n // value type\n value = secondValue;\n }\n }\n else if (firstHasKey) {\n value = firstValue;\n }\n else {\n value = secondValue;\n }\n return [key, value];\n }));\n}\n//# sourceMappingURL=deepMerge.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.applyDefault = applyDefault;\nconst deepMerge_1 = require(\"./deepMerge\");\n/**\n * Pure function - doesn't mutate either parameter!\n * Uses the default options and overrides with the options provided by the user\n * @param defaultOptions the defaults\n * @param userOptions the user opts\n * @returns the options with defaults\n */\nfunction applyDefault(defaultOptions, userOptions) {\n // clone defaults\n const options = structuredClone(defaultOptions);\n if (userOptions == null) {\n return options;\n }\n // For avoiding the type error\n // `This expression is not callable. Type 'unknown' has no call signatures.ts(2349)`\n options.forEach((opt, i) => {\n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n if (userOptions[i] !== undefined) {\n const userOpt = userOptions[i];\n if ((0, deepMerge_1.isObjectNotArray)(userOpt) && (0, deepMerge_1.isObjectNotArray)(opt)) {\n options[i] = (0, deepMerge_1.deepMerge)(opt, userOpt);\n }\n else {\n options[i] = userOpt;\n }\n }\n });\n return options;\n}\n//# sourceMappingURL=applyDefault.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parserSeemsToBeTSESLint = parserSeemsToBeTSESLint;\nfunction parserSeemsToBeTSESLint(parser) {\n return !!parser && /(?:typescript-eslint|\\.\\.)[\\w/\\\\]*parser/.test(parser);\n}\n//# sourceMappingURL=parserSeemsToBeTSESLint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParserServices = getParserServices;\nconst parserSeemsToBeTSESLint_1 = require(\"./parserSeemsToBeTSESLint\");\nconst ERROR_MESSAGE_REQUIRES_PARSER_SERVICES = \"You have used a rule which requires type information, but don't have parserOptions set to generate type information for this file. See https://tseslint.com/typed-linting for enabling linting with type information.\";\nconst ERROR_MESSAGE_UNKNOWN_PARSER = 'Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward \"parserOptions.project\" to @typescript-eslint/parser.';\nfunction getParserServices(context, allowWithoutFullTypeInformation = false) {\n const parser = \n // eslint-disable-next-line @typescript-eslint/no-deprecated -- For compatibility with ESLint 8\n context.parserPath || context.languageOptions.parser?.meta?.name;\n // This check is unnecessary if the user is using the latest version of our parser.\n //\n // However the world isn't perfect:\n // - Users often use old parser versions.\n // Old versions of the parser would not return any parserServices unless parserOptions.project was set.\n // - Users sometimes use parsers that aren't @typescript-eslint/parser\n // Other parsers won't return the parser services we expect (if they return any at all).\n //\n // This check allows us to handle bad user setups whilst providing a nice user-facing\n // error message explaining the problem.\n if (context.sourceCode.parserServices?.esTreeNodeToTSNodeMap == null ||\n context.sourceCode.parserServices.tsNodeToESTreeNodeMap == null) {\n throwError(parser);\n }\n // if a rule requires full type information, then hard fail if it doesn't exist\n // this forces the user to supply parserOptions.project\n if (context.sourceCode.parserServices.program == null &&\n !allowWithoutFullTypeInformation) {\n throwError(parser);\n }\n return context.sourceCode.parserServices;\n}\n/* eslint-enable @typescript-eslint/unified-signatures */\nfunction throwError(parser) {\n const messages = [\n ERROR_MESSAGE_REQUIRES_PARSER_SERVICES,\n `Parser: ${parser || '(unknown)'}`,\n !(0, parserSeemsToBeTSESLint_1.parserSeemsToBeTSESLint)(parser) && ERROR_MESSAGE_UNKNOWN_PARSER,\n ].filter(Boolean);\n throw new Error(messages.join('\\n'));\n}\n//# sourceMappingURL=getParserServices.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=InferTypesFromRule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NullThrowsReasons = void 0;\nexports.nullThrows = nullThrows;\n/**\n * A set of common reasons for calling nullThrows\n */\nexports.NullThrowsReasons = {\n MissingParent: 'Expected node to have a parent.',\n MissingToken: (token, thing) => `Expected to find a ${token} for the ${thing}.`,\n};\n/**\n * Assert that a value must not be null or undefined.\n * This is a nice explicit alternative to the non-null assertion operator.\n */\nfunction nullThrows(value, message) {\n if (value == null) {\n throw new Error(`Non-null Assertion Failed: ${message}`);\n }\n return value;\n}\n//# sourceMappingURL=nullThrows.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RuleCreator = RuleCreator;\nconst applyDefault_1 = require(\"./applyDefault\");\n/**\n * Creates reusable function to create rules with default options and docs URLs.\n *\n * @param urlCreator Creates a documentation URL for a given rule name.\n * @returns Function to create a rule with the docs URL format.\n */\nfunction RuleCreator(urlCreator) {\n // This function will get much easier to call when this is merged https://github.com/Microsoft/TypeScript/pull/26349\n // TODO - when the above PR lands; add type checking for the context.report `data` property\n return function createNamedRule({ meta, name, ...rule }) {\n const ruleWithDocs = createRule({\n meta: {\n ...meta,\n docs: {\n ...meta.docs,\n url: urlCreator(name),\n },\n },\n name,\n ...rule,\n });\n return ruleWithDocs;\n };\n}\nfunction createRule({ create, \n// Keep accepting deprecated defaultOptions for backward compatibility.\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ndefaultOptions, meta, name, }) {\n const resolvedDefaultOptions = (meta.defaultOptions ??\n defaultOptions ??\n []);\n return {\n create(context) {\n const optionsWithDefault = (0, applyDefault_1.applyDefault)(resolvedDefaultOptions, context.options);\n return create(context, optionsWithDefault);\n },\n defaultOptions,\n meta,\n name,\n };\n}\n/**\n * Creates a well-typed TSESLint custom ESLint rule without a docs URL.\n *\n * @returns Well-typed TSESLint custom ESLint rule.\n * @remarks It is generally better to provide a docs URL function to RuleCreator.\n */\nRuleCreator.withoutDocs = function withoutDocs(args) {\n return createRule(args);\n};\n//# sourceMappingURL=RuleCreator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./applyDefault\"), exports);\n__exportStar(require(\"./deepMerge\"), exports);\n__exportStar(require(\"./getParserServices\"), exports);\n__exportStar(require(\"./InferTypesFromRule\"), exports);\n__exportStar(require(\"./nullThrows\"), exports);\n__exportStar(require(\"./RuleCreator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n/**********************************************\n * DO NOT MODIFY THIS FILE MANUALLY *\n * *\n * THIS FILE HAS BEEN COPIED FROM ast-spec. *\n * ANY CHANGES WILL BE LOST ON THE NEXT BUILD *\n * *\n * MAKE CHANGES TO ast-spec AND THEN RUN *\n * pnpm run build *\n **********************************************/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\nvar AST_NODE_TYPES;\n(function (AST_NODE_TYPES) {\n AST_NODE_TYPES[\"AccessorProperty\"] = \"AccessorProperty\";\n AST_NODE_TYPES[\"ArrayExpression\"] = \"ArrayExpression\";\n AST_NODE_TYPES[\"ArrayPattern\"] = \"ArrayPattern\";\n AST_NODE_TYPES[\"ArrowFunctionExpression\"] = \"ArrowFunctionExpression\";\n AST_NODE_TYPES[\"AssignmentExpression\"] = \"AssignmentExpression\";\n AST_NODE_TYPES[\"AssignmentPattern\"] = \"AssignmentPattern\";\n AST_NODE_TYPES[\"AwaitExpression\"] = \"AwaitExpression\";\n AST_NODE_TYPES[\"BinaryExpression\"] = \"BinaryExpression\";\n AST_NODE_TYPES[\"BlockStatement\"] = \"BlockStatement\";\n AST_NODE_TYPES[\"BreakStatement\"] = \"BreakStatement\";\n AST_NODE_TYPES[\"CallExpression\"] = \"CallExpression\";\n AST_NODE_TYPES[\"CatchClause\"] = \"CatchClause\";\n AST_NODE_TYPES[\"ChainExpression\"] = \"ChainExpression\";\n AST_NODE_TYPES[\"ClassBody\"] = \"ClassBody\";\n AST_NODE_TYPES[\"ClassDeclaration\"] = \"ClassDeclaration\";\n AST_NODE_TYPES[\"ClassExpression\"] = \"ClassExpression\";\n AST_NODE_TYPES[\"ConditionalExpression\"] = \"ConditionalExpression\";\n AST_NODE_TYPES[\"ContinueStatement\"] = \"ContinueStatement\";\n AST_NODE_TYPES[\"DebuggerStatement\"] = \"DebuggerStatement\";\n AST_NODE_TYPES[\"Decorator\"] = \"Decorator\";\n AST_NODE_TYPES[\"DoWhileStatement\"] = \"DoWhileStatement\";\n AST_NODE_TYPES[\"EmptyStatement\"] = \"EmptyStatement\";\n AST_NODE_TYPES[\"ExportAllDeclaration\"] = \"ExportAllDeclaration\";\n AST_NODE_TYPES[\"ExportDefaultDeclaration\"] = \"ExportDefaultDeclaration\";\n AST_NODE_TYPES[\"ExportNamedDeclaration\"] = \"ExportNamedDeclaration\";\n AST_NODE_TYPES[\"ExportSpecifier\"] = \"ExportSpecifier\";\n AST_NODE_TYPES[\"ExpressionStatement\"] = \"ExpressionStatement\";\n AST_NODE_TYPES[\"ForInStatement\"] = \"ForInStatement\";\n AST_NODE_TYPES[\"ForOfStatement\"] = \"ForOfStatement\";\n AST_NODE_TYPES[\"ForStatement\"] = \"ForStatement\";\n AST_NODE_TYPES[\"FunctionDeclaration\"] = \"FunctionDeclaration\";\n AST_NODE_TYPES[\"FunctionExpression\"] = \"FunctionExpression\";\n AST_NODE_TYPES[\"Identifier\"] = \"Identifier\";\n AST_NODE_TYPES[\"IfStatement\"] = \"IfStatement\";\n AST_NODE_TYPES[\"ImportAttribute\"] = \"ImportAttribute\";\n AST_NODE_TYPES[\"ImportDeclaration\"] = \"ImportDeclaration\";\n AST_NODE_TYPES[\"ImportDefaultSpecifier\"] = \"ImportDefaultSpecifier\";\n AST_NODE_TYPES[\"ImportExpression\"] = \"ImportExpression\";\n AST_NODE_TYPES[\"ImportNamespaceSpecifier\"] = \"ImportNamespaceSpecifier\";\n AST_NODE_TYPES[\"ImportSpecifier\"] = \"ImportSpecifier\";\n AST_NODE_TYPES[\"JSXAttribute\"] = \"JSXAttribute\";\n AST_NODE_TYPES[\"JSXClosingElement\"] = \"JSXClosingElement\";\n AST_NODE_TYPES[\"JSXClosingFragment\"] = \"JSXClosingFragment\";\n AST_NODE_TYPES[\"JSXElement\"] = \"JSXElement\";\n AST_NODE_TYPES[\"JSXEmptyExpression\"] = \"JSXEmptyExpression\";\n AST_NODE_TYPES[\"JSXExpressionContainer\"] = \"JSXExpressionContainer\";\n AST_NODE_TYPES[\"JSXFragment\"] = \"JSXFragment\";\n AST_NODE_TYPES[\"JSXIdentifier\"] = \"JSXIdentifier\";\n AST_NODE_TYPES[\"JSXMemberExpression\"] = \"JSXMemberExpression\";\n AST_NODE_TYPES[\"JSXNamespacedName\"] = \"JSXNamespacedName\";\n AST_NODE_TYPES[\"JSXOpeningElement\"] = \"JSXOpeningElement\";\n AST_NODE_TYPES[\"JSXOpeningFragment\"] = \"JSXOpeningFragment\";\n AST_NODE_TYPES[\"JSXSpreadAttribute\"] = \"JSXSpreadAttribute\";\n AST_NODE_TYPES[\"JSXSpreadChild\"] = \"JSXSpreadChild\";\n AST_NODE_TYPES[\"JSXText\"] = \"JSXText\";\n AST_NODE_TYPES[\"LabeledStatement\"] = \"LabeledStatement\";\n AST_NODE_TYPES[\"Literal\"] = \"Literal\";\n AST_NODE_TYPES[\"LogicalExpression\"] = \"LogicalExpression\";\n AST_NODE_TYPES[\"MemberExpression\"] = \"MemberExpression\";\n AST_NODE_TYPES[\"MetaProperty\"] = \"MetaProperty\";\n AST_NODE_TYPES[\"MethodDefinition\"] = \"MethodDefinition\";\n AST_NODE_TYPES[\"NewExpression\"] = \"NewExpression\";\n AST_NODE_TYPES[\"ObjectExpression\"] = \"ObjectExpression\";\n AST_NODE_TYPES[\"ObjectPattern\"] = \"ObjectPattern\";\n AST_NODE_TYPES[\"PrivateIdentifier\"] = \"PrivateIdentifier\";\n AST_NODE_TYPES[\"Program\"] = \"Program\";\n AST_NODE_TYPES[\"Property\"] = \"Property\";\n AST_NODE_TYPES[\"PropertyDefinition\"] = \"PropertyDefinition\";\n AST_NODE_TYPES[\"RestElement\"] = \"RestElement\";\n AST_NODE_TYPES[\"ReturnStatement\"] = \"ReturnStatement\";\n AST_NODE_TYPES[\"SequenceExpression\"] = \"SequenceExpression\";\n AST_NODE_TYPES[\"SpreadElement\"] = \"SpreadElement\";\n AST_NODE_TYPES[\"StaticBlock\"] = \"StaticBlock\";\n AST_NODE_TYPES[\"Super\"] = \"Super\";\n AST_NODE_TYPES[\"SwitchCase\"] = \"SwitchCase\";\n AST_NODE_TYPES[\"SwitchStatement\"] = \"SwitchStatement\";\n AST_NODE_TYPES[\"TaggedTemplateExpression\"] = \"TaggedTemplateExpression\";\n AST_NODE_TYPES[\"TemplateElement\"] = \"TemplateElement\";\n AST_NODE_TYPES[\"TemplateLiteral\"] = \"TemplateLiteral\";\n AST_NODE_TYPES[\"ThisExpression\"] = \"ThisExpression\";\n AST_NODE_TYPES[\"ThrowStatement\"] = \"ThrowStatement\";\n AST_NODE_TYPES[\"TryStatement\"] = \"TryStatement\";\n AST_NODE_TYPES[\"UnaryExpression\"] = \"UnaryExpression\";\n AST_NODE_TYPES[\"UpdateExpression\"] = \"UpdateExpression\";\n AST_NODE_TYPES[\"VariableDeclaration\"] = \"VariableDeclaration\";\n AST_NODE_TYPES[\"VariableDeclarator\"] = \"VariableDeclarator\";\n AST_NODE_TYPES[\"WhileStatement\"] = \"WhileStatement\";\n AST_NODE_TYPES[\"WithStatement\"] = \"WithStatement\";\n AST_NODE_TYPES[\"YieldExpression\"] = \"YieldExpression\";\n AST_NODE_TYPES[\"TSAbstractAccessorProperty\"] = \"TSAbstractAccessorProperty\";\n AST_NODE_TYPES[\"TSAbstractKeyword\"] = \"TSAbstractKeyword\";\n AST_NODE_TYPES[\"TSAbstractMethodDefinition\"] = \"TSAbstractMethodDefinition\";\n AST_NODE_TYPES[\"TSAbstractPropertyDefinition\"] = \"TSAbstractPropertyDefinition\";\n AST_NODE_TYPES[\"TSAnyKeyword\"] = \"TSAnyKeyword\";\n AST_NODE_TYPES[\"TSArrayType\"] = \"TSArrayType\";\n AST_NODE_TYPES[\"TSAsExpression\"] = \"TSAsExpression\";\n AST_NODE_TYPES[\"TSAsyncKeyword\"] = \"TSAsyncKeyword\";\n AST_NODE_TYPES[\"TSBigIntKeyword\"] = \"TSBigIntKeyword\";\n AST_NODE_TYPES[\"TSBooleanKeyword\"] = \"TSBooleanKeyword\";\n AST_NODE_TYPES[\"TSCallSignatureDeclaration\"] = \"TSCallSignatureDeclaration\";\n AST_NODE_TYPES[\"TSClassImplements\"] = \"TSClassImplements\";\n AST_NODE_TYPES[\"TSConditionalType\"] = \"TSConditionalType\";\n AST_NODE_TYPES[\"TSConstructorType\"] = \"TSConstructorType\";\n AST_NODE_TYPES[\"TSConstructSignatureDeclaration\"] = \"TSConstructSignatureDeclaration\";\n AST_NODE_TYPES[\"TSDeclareFunction\"] = \"TSDeclareFunction\";\n AST_NODE_TYPES[\"TSDeclareKeyword\"] = \"TSDeclareKeyword\";\n AST_NODE_TYPES[\"TSEmptyBodyFunctionExpression\"] = \"TSEmptyBodyFunctionExpression\";\n AST_NODE_TYPES[\"TSEnumBody\"] = \"TSEnumBody\";\n AST_NODE_TYPES[\"TSEnumDeclaration\"] = \"TSEnumDeclaration\";\n AST_NODE_TYPES[\"TSEnumMember\"] = \"TSEnumMember\";\n AST_NODE_TYPES[\"TSExportAssignment\"] = \"TSExportAssignment\";\n AST_NODE_TYPES[\"TSExportKeyword\"] = \"TSExportKeyword\";\n AST_NODE_TYPES[\"TSExternalModuleReference\"] = \"TSExternalModuleReference\";\n AST_NODE_TYPES[\"TSFunctionType\"] = \"TSFunctionType\";\n AST_NODE_TYPES[\"TSImportEqualsDeclaration\"] = \"TSImportEqualsDeclaration\";\n AST_NODE_TYPES[\"TSImportType\"] = \"TSImportType\";\n AST_NODE_TYPES[\"TSIndexedAccessType\"] = \"TSIndexedAccessType\";\n AST_NODE_TYPES[\"TSIndexSignature\"] = \"TSIndexSignature\";\n AST_NODE_TYPES[\"TSInferType\"] = \"TSInferType\";\n AST_NODE_TYPES[\"TSInstantiationExpression\"] = \"TSInstantiationExpression\";\n AST_NODE_TYPES[\"TSInterfaceBody\"] = \"TSInterfaceBody\";\n AST_NODE_TYPES[\"TSInterfaceDeclaration\"] = \"TSInterfaceDeclaration\";\n AST_NODE_TYPES[\"TSInterfaceHeritage\"] = \"TSInterfaceHeritage\";\n AST_NODE_TYPES[\"TSIntersectionType\"] = \"TSIntersectionType\";\n AST_NODE_TYPES[\"TSIntrinsicKeyword\"] = \"TSIntrinsicKeyword\";\n AST_NODE_TYPES[\"TSLiteralType\"] = \"TSLiteralType\";\n AST_NODE_TYPES[\"TSMappedType\"] = \"TSMappedType\";\n AST_NODE_TYPES[\"TSMethodSignature\"] = \"TSMethodSignature\";\n AST_NODE_TYPES[\"TSModuleBlock\"] = \"TSModuleBlock\";\n AST_NODE_TYPES[\"TSModuleDeclaration\"] = \"TSModuleDeclaration\";\n AST_NODE_TYPES[\"TSNamedTupleMember\"] = \"TSNamedTupleMember\";\n AST_NODE_TYPES[\"TSNamespaceExportDeclaration\"] = \"TSNamespaceExportDeclaration\";\n AST_NODE_TYPES[\"TSNeverKeyword\"] = \"TSNeverKeyword\";\n AST_NODE_TYPES[\"TSNonNullExpression\"] = \"TSNonNullExpression\";\n AST_NODE_TYPES[\"TSNullKeyword\"] = \"TSNullKeyword\";\n AST_NODE_TYPES[\"TSNumberKeyword\"] = \"TSNumberKeyword\";\n AST_NODE_TYPES[\"TSObjectKeyword\"] = \"TSObjectKeyword\";\n AST_NODE_TYPES[\"TSOptionalType\"] = \"TSOptionalType\";\n AST_NODE_TYPES[\"TSParameterProperty\"] = \"TSParameterProperty\";\n AST_NODE_TYPES[\"TSPrivateKeyword\"] = \"TSPrivateKeyword\";\n AST_NODE_TYPES[\"TSPropertySignature\"] = \"TSPropertySignature\";\n AST_NODE_TYPES[\"TSProtectedKeyword\"] = \"TSProtectedKeyword\";\n AST_NODE_TYPES[\"TSPublicKeyword\"] = \"TSPublicKeyword\";\n AST_NODE_TYPES[\"TSQualifiedName\"] = \"TSQualifiedName\";\n AST_NODE_TYPES[\"TSReadonlyKeyword\"] = \"TSReadonlyKeyword\";\n AST_NODE_TYPES[\"TSRestType\"] = \"TSRestType\";\n AST_NODE_TYPES[\"TSSatisfiesExpression\"] = \"TSSatisfiesExpression\";\n AST_NODE_TYPES[\"TSStaticKeyword\"] = \"TSStaticKeyword\";\n AST_NODE_TYPES[\"TSStringKeyword\"] = \"TSStringKeyword\";\n AST_NODE_TYPES[\"TSSymbolKeyword\"] = \"TSSymbolKeyword\";\n AST_NODE_TYPES[\"TSTemplateLiteralType\"] = \"TSTemplateLiteralType\";\n AST_NODE_TYPES[\"TSThisType\"] = \"TSThisType\";\n AST_NODE_TYPES[\"TSTupleType\"] = \"TSTupleType\";\n AST_NODE_TYPES[\"TSTypeAliasDeclaration\"] = \"TSTypeAliasDeclaration\";\n AST_NODE_TYPES[\"TSTypeAnnotation\"] = \"TSTypeAnnotation\";\n AST_NODE_TYPES[\"TSTypeAssertion\"] = \"TSTypeAssertion\";\n AST_NODE_TYPES[\"TSTypeLiteral\"] = \"TSTypeLiteral\";\n AST_NODE_TYPES[\"TSTypeOperator\"] = \"TSTypeOperator\";\n AST_NODE_TYPES[\"TSTypeParameter\"] = \"TSTypeParameter\";\n AST_NODE_TYPES[\"TSTypeParameterDeclaration\"] = \"TSTypeParameterDeclaration\";\n AST_NODE_TYPES[\"TSTypeParameterInstantiation\"] = \"TSTypeParameterInstantiation\";\n AST_NODE_TYPES[\"TSTypePredicate\"] = \"TSTypePredicate\";\n AST_NODE_TYPES[\"TSTypeQuery\"] = \"TSTypeQuery\";\n AST_NODE_TYPES[\"TSTypeReference\"] = \"TSTypeReference\";\n AST_NODE_TYPES[\"TSUndefinedKeyword\"] = \"TSUndefinedKeyword\";\n AST_NODE_TYPES[\"TSUnionType\"] = \"TSUnionType\";\n AST_NODE_TYPES[\"TSUnknownKeyword\"] = \"TSUnknownKeyword\";\n AST_NODE_TYPES[\"TSVoidKeyword\"] = \"TSVoidKeyword\";\n})(AST_NODE_TYPES || (exports.AST_NODE_TYPES = AST_NODE_TYPES = {}));\nvar AST_TOKEN_TYPES;\n(function (AST_TOKEN_TYPES) {\n AST_TOKEN_TYPES[\"Boolean\"] = \"Boolean\";\n AST_TOKEN_TYPES[\"Identifier\"] = \"Identifier\";\n AST_TOKEN_TYPES[\"JSXIdentifier\"] = \"JSXIdentifier\";\n AST_TOKEN_TYPES[\"PrivateIdentifier\"] = \"PrivateIdentifier\";\n AST_TOKEN_TYPES[\"JSXText\"] = \"JSXText\";\n AST_TOKEN_TYPES[\"Keyword\"] = \"Keyword\";\n AST_TOKEN_TYPES[\"Null\"] = \"Null\";\n AST_TOKEN_TYPES[\"Numeric\"] = \"Numeric\";\n AST_TOKEN_TYPES[\"Punctuator\"] = \"Punctuator\";\n AST_TOKEN_TYPES[\"RegularExpression\"] = \"RegularExpression\";\n AST_TOKEN_TYPES[\"String\"] = \"String\";\n AST_TOKEN_TYPES[\"Template\"] = \"Template\";\n AST_TOKEN_TYPES[\"Block\"] = \"Block\";\n AST_TOKEN_TYPES[\"Line\"] = \"Line\";\n})(AST_TOKEN_TYPES || (exports.AST_TOKEN_TYPES = AST_TOKEN_TYPES = {}));\n//# sourceMappingURL=ast-spec.js.map","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=lib.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=parser-options.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSESTree = void 0;\nexports.TSESTree = __importStar(require(\"./generated/ast-spec\"));\n//# sourceMappingURL=ts-estree.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\nvar ast_spec_1 = require(\"./generated/ast-spec\");\nObject.defineProperty(exports, \"AST_NODE_TYPES\", { enumerable: true, get: function () { return ast_spec_1.AST_NODE_TYPES; } });\nObject.defineProperty(exports, \"AST_TOKEN_TYPES\", { enumerable: true, get: function () { return ast_spec_1.AST_TOKEN_TYPES; } });\n__exportStar(require(\"./lib\"), exports);\n__exportStar(require(\"./parser-options\"), exports);\n__exportStar(require(\"./ts-estree\"), exports);\n//# sourceMappingURL=index.js.map","// Same narrow-import rationale as `no-raw-process-env.ts` -- see its header.\nimport { RuleCreator } from \"@typescript-eslint/utils/eslint-utils\"\nimport { AST_NODE_TYPES } from \"@typescript-eslint/types\"\nimport { globToRegExp } from \"./glob.js\"\n\nconst createRule = RuleCreator(\n (name) => `https://github.com/maverickcer/env-cap#eslint-plugin-${name}`,\n)\n\nexport interface RuleOptions {\n /** Glob-array of files this rule doesn't apply to -- a project's own\n * executable entry points (a CLI, a script) that legitimately construct\n * the concrete filesystem adapter. Empty by default -- populate it\n * explicitly; the rule never guesses at what counts as an executable\n * capability boundary. */\n allow?: string[]\n}\n\n/** `\"node:fs\"`, `\"fs\"`, and their `/promises` subpaths -- every specifier that resolves to Node's filesystem module. */\nconst FS_SPECIFIER = /^(node:)?fs(\\/promises)?$/\n\n/** The specifier string if it names Node's filesystem module, else `undefined`. */\nfunction fsSpecifier(source: unknown): string | undefined {\n // `source` is always an AST literal's `.value`. The `typeof` guard is a\n // type-narrowing convenience, not a behavioral one: no non-string literal\n // value (number/boolean/null/bigint/RegExp) stringifies to `fs`,\n // `node:fs`, or their `/promises` forms, so `FS_SPECIFIER.test()` already\n // rejects every one of them -- the mutant dropping this guard is\n // equivalent. Same finding as `no-raw-process-env.ts`'s narrowing checks.\n // Stryker disable next-line ConditionalExpression\n if (typeof source !== \"string\") return undefined\n if (!FS_SPECIFIER.test(source)) return undefined\n return source\n}\n\n/**\n * Flags any `import`/`require`/dynamic `import()` of `node:fs` in library\n * code, so a library surface acquires its filesystem capability from the\n * caller instead of reaching for `node:fs` itself (the same discipline\n * `repo-contract`'s ADR-0011 established for `child_process`/`process.env`).\n * See ADR 0040.\n *\n * @remarks\n * Nothing is exempt by default. env-cap's own config allows `src/cli/**`\n * (the executable capability boundary that builds the `node:fs/promises`\n * adapter); a consuming project sets its own `allow` for its own entry\n * points.\n */\nexport const noNodeFs = createRule<[RuleOptions], \"noNodeFs\">({\n name: \"no-node-fs\",\n meta: {\n type: \"problem\",\n docs: {\n description:\n \"Disallow importing node:fs in library code; accept a filesystem capability from the caller instead.\",\n },\n schema: [\n {\n type: \"object\",\n properties: { allow: { type: \"array\", items: { type: \"string\" } } },\n additionalProperties: false,\n },\n ],\n messages: {\n noNodeFs:\n \"Importing '{{specifier}}' makes this a filesystem-acquiring surface. Accept a filesystem capability as an argument instead, and let an executable entry point construct the node:fs adapter (see ADR 0040 / the README's ESLint section for the allow-list escape hatch).\",\n },\n },\n defaultOptions: [{ allow: [] }],\n create(context, [options]) {\n const filename = context.filename\n // `?? []` is unreachable through the public API -- `RuleCreator` always\n // deep-merges `context.options` onto `defaultOptions` first. Same\n // finding as `no-raw-process-env.ts`'s identical line.\n // Stryker disable next-line ArrayDeclaration\n const allowPatterns = options.allow ?? []\n if (allowPatterns.some((p) => globToRegExp(p).test(filename))) return {}\n\n return {\n ImportDeclaration(node) {\n const specifier = fsSpecifier(node.source.value)\n if (specifier !== undefined) {\n context.report({ node, messageId: \"noNodeFs\", data: { specifier } })\n }\n },\n ImportExpression(node) {\n // Narrowing guard so `.value` type-checks. Behaviorally equivalent to\n // omitting it -- a non-`Literal` source (`Identifier`, `TemplateLiteral`,\n // ...) has no `.value`, and `fsSpecifier(undefined)` is already\n // `undefined` -- so the mutant that drops it can't be killed. Same\n // finding as `no-raw-process-env.ts`'s disabled narrowing checks.\n // Stryker disable next-line ConditionalExpression\n if (node.source.type !== AST_NODE_TYPES.Literal) return\n const specifier = fsSpecifier(node.source.value)\n if (specifier !== undefined) {\n context.report({ node, messageId: \"noNodeFs\", data: { specifier } })\n }\n },\n CallExpression(node) {\n if (\n // Narrowing guard so `.name` type-checks; redundant at runtime with\n // the `.name !== \"require\"` clause (only an `Identifier` carries a\n // `.name`), so the mutant dropping it is equivalent -- same finding\n // as `no-raw-process-env.ts`'s disabled narrowing checks.\n // Stryker disable next-line ConditionalExpression\n node.callee.type !== AST_NODE_TYPES.Identifier ||\n node.callee.name !== \"require\" ||\n node.arguments[0]?.type !== AST_NODE_TYPES.Literal\n ) {\n return\n }\n const specifier = fsSpecifier(node.arguments[0].value)\n if (specifier !== undefined) {\n context.report({ node, messageId: \"noNodeFs\", data: { specifier } })\n }\n },\n }\n },\n})\n","/**\n * Converts one glob pattern to a RegExp. Handles `**` as \"any number of path\n * segments, including zero\" (so `**\\/node_modules/**` matches a root-level\n * `node_modules`, and `**\\/env.schema.ts` matches a root-level file, not just\n * nested ones) -- a plain `**` -> `.*` substitution gets both of those wrong.\n *\n * Used by no-raw-process-env.ts's `allow` option.\n *\n * Deliberately duplicated (not shared) with\n * src/build/glob.ts, which needs the exact same matching behavior for its\n * own schema-discovery walk -- keeps this eslint-plugin-only module free of\n * any import reaching outside src/eslint-plugin, so `src/eslint-plugin`\n * stays independently splittable into its own package with zero\n * source-level cross-folder dependency. Not re-exported from `./index.js` --\n * Private tier per VERSIONING.md.\n */\n/* jscpd:ignore-start -- deliberately duplicated across the build/ and eslint-plugin/ bundle boundaries; see this file's module doc */\nexport function globToRegExp(pattern: string): RegExp {\n let out = \"\"\n for (let i = 0; i < pattern.length; i++) {\n const char = pattern[i]\n if (char === \"*\" && pattern[i + 1] === \"*\") {\n const precededBySlashOrStart = i === 0 || pattern[i - 1] === \"/\"\n const followedBySlash = pattern[i + 2] === \"/\"\n if (precededBySlashOrStart && followedBySlash) {\n out += \"(?:.*/)?\"\n i += 2 // consume the second '*' and the following '/'\n } else {\n out += \".*\"\n i += 1 // consume the second '*'\n }\n } else if (char === \"*\") {\n out += \"[^/]*\"\n } else if (char === \"?\") {\n out += \"[^/]\"\n } else if (\".+^${}()|[]\\\\\".includes(char)) {\n out += `\\\\${char}`\n } else {\n out += char\n }\n }\n return new RegExp(`^${out}$`)\n}\n/* jscpd:ignore-end */\n","// Deliberately narrow imports -- `@typescript-eslint/utils`'s main entry\n// (`ESLintUtils`) re-exports its `ts-eslint` namespace, which includes\n// FlatESLint/ESLint wrapper classes that do a runtime `require(\"eslint\")`.\n// Bundled into an ESM output (this package ships dependency-free, so\n// `@typescript-eslint/utils` is inlined at build time -- see tsup.config.ts),\n// that `require()` has no real CJS `require` to call and throws \"Dynamic\n// require of eslint is not supported\". `RuleCreator` alone lives at the\n// `eslint-utils` subpath and `AST_NODE_TYPES` in `@typescript-eslint/types`,\n// neither of which touch `eslint` at all.\nimport { RuleCreator } from \"@typescript-eslint/utils/eslint-utils\"\nimport { AST_NODE_TYPES } from \"@typescript-eslint/types\"\nimport { globToRegExp } from \"./glob.js\"\n\nconst createRule = RuleCreator(\n (name) => `https://github.com/maverickcer/env-cap#eslint-plugin-${name}`,\n)\n\nexport interface RuleOptions {\n /** Glob-array of files this rule doesn't apply to, beyond the built-in\n * env.schema.ts allowance below -- for a consuming project's own\n * Node-only, build-time bootstrap code (see the README section this\n * rule ships with for the canonical worked example: a live-expiration\n * resolver authenticating to a secrets manager). Empty by default --\n * MUST be populated explicitly by the consuming project; env-cap never\n * guesses at what counts as \"trusted bootstrap code.\" */\n allow?: string[]\n}\n\nconst DEFAULT_SCHEMA_ALLOWLIST = [\"**/env.schema.ts\", \"**/env.schema.tsx\"]\n\n/**\n * Flags any direct `process.env.X`/`process.env[\"X\"]` read in application code, so environment\n * access always goes through a capability's own `createEnv()` contract instead.\n *\n * @remarks\n * `env.schema.ts`/`env.schema.tsx` files are always exempt (that's where `createEnv()` itself\n * reads `process.env`); the rule's `allow` option extends that exemption to a consuming\n * project's own trusted bootstrap code.\n */\nexport const noRawProcessEnv = createRule<[RuleOptions], \"noRawProcessEnv\">({\n name: \"no-raw-process-env\",\n meta: {\n type: \"problem\",\n docs: {\n description:\n \"Disallow direct process.env reads in application code; use a capability-owned createEnv() contract instead.\",\n },\n schema: [\n {\n type: \"object\",\n properties: { allow: { type: \"array\", items: { type: \"string\" } } },\n additionalProperties: false,\n },\n ],\n messages: {\n noRawProcessEnv:\n \"Direct process.env access bypasses this capability's owned contract. Read this value through createEnv()'s validated contract instead (see README's ESLint plugin section for the allow-list escape hatch for legitimate build-time bootstrap code).\",\n },\n },\n defaultOptions: [{ allow: [] }],\n create(context, [options]) {\n const filename = context.filename\n // `?? []` is provably unreachable through the public API: `@typescript-\n // eslint/utils`'s `RuleCreator` always deep-merges `context.options`\n // onto `defaultOptions` (`allow: []`) before `create()` sees them, so\n // `options.allow` is never actually `undefined` here -- see the test\n // file's own comment on the `options: [{}]` case for the same finding.\n // Stryker disable next-line ArrayDeclaration\n const allowPatterns = [...DEFAULT_SCHEMA_ALLOWLIST, ...(options.allow ?? [])]\n if (allowPatterns.some((p) => globToRegExp(p).test(filename))) return {}\n\n return {\n MemberExpression(node) {\n const obj = node.object\n if (\n obj.type === AST_NODE_TYPES.MemberExpression &&\n // These two `.type === AST_NODE_TYPES.Identifier` checks exist for\n // TS narrowing (so `.object.name`/`.property.name` below type-check\n // at all -- neither is a property every `Expression` union member\n // has) more than for a real runtime distinction: `.name` is\n // specifically an `Identifier`/`PrivateIdentifier`'s own field in\n // the ESTree shape, and no `Expression` node reachable at this\n // position through valid, parseable syntax (`MemberExpression`,\n // `CallExpression`, `ThisExpression`, `Super`, `TSNonNullExpression`,\n // a computed-access `Literal`, ...) carries a `.name` that could\n // coincidentally equal \"process\"/\"env\" while having some OTHER\n // `.type`. Tried constructing a counterexample via several exotic\n // node shapes (all of the above) before concluding there\n // genuinely isn't one for this AST position.\n // Stryker disable next-line ConditionalExpression\n obj.object.type === AST_NODE_TYPES.Identifier &&\n obj.object.name === \"process\" &&\n // Stryker disable next-line ConditionalExpression\n obj.property.type === AST_NODE_TYPES.Identifier &&\n obj.property.name === \"env\"\n ) {\n context.report({ node, messageId: \"noRawProcessEnv\" })\n }\n },\n }\n },\n})\n","import { noNodeFs } from \"./no-node-fs.js\"\nimport { noRawProcessEnv } from \"./no-raw-process-env.js\"\n\n/**\n * `env-cap/eslint-plugin` -- a flat-config-shaped plugin object\n * ({ rules: { ... } }), consumed as:\n *\n * import envCapPlugin from \"env-cap/eslint-plugin\";\n * export default [{ plugins: { \"env-cap\": envCapPlugin }, rules: { \"env-cap/no-raw-process-env\": \"error\" } }];\n *\n * A 4th public entry point alongside `.`, `./build`, `./helpers` -- see ADR 0017.\n */\nconst plugin = {\n /** Every rule this plugin ships, keyed by its flat-config rule name. */\n rules: {\n /** See {@link noRawProcessEnv}. */\n \"no-raw-process-env\": noRawProcessEnv,\n /** See {@link noNodeFs}. */\n \"no-node-fs\": noNodeFs,\n },\n}\nexport default plugin\nexport { noNodeFs, noRawProcessEnv }\n"]}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ function defineEvidenceProjection(schema){function project(evidence){const value={};const sources={};for(const key of Object.keys(schema)){const projector=schema[key];const{proxy,readPaths}=createTrackingProxy(evidence);value[key]=projector(proxy);sources[key]=readPaths();}return {value,sources}}function invoke(evidence){return project(evidence).value}return Object.assign(invoke,{project})}function readOnlyMembraneError(){return new TypeError("EvidenceModel is read-only inside a projector -- a projection must be a pure function of its evidence argument. See ADR 0032.")}function createTrackingProxy(evidence){const clone=structuredClone(evidence);const paths=new Set;const wrapped=new WeakMap;function wrap(value,path){if(value===null||typeof value!=="object")return value;const target=value;const cached=wrapped.get(target);if(cached)return cached;const proxy=new Proxy(target,{get(currentTarget,prop,receiver){const result=Reflect.get(currentTarget,prop,receiver);if(typeof prop!=="string")return result;if(Array.isArray(currentTarget)&&prop==="length")return result;const nextPath=[...path,prop];paths.add(nextPath.join("."));return wrap(result,nextPath)},set(){throw readOnlyMembraneError()},deleteProperty(){throw readOnlyMembraneError()},defineProperty(){throw readOnlyMembraneError()},setPrototypeOf(){throw readOnlyMembraneError()}});wrapped.set(target,proxy);return proxy}return {proxy:wrap(clone,[]),readPaths:()=>[...paths].sort()}}
4
+
5
+ exports.defineEvidenceProjection = defineEvidenceProjection;
6
+ //# sourceMappingURL=evidence.cjs.map
7
+ //# sourceMappingURL=evidence.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/evidence/define-projection.ts"],"names":[],"mappings":";;AA0CO,SAAS,wBAAA,CACd,MAAA,CACuB,CACvB,SAAS,OAAA,CAAQ,SAAsD,CACrE,MAAM,KAAA,CAAQ,EAAC,CACf,MAAM,QAAU,EAAC,CACjB,IAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAG,CACrC,MAAM,SAAA,CAAY,MAAA,CAAO,GAAc,CAAA,CACvC,KAAM,CAAE,KAAA,CAAO,SAAU,CAAA,CAAI,mBAAA,CAAoB,QAAQ,EACzD,KAAA,CAAM,GAAG,CAAA,CAAI,SAAA,CAAU,KAAK,CAAA,CAC5B,QAAQ,GAAG,CAAA,CAAI,SAAA,GACjB,CACA,OAAO,CAAE,KAAA,CAAmB,OAAiE,CAC/F,CAEA,SAAS,MAAA,CAAO,QAAA,CAA4B,CAC1C,OAAO,OAAA,CAAQ,QAAQ,CAAA,CAAE,KAC3B,CAEA,OAAO,MAAA,CAAO,MAAA,CAAO,MAAA,CAAQ,CAAE,OAAQ,CAAC,CAC1C,CAaO,SAAS,qBAAA,EAAmC,CACjD,OAAO,IAAI,SAAA,CACT,+HACF,CACF,CAoBA,SAAS,mBAAA,CAAoB,QAAA,CAG3B,CACA,MAAM,KAAA,CAAQ,eAAA,CAAgB,QAAQ,CAAA,CACtC,MAAM,KAAA,CAAQ,IAAI,GAAA,CAClB,MAAM,OAAA,CAAU,IAAI,OAAA,CAEpB,SAAS,KAAQ,KAAA,CAAU,IAAA,CAA4B,CACrD,GAAI,KAAA,GAAU,IAAA,EAAQ,OAAO,KAAA,GAAU,QAAA,CAAU,OAAO,KAAA,CACxD,MAAM,MAAA,CAAS,KAAA,CACf,MAAM,MAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAA,CACjC,GAAI,OAAQ,OAAO,MAAA,CAEnB,MAAM,KAAA,CAAQ,IAAI,KAAA,CAAM,OAAQ,CAC9B,GAAA,CAAI,aAAA,CAAe,IAAA,CAAM,QAAA,CAAU,CACjC,MAAM,MAAA,CAAkB,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAe,IAAA,CAAM,QAAQ,CAAA,CACjE,GAAI,OAAO,IAAA,GAAS,QAAA,CAAU,OAAO,MAAA,CACrC,GAAI,MAAM,OAAA,CAAQ,aAAa,CAAA,EAAK,IAAA,GAAS,QAAA,CAAU,OAAO,OAC9D,MAAM,QAAA,CAAW,CAAC,GAAG,IAAA,CAAM,IAAI,CAAA,CAC/B,KAAA,CAAM,GAAA,CAAI,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAC5B,OAAO,IAAA,CAAK,MAAA,CAAQ,QAAQ,CAC9B,CAAA,CACA,GAAA,EAAM,CACJ,MAAM,qBAAA,EACR,CAAA,CACA,cAAA,EAAiB,CACf,MAAM,qBAAA,EACR,CAAA,CACA,cAAA,EAAiB,CACf,MAAM,qBAAA,EACR,CAAA,CACA,cAAA,EAAiB,CACf,MAAM,qBAAA,EACR,CACF,CAAC,CAAA,CACD,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAQ,KAAK,EACzB,OAAO,KACT,CAEA,OAAO,CAAE,KAAA,CAAO,KAAK,KAAA,CAAO,EAAE,CAAA,CAAG,SAAA,CAAW,IAAM,CAAC,GAAG,KAAK,CAAA,CAAE,IAAA,EAAO,CACtE","file":"evidence.cjs","sourcesContent":["import type { EvidenceModel } from \"../build/evidence-model.js\"\n\n/**\n * A pure function from the full Evidence Model to one field of a\n * projection's output shape. Must not mutate `evidence` -- the membrane\n * `defineEvidenceProjection()` wraps it in enforces that at runtime, see\n * `createTrackingProxy()` below -- and must not perform I/O; env-cap can\n * enforce the read-only half of purity but not the \"no side effects\" half.\n */\nexport type EvidenceProjector<T> = (evidence: EvidenceModel) => T\n\n/** One independent, pure projector function per key of the projection's output shape `T`. */\nexport type EvidenceProjectionSchema<T extends Record<string, unknown>> = {\n readonly [K in keyof T]: EvidenceProjector<T[K]>\n}\n\n/** `project()`'s return shape: the computed output, plus which `EvidenceModel` field paths fed each output key. */\nexport interface EvidenceProjectionResult<T extends Record<string, unknown>> {\n readonly value: T\n readonly sources: Readonly<Record<keyof T, readonly string[]>>\n}\n\n/**\n * The function `defineEvidenceProjection()` returns. Callable directly for\n * the common case (`projection(evidence)` -> `T`); `.project()` returns the\n * same value alongside automatic provenance -- see ADR 0032.\n */\nexport interface EvidenceProjection<T extends Record<string, unknown>> {\n (evidence: EvidenceModel): T\n project(evidence: EvidenceModel): EvidenceProjectionResult<T>\n}\n\n/**\n * Declares a projection: a named, pure transform from the immutable\n * `EvidenceModel` to any consumer-defined output shape, built entirely from\n * `schema`'s independent per-field projector functions -- see ADR 0031/0032.\n *\n * env-cap's own reference projections (`.env.example`, Environment\n * Configuration Reference, Configuration Ownership, etc.) are built through\n * this exact function, with no privileged internal path -- a consumer's own\n * projection is a first-class citizen, not a lesser one.\n */\nexport function defineEvidenceProjection<T extends Record<string, unknown>>(\n schema: EvidenceProjectionSchema<T>,\n): EvidenceProjection<T> {\n function project(evidence: EvidenceModel): EvidenceProjectionResult<T> {\n const value = {} as Record<string, unknown>\n const sources = {} as Record<string, readonly string[]>\n for (const key of Object.keys(schema)) {\n const projector = schema[key as keyof T]\n const { proxy, readPaths } = createTrackingProxy(evidence)\n value[key] = projector(proxy)\n sources[key] = readPaths()\n }\n return { value: value as T, sources: sources as Readonly<Record<keyof T, readonly string[]>> }\n }\n\n function invoke(evidence: EvidenceModel): T {\n return project(evidence).value\n }\n\n return Object.assign(invoke, { project })\n}\n\n/**\n * The error every membrane write-trap below throws. A function, not a\n * module-level `const` -- a `const` string's mutants are evaluated once at\n * module load and can't be attributed to a covering test under Stryker's\n * `perTest` coverage analysis (a documented false-Survivor, not a real\n * gap); exported so a test can pin the exact message directly, the same way\n * every membrane trap's own `.toThrow(...)` can't (a `TypeError` from a\n * Proxy invariant violation is thrown either way a trap's body is mutated,\n * so `.toThrow(TypeError)` alone doesn't distinguish \"our message\" from\n * \"the engine's own invariant-violation message\").\n */\nexport function readOnlyMembraneError(): TypeError {\n return new TypeError(\n \"EvidenceModel is read-only inside a projector -- a projection must be a pure function of its evidence argument. See ADR 0032.\",\n )\n}\n\n/**\n * Wraps a fresh, unfrozen clone of `evidence` in a Proxy membrane that\n * throws on any write and records every field path read through it.\n *\n * @remarks\n * Deliberately does not rely on `Object.freeze()` for the read-only\n * guarantee: a `Proxy` `get` trap on a frozen, non-configurable data\n * property is spec-required to return the exact (`===`) value the target\n * holds, which makes it impossible to substitute a wrapping proxy for a\n * frozen object's nested properties -- confirmed by direct reproduction\n * during this feature's design spike (see ADR 0032). The membrane's own\n * `set`/`deleteProperty`/`defineProperty`/`setPrototypeOf` traps enforce\n * immutability instead, which works on an unfrozen target. The caller's\n * `evidence` (typically already `deepFreeze()`-d by `generateEvidenceModel()`)\n * is never mutated -- `structuredClone()` gives this membrane its own\n * disposable copy to wrap, so a genuinely frozen `EvidenceModel` can still\n * be projected.\n */\nfunction createTrackingProxy(evidence: EvidenceModel): {\n proxy: EvidenceModel\n readPaths: () => readonly string[]\n} {\n const clone = structuredClone(evidence)\n const paths = new Set<string>()\n const wrapped = new WeakMap<object, unknown>()\n\n function wrap<V>(value: V, path: readonly string[]): V {\n if (value === null || typeof value !== \"object\") return value\n const target = value\n const cached = wrapped.get(target)\n if (cached) return cached as V\n\n const proxy = new Proxy(target, {\n get(currentTarget, prop, receiver) {\n const result: unknown = Reflect.get(currentTarget, prop, receiver)\n if (typeof prop !== \"string\") return result\n if (Array.isArray(currentTarget) && prop === \"length\") return result\n const nextPath = [...path, prop]\n paths.add(nextPath.join(\".\"))\n return wrap(result, nextPath)\n },\n set() {\n throw readOnlyMembraneError()\n },\n deleteProperty() {\n throw readOnlyMembraneError()\n },\n defineProperty() {\n throw readOnlyMembraneError()\n },\n setPrototypeOf() {\n throw readOnlyMembraneError()\n },\n })\n wrapped.set(target, proxy)\n return proxy\n }\n\n return { proxy: wrap(clone, []), readPaths: () => [...paths].sort() }\n}\n"]}
@@ -0,0 +1 @@
1
+ export * from "./.dts/evidence/index.js";
@@ -0,0 +1 @@
1
+ export * from "./.dts/evidence/index.js";
@@ -0,0 +1,5 @@
1
+ function defineEvidenceProjection(schema){function project(evidence){const value={};const sources={};for(const key of Object.keys(schema)){const projector=schema[key];const{proxy,readPaths}=createTrackingProxy(evidence);value[key]=projector(proxy);sources[key]=readPaths();}return {value,sources}}function invoke(evidence){return project(evidence).value}return Object.assign(invoke,{project})}function readOnlyMembraneError(){return new TypeError("EvidenceModel is read-only inside a projector -- a projection must be a pure function of its evidence argument. See ADR 0032.")}function createTrackingProxy(evidence){const clone=structuredClone(evidence);const paths=new Set;const wrapped=new WeakMap;function wrap(value,path){if(value===null||typeof value!=="object")return value;const target=value;const cached=wrapped.get(target);if(cached)return cached;const proxy=new Proxy(target,{get(currentTarget,prop,receiver){const result=Reflect.get(currentTarget,prop,receiver);if(typeof prop!=="string")return result;if(Array.isArray(currentTarget)&&prop==="length")return result;const nextPath=[...path,prop];paths.add(nextPath.join("."));return wrap(result,nextPath)},set(){throw readOnlyMembraneError()},deleteProperty(){throw readOnlyMembraneError()},defineProperty(){throw readOnlyMembraneError()},setPrototypeOf(){throw readOnlyMembraneError()}});wrapped.set(target,proxy);return proxy}return {proxy:wrap(clone,[]),readPaths:()=>[...paths].sort()}}
2
+
3
+ export { defineEvidenceProjection };
4
+ //# sourceMappingURL=evidence.js.map
5
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/evidence/define-projection.ts"],"names":[],"mappings":"AA0CO,SAAS,wBAAA,CACd,MAAA,CACuB,CACvB,SAAS,OAAA,CAAQ,SAAsD,CACrE,MAAM,KAAA,CAAQ,EAAC,CACf,MAAM,QAAU,EAAC,CACjB,IAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAG,CACrC,MAAM,SAAA,CAAY,MAAA,CAAO,GAAc,CAAA,CACvC,KAAM,CAAE,KAAA,CAAO,SAAU,CAAA,CAAI,mBAAA,CAAoB,QAAQ,EACzD,KAAA,CAAM,GAAG,CAAA,CAAI,SAAA,CAAU,KAAK,CAAA,CAC5B,QAAQ,GAAG,CAAA,CAAI,SAAA,GACjB,CACA,OAAO,CAAE,KAAA,CAAmB,OAAiE,CAC/F,CAEA,SAAS,MAAA,CAAO,QAAA,CAA4B,CAC1C,OAAO,OAAA,CAAQ,QAAQ,CAAA,CAAE,KAC3B,CAEA,OAAO,MAAA,CAAO,MAAA,CAAO,MAAA,CAAQ,CAAE,OAAQ,CAAC,CAC1C,CAaO,SAAS,qBAAA,EAAmC,CACjD,OAAO,IAAI,SAAA,CACT,+HACF,CACF,CAoBA,SAAS,mBAAA,CAAoB,QAAA,CAG3B,CACA,MAAM,KAAA,CAAQ,eAAA,CAAgB,QAAQ,CAAA,CACtC,MAAM,KAAA,CAAQ,IAAI,GAAA,CAClB,MAAM,OAAA,CAAU,IAAI,OAAA,CAEpB,SAAS,KAAQ,KAAA,CAAU,IAAA,CAA4B,CACrD,GAAI,KAAA,GAAU,IAAA,EAAQ,OAAO,KAAA,GAAU,QAAA,CAAU,OAAO,KAAA,CACxD,MAAM,MAAA,CAAS,KAAA,CACf,MAAM,MAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAA,CACjC,GAAI,OAAQ,OAAO,MAAA,CAEnB,MAAM,KAAA,CAAQ,IAAI,KAAA,CAAM,OAAQ,CAC9B,GAAA,CAAI,aAAA,CAAe,IAAA,CAAM,QAAA,CAAU,CACjC,MAAM,MAAA,CAAkB,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAe,IAAA,CAAM,QAAQ,CAAA,CACjE,GAAI,OAAO,IAAA,GAAS,QAAA,CAAU,OAAO,MAAA,CACrC,GAAI,MAAM,OAAA,CAAQ,aAAa,CAAA,EAAK,IAAA,GAAS,QAAA,CAAU,OAAO,OAC9D,MAAM,QAAA,CAAW,CAAC,GAAG,IAAA,CAAM,IAAI,CAAA,CAC/B,KAAA,CAAM,GAAA,CAAI,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAC5B,OAAO,IAAA,CAAK,MAAA,CAAQ,QAAQ,CAC9B,CAAA,CACA,GAAA,EAAM,CACJ,MAAM,qBAAA,EACR,CAAA,CACA,cAAA,EAAiB,CACf,MAAM,qBAAA,EACR,CAAA,CACA,cAAA,EAAiB,CACf,MAAM,qBAAA,EACR,CAAA,CACA,cAAA,EAAiB,CACf,MAAM,qBAAA,EACR,CACF,CAAC,CAAA,CACD,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAQ,KAAK,EACzB,OAAO,KACT,CAEA,OAAO,CAAE,KAAA,CAAO,KAAK,KAAA,CAAO,EAAE,CAAA,CAAG,SAAA,CAAW,IAAM,CAAC,GAAG,KAAK,CAAA,CAAE,IAAA,EAAO,CACtE","file":"evidence.js","sourcesContent":["import type { EvidenceModel } from \"../build/evidence-model.js\"\n\n/**\n * A pure function from the full Evidence Model to one field of a\n * projection's output shape. Must not mutate `evidence` -- the membrane\n * `defineEvidenceProjection()` wraps it in enforces that at runtime, see\n * `createTrackingProxy()` below -- and must not perform I/O; env-cap can\n * enforce the read-only half of purity but not the \"no side effects\" half.\n */\nexport type EvidenceProjector<T> = (evidence: EvidenceModel) => T\n\n/** One independent, pure projector function per key of the projection's output shape `T`. */\nexport type EvidenceProjectionSchema<T extends Record<string, unknown>> = {\n readonly [K in keyof T]: EvidenceProjector<T[K]>\n}\n\n/** `project()`'s return shape: the computed output, plus which `EvidenceModel` field paths fed each output key. */\nexport interface EvidenceProjectionResult<T extends Record<string, unknown>> {\n readonly value: T\n readonly sources: Readonly<Record<keyof T, readonly string[]>>\n}\n\n/**\n * The function `defineEvidenceProjection()` returns. Callable directly for\n * the common case (`projection(evidence)` -> `T`); `.project()` returns the\n * same value alongside automatic provenance -- see ADR 0032.\n */\nexport interface EvidenceProjection<T extends Record<string, unknown>> {\n (evidence: EvidenceModel): T\n project(evidence: EvidenceModel): EvidenceProjectionResult<T>\n}\n\n/**\n * Declares a projection: a named, pure transform from the immutable\n * `EvidenceModel` to any consumer-defined output shape, built entirely from\n * `schema`'s independent per-field projector functions -- see ADR 0031/0032.\n *\n * env-cap's own reference projections (`.env.example`, Environment\n * Configuration Reference, Configuration Ownership, etc.) are built through\n * this exact function, with no privileged internal path -- a consumer's own\n * projection is a first-class citizen, not a lesser one.\n */\nexport function defineEvidenceProjection<T extends Record<string, unknown>>(\n schema: EvidenceProjectionSchema<T>,\n): EvidenceProjection<T> {\n function project(evidence: EvidenceModel): EvidenceProjectionResult<T> {\n const value = {} as Record<string, unknown>\n const sources = {} as Record<string, readonly string[]>\n for (const key of Object.keys(schema)) {\n const projector = schema[key as keyof T]\n const { proxy, readPaths } = createTrackingProxy(evidence)\n value[key] = projector(proxy)\n sources[key] = readPaths()\n }\n return { value: value as T, sources: sources as Readonly<Record<keyof T, readonly string[]>> }\n }\n\n function invoke(evidence: EvidenceModel): T {\n return project(evidence).value\n }\n\n return Object.assign(invoke, { project })\n}\n\n/**\n * The error every membrane write-trap below throws. A function, not a\n * module-level `const` -- a `const` string's mutants are evaluated once at\n * module load and can't be attributed to a covering test under Stryker's\n * `perTest` coverage analysis (a documented false-Survivor, not a real\n * gap); exported so a test can pin the exact message directly, the same way\n * every membrane trap's own `.toThrow(...)` can't (a `TypeError` from a\n * Proxy invariant violation is thrown either way a trap's body is mutated,\n * so `.toThrow(TypeError)` alone doesn't distinguish \"our message\" from\n * \"the engine's own invariant-violation message\").\n */\nexport function readOnlyMembraneError(): TypeError {\n return new TypeError(\n \"EvidenceModel is read-only inside a projector -- a projection must be a pure function of its evidence argument. See ADR 0032.\",\n )\n}\n\n/**\n * Wraps a fresh, unfrozen clone of `evidence` in a Proxy membrane that\n * throws on any write and records every field path read through it.\n *\n * @remarks\n * Deliberately does not rely on `Object.freeze()` for the read-only\n * guarantee: a `Proxy` `get` trap on a frozen, non-configurable data\n * property is spec-required to return the exact (`===`) value the target\n * holds, which makes it impossible to substitute a wrapping proxy for a\n * frozen object's nested properties -- confirmed by direct reproduction\n * during this feature's design spike (see ADR 0032). The membrane's own\n * `set`/`deleteProperty`/`defineProperty`/`setPrototypeOf` traps enforce\n * immutability instead, which works on an unfrozen target. The caller's\n * `evidence` (typically already `deepFreeze()`-d by `generateEvidenceModel()`)\n * is never mutated -- `structuredClone()` gives this membrane its own\n * disposable copy to wrap, so a genuinely frozen `EvidenceModel` can still\n * be projected.\n */\nfunction createTrackingProxy(evidence: EvidenceModel): {\n proxy: EvidenceModel\n readPaths: () => readonly string[]\n} {\n const clone = structuredClone(evidence)\n const paths = new Set<string>()\n const wrapped = new WeakMap<object, unknown>()\n\n function wrap<V>(value: V, path: readonly string[]): V {\n if (value === null || typeof value !== \"object\") return value\n const target = value\n const cached = wrapped.get(target)\n if (cached) return cached as V\n\n const proxy = new Proxy(target, {\n get(currentTarget, prop, receiver) {\n const result: unknown = Reflect.get(currentTarget, prop, receiver)\n if (typeof prop !== \"string\") return result\n if (Array.isArray(currentTarget) && prop === \"length\") return result\n const nextPath = [...path, prop]\n paths.add(nextPath.join(\".\"))\n return wrap(result, nextPath)\n },\n set() {\n throw readOnlyMembraneError()\n },\n deleteProperty() {\n throw readOnlyMembraneError()\n },\n defineProperty() {\n throw readOnlyMembraneError()\n },\n setPrototypeOf() {\n throw readOnlyMembraneError()\n },\n })\n wrapped.set(target, proxy)\n return proxy\n }\n\n return { proxy: wrap(clone, []), readPaths: () => [...paths].sort() }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ function describe(value){if(value===void 0)return "undefined";if(value===null)return "null";return `a ${typeof value}`}function toArray(separator=",",processors2=[]){return value=>{const items=Array.isArray(value)?value:typeof value==="string"&&value.trim()!==""?value.split(separator).map(item=>item.trim()):[];return items.map(item=>{return processors2.reduce((current,processor)=>processor(current),item)})}}function base64(){return value=>{try{return Buffer.from(String(value),"base64")}catch{throw new Error("Expected a valid base64 value.")}}}function toBigInt(){return value=>{try{return BigInt(String(value))}catch{throw new Error("Expected a bigint value.")}}}function toBoolean(){return value=>{if(typeof value==="boolean")return value;const normalized=String(value).trim().toLowerCase();if(["true","1","yes","on"].includes(normalized))return true;if(["false","0","no","off"].includes(normalized))return false;throw new Error(`Expected a boolean-like value (true/false/1/0/yes/no/on/off), received ${describe(value)}.`)}}function toDate(){return value=>{const result=new Date(String(value));if(Number.isNaN(result.getTime())){throw new Error("Expected a valid date.")}return result}}function toInteger(){return value=>{const parsed=toNumber()(value);if(!Number.isInteger(parsed)){throw new Error("Expected an integer value.")}return parsed}}function parseJSON(){return value=>{if(typeof value!=="string"){if(value===void 0){throw new Error("Expected a JSON string, received undefined.")}return value}try{return JSON.parse(value)}catch{throw new Error("Expected a valid JSON string, but parsing failed.")}}}function toLowerCase(){return value=>String(value??"").toLowerCase()}function toNumber(){return value=>{if(typeof value==="string"&&value.trim()===""){throw new Error("Expected a numeric value, received an empty string.")}const result=typeof value==="number"?value:Number(value);if(Number.isNaN(result)){throw new Error(`Expected a numeric value, received ${describe(value)}.`)}return result}}function toRegExp(){return value=>{try{return new RegExp(String(value))}catch{throw new Error("Expected a valid regular expression.")}}}function split(separator=","){return value=>{if(typeof value!=="string")return [];return value.split(separator).map(item=>item.trim())}}function toString(){return value=>{if(value===void 0||value===null)return "";return typeof value==="string"?value:String(value)}}function trim(){return value=>String(value??"").trim()}function toUpperCase(){return value=>String(value??"").toUpperCase()}function toURL(){return value=>{try{return new URL(String(value??""))}catch{throw new Error("Expected a valid absolute URL.")}}}function after(date){return (value,_rawEnv)=>value>date||"Expected date to be after required date."}function all(...validators2){return (value,rawEnv)=>{for(const validator of validators2){const result=validator(value,rawEnv);if(result!==true)return result}return true}}function any(...validators2){return (value,rawEnv)=>{for(const validator of validators2){if(validator(value,rawEnv)===true)return true}return "Value did not satisfy any validation."}}function before(date){return (value,_rawEnv)=>value<date||"Expected date to be before required date."}function custom(validator){return validator}function email(){return matches(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,"Expected a valid email address.")}function endsWith(suffix){return (value,_rawEnv)=>value.endsWith(suffix)||"Expected value to end with required suffix."}function finite(){return (value,_rawEnv)=>Number.isFinite(value)||"Expected a finite number."}function future(){return (value,_rawEnv)=>value>new Date||"Expected a future date."}function includes(text){return (value,_rawEnv)=>value.includes(text)||"Expected value to include required text."}function integer(){return (value,_rawEnv)=>Number.isInteger(value)||"Expected an integer value."}function length(expected){return (value,_rawEnv)=>value.length===expected||`Expected length ${expected}.`}function matches(pattern,message){return (value,_rawEnv)=>pattern.test(value)||(message??"Expected value to match required pattern.")}function max(maximum){return (value,_rawEnv)=>value<=maximum||`Expected a value less than or equal to ${maximum}.`}function maxItems(maximum){return (value,_rawEnv)=>value.length<=maximum||`Expected no more than ${maximum} items.`}function maxLength(length2){return (value,_rawEnv)=>value.length<=length2||`Expected a maximum length of ${length2}.`}function min(minimum){return (value,_rawEnv)=>value>=minimum||`Expected a value greater than or equal to ${minimum}.`}function minItems(minimum){return (value,_rawEnv)=>value.length>=minimum||`Expected at least ${minimum} items.`}function minLength(length2){return (value,_rawEnv)=>value.length>=length2||`Expected a minimum length of ${length2}.`}function negative(){return (value,_rawEnv)=>value<0||"Expected a negative value."}function not(validator){return (value,rawEnv)=>validator(value,rawEnv)===true?"Value must not satisfy this validation.":true}function oneOf(allowed){return (value,_rawEnv)=>allowed.includes(value)||`Expected one of: ${allowed.join(", ")}.`}function optional(validator){return (value,rawEnv)=>{if(value===void 0)return true;return validator(value,rawEnv)}}function past(){return (value,_rawEnv)=>value<new Date||"Expected a past date."}function positive(){return (value,_rawEnv)=>value>0||"Expected a positive value."}function range(minimum,maximum){return (value,_rawEnv)=>value>=minimum&&value<=maximum||`Expected a value greater than or equal to ${minimum} and less than or equal to ${maximum}.`}function refine(validator,message){return (value,rawEnv)=>validator(value,rawEnv)===true?true:message}function required(allowEmptyString=false){return (value,_rawEnv)=>{if(value===void 0||value===null){return "This variable is required."}if(!allowEmptyString&&typeof value==="string"&&value.length===0){return "This variable is required."}return true}}function safeInteger(){return (value,_rawEnv)=>Number.isSafeInteger(value)||"Expected a safe integer."}function unique(){return (value,_rawEnv)=>new Set(value).size===value.length||"Expected all items to be unique."}function url(){return (value,_rawEnv)=>{try{new URL(value);return true}catch{return "Expected a valid absolute URL."}}}function uuid(versions=[1,2,3,4,5,6,7,8]){return (value,_rawEnv)=>{const match=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f])[0-9a-f]{3}-([89ab])[0-9a-f]{3}-([0-9a-f]{12})$/i.exec(value);if(!match){return "Expected a valid UUID ."}const version=Number.parseInt(match[3],16);if(!versions.includes(version)){return `Expected UUID version ${versions.join(", ")}.`}return true}}function uuidVersion(number){return uuid([number])}var processors={base64,parseJSON,split,toArray,toBigInt,toBoolean,toDate,toInteger,toLowerCase,toNumber,toRegExp,toString,toURL,toUpperCase,trim};var validators={after,all,any,before,custom,email,endsWith,enum:oneOf,finite,future,includes,integer,length,matches,max,maxItems,maxLength,min,minItems,minLength,negative,not,oneOf,optional,past,positive,range,refine,regex:matches,required,safeInteger,unique,url,uuid,uuidVersion};
4
+
5
+ exports.processors = processors;
6
+ exports.validators = validators;
7
+ //# sourceMappingURL=helpers.cjs.map
8
+ //# sourceMappingURL=helpers.cjs.map