@synapsestudios/lintofu 0.0.0-stage → 0.9.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.
- package/LICENSE +661 -0
- package/README.md +151 -2
- package/dist/configs/category-recommended.d.ts +3 -0
- package/dist/configs/category-recommended.d.ts.map +1 -0
- package/dist/configs/category-recommended.js +12 -0
- package/dist/configs/category-recommended.js.map +1 -0
- package/dist/configs/recommended.d.ts +3 -0
- package/dist/configs/recommended.d.ts.map +1 -0
- package/dist/configs/recommended.js +12 -0
- package/dist/configs/recommended.js.map +1 -0
- package/dist/index.d.ts +198 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +65 -0
- package/dist/index.js.map +1 -0
- package/dist/language.d.ts +34 -0
- package/dist/language.d.ts.map +1 -0
- package/dist/language.js +72 -0
- package/dist/language.js.map +1 -0
- package/dist/parser/index.d.ts +10 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +43 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/lintofu-parser.wasm +0 -0
- package/dist/parser/types.d.ts +261 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +3 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/parser/wasm-exec.cjs +575 -0
- package/dist/project-index.d.ts +40 -0
- package/dist/project-index.d.ts.map +1 -0
- package/dist/project-index.js +89 -0
- package/dist/project-index.js.map +1 -0
- package/dist/rules/aws/acm-certificate-create-before-destroy-required.d.ts +6 -0
- package/dist/rules/aws/acm-certificate-create-before-destroy-required.d.ts.map +1 -0
- package/dist/rules/aws/acm-certificate-create-before-destroy-required.js +47 -0
- package/dist/rules/aws/acm-certificate-create-before-destroy-required.js.map +1 -0
- package/dist/rules/aws/no-api-gateway-deployment-stage-args.d.ts +6 -0
- package/dist/rules/aws/no-api-gateway-deployment-stage-args.d.ts.map +1 -0
- package/dist/rules/aws/no-api-gateway-deployment-stage-args.js +56 -0
- package/dist/rules/aws/no-api-gateway-deployment-stage-args.js.map +1 -0
- package/dist/rules/aws/no-aurora-pinned-minor-with-auto-upgrade.d.ts +6 -0
- package/dist/rules/aws/no-aurora-pinned-minor-with-auto-upgrade.d.ts.map +1 -0
- package/dist/rules/aws/no-aurora-pinned-minor-with-auto-upgrade.js +88 -0
- package/dist/rules/aws/no-aurora-pinned-minor-with-auto-upgrade.js.map +1 -0
- package/dist/rules/aws/no-db-instance-name-attribute.d.ts +6 -0
- package/dist/rules/aws/no-db-instance-name-attribute.d.ts.map +1 -0
- package/dist/rules/aws/no-db-instance-name-attribute.js +45 -0
- package/dist/rules/aws/no-db-instance-name-attribute.js.map +1 -0
- package/dist/rules/aws/no-deprecated-lambda-runtime.d.ts +6 -0
- package/dist/rules/aws/no-deprecated-lambda-runtime.d.ts.map +1 -0
- package/dist/rules/aws/no-deprecated-lambda-runtime.js +91 -0
- package/dist/rules/aws/no-deprecated-lambda-runtime.js.map +1 -0
- package/dist/rules/aws/no-eip-vpc-attribute.d.ts +6 -0
- package/dist/rules/aws/no-eip-vpc-attribute.d.ts.map +1 -0
- package/dist/rules/aws/no-eip-vpc-attribute.js +66 -0
- package/dist/rules/aws/no-eip-vpc-attribute.js.map +1 -0
- package/dist/rules/aws/no-eks-addon-resolve-conflicts.d.ts +6 -0
- package/dist/rules/aws/no-eks-addon-resolve-conflicts.d.ts.map +1 -0
- package/dist/rules/aws/no-eks-addon-resolve-conflicts.js +36 -0
- package/dist/rules/aws/no-eks-addon-resolve-conflicts.js.map +1 -0
- package/dist/rules/aws/no-hardcoded-provider-credentials.d.ts +6 -0
- package/dist/rules/aws/no-hardcoded-provider-credentials.d.ts.map +1 -0
- package/dist/rules/aws/no-hardcoded-provider-credentials.js +42 -0
- package/dist/rules/aws/no-hardcoded-provider-credentials.js.map +1 -0
- package/dist/rules/aws/no-iam-policy-attachment.d.ts +6 -0
- package/dist/rules/aws/no-iam-policy-attachment.d.ts.map +1 -0
- package/dist/rules/aws/no-iam-policy-attachment.js +28 -0
- package/dist/rules/aws/no-iam-policy-attachment.js.map +1 -0
- package/dist/rules/aws/no-iam-role-inline-policies.d.ts +6 -0
- package/dist/rules/aws/no-iam-role-inline-policies.d.ts.map +1 -0
- package/dist/rules/aws/no-iam-role-inline-policies.js +43 -0
- package/dist/rules/aws/no-iam-role-inline-policies.js.map +1 -0
- package/dist/rules/aws/no-instance-cpu-count-attributes.d.ts +6 -0
- package/dist/rules/aws/no-instance-cpu-count-attributes.d.ts.map +1 -0
- package/dist/rules/aws/no-instance-cpu-count-attributes.js +94 -0
- package/dist/rules/aws/no-instance-cpu-count-attributes.js.map +1 -0
- package/dist/rules/aws/no-legacy-security-group-rules.d.ts +6 -0
- package/dist/rules/aws/no-legacy-security-group-rules.d.ts.map +1 -0
- package/dist/rules/aws/no-legacy-security-group-rules.js +39 -0
- package/dist/rules/aws/no-legacy-security-group-rules.js.map +1 -0
- package/dist/rules/aws/no-mixed-security-group-rule-forms.d.ts +6 -0
- package/dist/rules/aws/no-mixed-security-group-rule-forms.d.ts.map +1 -0
- package/dist/rules/aws/no-mixed-security-group-rule-forms.js +63 -0
- package/dist/rules/aws/no-mixed-security-group-rule-forms.js.map +1 -0
- package/dist/rules/aws/no-pinned-minor-with-auto-upgrade.d.ts +6 -0
- package/dist/rules/aws/no-pinned-minor-with-auto-upgrade.d.ts.map +1 -0
- package/dist/rules/aws/no-pinned-minor-with-auto-upgrade.js +100 -0
- package/dist/rules/aws/no-pinned-minor-with-auto-upgrade.js.map +1 -0
- package/dist/rules/aws/no-s3-bucket-inline-config.d.ts +6 -0
- package/dist/rules/aws/no-s3-bucket-inline-config.d.ts.map +1 -0
- package/dist/rules/aws/no-s3-bucket-inline-config.js +67 -0
- package/dist/rules/aws/no-s3-bucket-inline-config.js.map +1 -0
- package/dist/rules/aws/no-s3-bucket-object.d.ts +6 -0
- package/dist/rules/aws/no-s3-bucket-object.d.ts.map +1 -0
- package/dist/rules/aws/no-s3-bucket-object.js +41 -0
- package/dist/rules/aws/no-s3-bucket-object.js.map +1 -0
- package/dist/rules/aws/utils.d.ts +4 -0
- package/dist/rules/aws/utils.d.ts.map +1 -0
- package/dist/rules/aws/utils.js +17 -0
- package/dist/rules/aws/utils.js.map +1 -0
- package/dist/rules/cloudflare/access-rule-country-block-requires-enterprise.d.ts +6 -0
- package/dist/rules/cloudflare/access-rule-country-block-requires-enterprise.d.ts.map +1 -0
- package/dist/rules/cloudflare/access-rule-country-block-requires-enterprise.js +66 -0
- package/dist/rules/cloudflare/access-rule-country-block-requires-enterprise.js.map +1 -0
- package/dist/rules/cloudflare/dns-record-requires-managed-by-annotation.d.ts +10 -0
- package/dist/rules/cloudflare/dns-record-requires-managed-by-annotation.d.ts.map +1 -0
- package/dist/rules/cloudflare/dns-record-requires-managed-by-annotation.js +104 -0
- package/dist/rules/cloudflare/dns-record-requires-managed-by-annotation.js.map +1 -0
- package/dist/rules/cloudflare/ruleset-requires-managed-by-description.d.ts +9 -0
- package/dist/rules/cloudflare/ruleset-requires-managed-by-description.d.ts.map +1 -0
- package/dist/rules/cloudflare/ruleset-requires-managed-by-description.js +52 -0
- package/dist/rules/cloudflare/ruleset-requires-managed-by-description.js.map +1 -0
- package/dist/rules/cloudflare/utils.d.ts +17 -0
- package/dist/rules/cloudflare/utils.d.ts.map +1 -0
- package/dist/rules/cloudflare/utils.js +37 -0
- package/dist/rules/cloudflare/utils.js.map +1 -0
- package/dist/rules/core/documented-outputs.d.ts +6 -0
- package/dist/rules/core/documented-outputs.d.ts.map +1 -0
- package/dist/rules/core/documented-outputs.js +41 -0
- package/dist/rules/core/documented-outputs.js.map +1 -0
- package/dist/rules/core/documented-variables.d.ts +6 -0
- package/dist/rules/core/documented-variables.d.ts.map +1 -0
- package/dist/rules/core/documented-variables.js +41 -0
- package/dist/rules/core/documented-variables.js.map +1 -0
- package/dist/rules/core/module-source-pinned.d.ts +6 -0
- package/dist/rules/core/module-source-pinned.d.ts.map +1 -0
- package/dist/rules/core/module-source-pinned.js +47 -0
- package/dist/rules/core/module-source-pinned.js.map +1 -0
- package/dist/rules/core/no-bool-as-count.d.ts +6 -0
- package/dist/rules/core/no-bool-as-count.d.ts.map +1 -0
- package/dist/rules/core/no-bool-as-count.js +69 -0
- package/dist/rules/core/no-bool-as-count.js.map +1 -0
- package/dist/rules/core/no-duplicate-map-keys.d.ts +6 -0
- package/dist/rules/core/no-duplicate-map-keys.d.ts.map +1 -0
- package/dist/rules/core/no-duplicate-map-keys.js +42 -0
- package/dist/rules/core/no-duplicate-map-keys.js.map +1 -0
- package/dist/rules/core/no-empty-list-equality.d.ts +6 -0
- package/dist/rules/core/no-empty-list-equality.d.ts.map +1 -0
- package/dist/rules/core/no-empty-list-equality.js +48 -0
- package/dist/rules/core/no-empty-list-equality.js.map +1 -0
- package/dist/rules/core/no-external-refs-in-destroy-provisioner.d.ts +6 -0
- package/dist/rules/core/no-external-refs-in-destroy-provisioner.d.ts.map +1 -0
- package/dist/rules/core/no-external-refs-in-destroy-provisioner.js +74 -0
- package/dist/rules/core/no-external-refs-in-destroy-provisioner.js.map +1 -0
- package/dist/rules/core/no-legacy-count-attribute.d.ts +6 -0
- package/dist/rules/core/no-legacy-count-attribute.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-count-attribute.js +64 -0
- package/dist/rules/core/no-legacy-count-attribute.js.map +1 -0
- package/dist/rules/core/no-legacy-dot-index.d.ts +6 -0
- package/dist/rules/core/no-legacy-dot-index.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-dot-index.js +79 -0
- package/dist/rules/core/no-legacy-dot-index.js.map +1 -0
- package/dist/rules/core/no-legacy-ignore-changes-wildcard.d.ts +6 -0
- package/dist/rules/core/no-legacy-ignore-changes-wildcard.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-ignore-changes-wildcard.js +40 -0
- package/dist/rules/core/no-legacy-ignore-changes-wildcard.js.map +1 -0
- package/dist/rules/core/no-legacy-list-function.d.ts +6 -0
- package/dist/rules/core/no-legacy-list-function.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-list-function.js +67 -0
- package/dist/rules/core/no-legacy-list-function.js.map +1 -0
- package/dist/rules/core/no-legacy-lookup.d.ts +6 -0
- package/dist/rules/core/no-legacy-lookup.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-lookup.js +53 -0
- package/dist/rules/core/no-legacy-lookup.js.map +1 -0
- package/dist/rules/core/no-legacy-map-function.d.ts +6 -0
- package/dist/rules/core/no-legacy-map-function.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-map-function.js +90 -0
- package/dist/rules/core/no-legacy-map-function.js.map +1 -0
- package/dist/rules/core/no-legacy-provider-proxy.d.ts +6 -0
- package/dist/rules/core/no-legacy-provider-proxy.d.ts.map +1 -0
- package/dist/rules/core/no-legacy-provider-proxy.js +43 -0
- package/dist/rules/core/no-legacy-provider-proxy.js.map +1 -0
- package/dist/rules/core/no-provider-version-constraint.d.ts +6 -0
- package/dist/rules/core/no-provider-version-constraint.d.ts.map +1 -0
- package/dist/rules/core/no-provider-version-constraint.js +33 -0
- package/dist/rules/core/no-provider-version-constraint.js.map +1 -0
- package/dist/rules/core/no-quoted-depends-on.d.ts +6 -0
- package/dist/rules/core/no-quoted-depends-on.d.ts.map +1 -0
- package/dist/rules/core/no-quoted-depends-on.js +55 -0
- package/dist/rules/core/no-quoted-depends-on.js.map +1 -0
- package/dist/rules/core/no-quoted-ignore-changes.d.ts +6 -0
- package/dist/rules/core/no-quoted-ignore-changes.d.ts.map +1 -0
- package/dist/rules/core/no-quoted-ignore-changes.js +63 -0
- package/dist/rules/core/no-quoted-ignore-changes.js.map +1 -0
- package/dist/rules/core/no-quoted-provider-reference.d.ts +6 -0
- package/dist/rules/core/no-quoted-provider-reference.d.ts.map +1 -0
- package/dist/rules/core/no-quoted-provider-reference.js +69 -0
- package/dist/rules/core/no-quoted-provider-reference.js.map +1 -0
- package/dist/rules/core/no-quoted-type-constraints.d.ts +6 -0
- package/dist/rules/core/no-quoted-type-constraints.d.ts.map +1 -0
- package/dist/rules/core/no-quoted-type-constraints.js +55 -0
- package/dist/rules/core/no-quoted-type-constraints.js.map +1 -0
- package/dist/rules/core/no-reserved-variable-names.d.ts +6 -0
- package/dist/rules/core/no-reserved-variable-names.d.ts.map +1 -0
- package/dist/rules/core/no-reserved-variable-names.js +41 -0
- package/dist/rules/core/no-reserved-variable-names.js.map +1 -0
- package/dist/rules/core/no-splat-bracket-index.d.ts +6 -0
- package/dist/rules/core/no-splat-bracket-index.d.ts.map +1 -0
- package/dist/rules/core/no-splat-bracket-index.js +30 -0
- package/dist/rules/core/no-splat-bracket-index.js.map +1 -0
- package/dist/rules/core/no-template-provider.d.ts +6 -0
- package/dist/rules/core/no-template-provider.d.ts.map +1 -0
- package/dist/rules/core/no-template-provider.js +63 -0
- package/dist/rules/core/no-template-provider.js.map +1 -0
- package/dist/rules/core/no-terraform-env-reference.d.ts +6 -0
- package/dist/rules/core/no-terraform-env-reference.d.ts.map +1 -0
- package/dist/rules/core/no-terraform-env-reference.js +35 -0
- package/dist/rules/core/no-terraform-env-reference.js.map +1 -0
- package/dist/rules/core/no-winrm-connection.d.ts +6 -0
- package/dist/rules/core/no-winrm-connection.d.ts.map +1 -0
- package/dist/rules/core/no-winrm-connection.js +31 -0
- package/dist/rules/core/no-winrm-connection.js.map +1 -0
- package/dist/rules/core/prefer-bare-expression.d.ts +6 -0
- package/dist/rules/core/prefer-bare-expression.d.ts.map +1 -0
- package/dist/rules/core/prefer-bare-expression.js +23 -0
- package/dist/rules/core/prefer-bare-expression.js.map +1 -0
- package/dist/rules/core/provider-source-required.d.ts +6 -0
- package/dist/rules/core/provider-source-required.d.ts.map +1 -0
- package/dist/rules/core/provider-source-required.js +45 -0
- package/dist/rules/core/provider-source-required.js.map +1 -0
- package/dist/rules/core/remote-state-outputs-prefix.d.ts +6 -0
- package/dist/rules/core/remote-state-outputs-prefix.d.ts.map +1 -0
- package/dist/rules/core/remote-state-outputs-prefix.js +54 -0
- package/dist/rules/core/remote-state-outputs-prefix.js.map +1 -0
- package/dist/rules/core/required-providers-pinned.d.ts +6 -0
- package/dist/rules/core/required-providers-pinned.d.ts.map +1 -0
- package/dist/rules/core/required-providers-pinned.js +37 -0
- package/dist/rules/core/required-providers-pinned.js.map +1 -0
- package/dist/rules/core/required-version-declared.d.ts +6 -0
- package/dist/rules/core/required-version-declared.d.ts.map +1 -0
- package/dist/rules/core/required-version-declared.js +38 -0
- package/dist/rules/core/required-version-declared.js.map +1 -0
- package/dist/rules/core/typed-variables.d.ts +6 -0
- package/dist/rules/core/typed-variables.d.ts.map +1 -0
- package/dist/rules/core/typed-variables.js +32 -0
- package/dist/rules/core/typed-variables.js.map +1 -0
- package/dist/rules/core/utils.d.ts +31 -0
- package/dist/rules/core/utils.d.ts.map +1 -0
- package/dist/rules/core/utils.js +185 -0
- package/dist/rules/core/utils.js.map +1 -0
- package/dist/rules/index.d.ts +157 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +101 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/types.d.ts +57 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +15 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/source-code.d.ts +84 -0
- package/dist/source-code.d.ts.map +1 -0
- package/dist/source-code.js +170 -0
- package/dist/source-code.js.map +1 -0
- package/dist/types.d.ts +67 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/visitor-keys.d.ts +3 -0
- package/dist/visitor-keys.d.ts.map +1 -0
- package/dist/visitor-keys.js +30 -0
- package/dist/visitor-keys.js.map +1 -0
- package/package.json +88 -4
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
let bootPromise;
|
|
6
|
+
async function boot() {
|
|
7
|
+
if (bootPromise)
|
|
8
|
+
return bootPromise;
|
|
9
|
+
bootPromise = (async () => {
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
// wasm-exec.cjs installs globalThis.Go as a side effect.
|
|
13
|
+
require(join(here, 'wasm-exec.cjs'));
|
|
14
|
+
const wasmBytes = await readFile(join(here, 'lintofu-parser.wasm'));
|
|
15
|
+
const host = globalThis;
|
|
16
|
+
const go = new host.Go();
|
|
17
|
+
const { instance } = await WebAssembly.instantiate(wasmBytes, go.importObject);
|
|
18
|
+
// Don't await: go.run resolves only when Go exits, but our main
|
|
19
|
+
// blocks on select{} so callbacks stay reachable.
|
|
20
|
+
void go.run(instance);
|
|
21
|
+
})();
|
|
22
|
+
return bootPromise;
|
|
23
|
+
}
|
|
24
|
+
// ESLint's Language.parse contract is sync, so consumers must call
|
|
25
|
+
// initialize() (typically as top-level await at plugin load) before any
|
|
26
|
+
// parseSync() can succeed.
|
|
27
|
+
export async function initialize() {
|
|
28
|
+
await boot();
|
|
29
|
+
}
|
|
30
|
+
export function parseSync(source, opts = {}) {
|
|
31
|
+
const host = globalThis;
|
|
32
|
+
if (!host.__lintofu_parse) {
|
|
33
|
+
throw new Error('lintofu parser: not initialized. Call initialize() before parseSync().');
|
|
34
|
+
}
|
|
35
|
+
const filename = opts.filename ?? '<anonymous>';
|
|
36
|
+
const raw = host.__lintofu_parse(source, filename);
|
|
37
|
+
return JSON.parse(raw);
|
|
38
|
+
}
|
|
39
|
+
export async function parse(source, opts = {}) {
|
|
40
|
+
await boot();
|
|
41
|
+
return parseSync(source, opts);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAezC,IAAI,WAAsC,CAAC;AAE3C,KAAK,UAAU,IAAI;IACjB,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAErD,yDAAyD;QACzD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;QAErC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,UAA+B,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,WAAW,CAChD,SAAS,EACT,EAAE,CAAC,YAAY,CAChB,CAAC;QACF,gEAAgE;QAChE,kDAAkD;QAClD,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,mEAAmE;AACnE,wEAAwE;AACxE,2BAA2B;AAC3B,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,IAAI,EAAE,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,MAAc,EACd,OAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,UAA+B,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,MAAc,EACd,OAA8B,EAAE;IAEhC,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
Binary file
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/** A position in source. Byte-oriented, not character-oriented. */
|
|
2
|
+
export interface Pos {
|
|
3
|
+
/** 1-indexed. */
|
|
4
|
+
line: number;
|
|
5
|
+
/** 1-indexed byte offset within the line (NOT a character offset). */
|
|
6
|
+
column: number;
|
|
7
|
+
/** 0-indexed byte offset from BOF. */
|
|
8
|
+
offset: number;
|
|
9
|
+
}
|
|
10
|
+
/** Start and end positions of a node's source text. Every node carries one. */
|
|
11
|
+
export interface Range {
|
|
12
|
+
start: Pos;
|
|
13
|
+
end: Pos;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Contents of a file or a block body. `blocks` and `attributes` are in
|
|
17
|
+
* source order.
|
|
18
|
+
*/
|
|
19
|
+
export interface Body {
|
|
20
|
+
type: 'Body';
|
|
21
|
+
blocks: Block[];
|
|
22
|
+
attributes: Attribute[];
|
|
23
|
+
range: Range;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* An HCL block. `kind` is the block type as written (`resource`,
|
|
27
|
+
* `variable`, ...), `labels` the quoted or bare labels, `body` the nested
|
|
28
|
+
* body.
|
|
29
|
+
*/
|
|
30
|
+
export interface Block {
|
|
31
|
+
type: 'Block';
|
|
32
|
+
kind: string;
|
|
33
|
+
labels: string[];
|
|
34
|
+
body: Body;
|
|
35
|
+
range: Range;
|
|
36
|
+
}
|
|
37
|
+
/** A `name = expression` assignment. */
|
|
38
|
+
export interface Attribute {
|
|
39
|
+
type: 'Attribute';
|
|
40
|
+
name: string;
|
|
41
|
+
expression: Expression;
|
|
42
|
+
range: Range;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Discriminated union of every expression node; narrow on `type`. Several
|
|
46
|
+
* variants (FunctionCallExpr, TupleConsExpr, ConditionalExpr, ForExpr,
|
|
47
|
+
* SplatExpr, IndexExpr, RelativeTraversalExpr, ParenthesesExpr, BinaryOpExpr,
|
|
48
|
+
* UnaryOpExpr) are not root exports and are reached only by narrowing this
|
|
49
|
+
* union; their interface docs are what hover shows after narrowing.
|
|
50
|
+
*/
|
|
51
|
+
export type Expression = LiteralValueExpr | TemplateExpr | TemplateWrapExpr | FunctionCallExpr | ScopeTraversalExpr | ObjectConsExpr | ObjectConsKeyExpr | TupleConsExpr | ConditionalExpr | ForExpr | SplatExpr | IndexExpr | RelativeTraversalExpr | ParenthesesExpr | BinaryOpExpr | UnaryOpExpr | UnknownExpr;
|
|
52
|
+
/** A constant scalar. `value` is a string, number, boolean, or null. */
|
|
53
|
+
export interface LiteralValueExpr {
|
|
54
|
+
type: 'LiteralValueExpr';
|
|
55
|
+
value: string | number | boolean | null;
|
|
56
|
+
range: Range;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A string template. `parts` interleaves literal and interpolated
|
|
60
|
+
* expressions.
|
|
61
|
+
*/
|
|
62
|
+
export interface TemplateExpr {
|
|
63
|
+
type: 'TemplateExpr';
|
|
64
|
+
parts: Expression[];
|
|
65
|
+
range: Range;
|
|
66
|
+
}
|
|
67
|
+
/** A function call like `concat(a, b)`. */
|
|
68
|
+
export interface FunctionCallExpr {
|
|
69
|
+
type: 'FunctionCallExpr';
|
|
70
|
+
name: string;
|
|
71
|
+
args: Expression[];
|
|
72
|
+
/** HCL's `...` spread of the final argument, e.g. `concat(a, b...)`. */
|
|
73
|
+
expandFinal: boolean;
|
|
74
|
+
range: Range;
|
|
75
|
+
}
|
|
76
|
+
/** `"${expr}"` exactly: a single non-literal part with no surrounding text. */
|
|
77
|
+
export interface TemplateWrapExpr {
|
|
78
|
+
type: 'TemplateWrapExpr';
|
|
79
|
+
wrapped: Expression;
|
|
80
|
+
range: Range;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* A variable reference like `aws_instance.web.id`. `traversal` is the chain
|
|
84
|
+
* of steps, starting with a {@link TraverseRoot}.
|
|
85
|
+
*/
|
|
86
|
+
export interface ScopeTraversalExpr {
|
|
87
|
+
type: 'ScopeTraversalExpr';
|
|
88
|
+
traversal: Traverser[];
|
|
89
|
+
range: Range;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Union of traversal steps; narrow on `type`. {@link TraverseIndex} is
|
|
93
|
+
* reachable only through this union.
|
|
94
|
+
*/
|
|
95
|
+
export type Traverser = TraverseRoot | TraverseAttr | TraverseIndex;
|
|
96
|
+
/** First step of a traversal: the bare root symbol (`aws_instance`). */
|
|
97
|
+
export interface TraverseRoot {
|
|
98
|
+
type: 'TraverseRoot';
|
|
99
|
+
name: string;
|
|
100
|
+
range: Range;
|
|
101
|
+
}
|
|
102
|
+
/** A `.name` step. */
|
|
103
|
+
export interface TraverseAttr {
|
|
104
|
+
type: 'TraverseAttr';
|
|
105
|
+
name: string;
|
|
106
|
+
range: Range;
|
|
107
|
+
}
|
|
108
|
+
/** A constant `[key]` step folded into the traversal (see {@link IndexExpr}). */
|
|
109
|
+
export interface TraverseIndex {
|
|
110
|
+
type: 'TraverseIndex';
|
|
111
|
+
key: string | number | boolean | null;
|
|
112
|
+
range: Range;
|
|
113
|
+
}
|
|
114
|
+
/** An object constructor `{ k = v, ... }`. */
|
|
115
|
+
export interface ObjectConsExpr {
|
|
116
|
+
type: 'ObjectConsExpr';
|
|
117
|
+
items: ObjectConsItem[];
|
|
118
|
+
range: Range;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* One key/value pair of an {@link ObjectConsExpr}. Has no `type`
|
|
122
|
+
* discriminator, so it is not a visitable node: OpenTofuSourceCode.traverse()
|
|
123
|
+
* descends into `keyExpr` and `valueExpr` directly (out-of-band), and there
|
|
124
|
+
* is no `ObjectConsItem` visitor key in OpenTofuRuleVisitor.
|
|
125
|
+
*/
|
|
126
|
+
export interface ObjectConsItem {
|
|
127
|
+
keyExpr: Expression;
|
|
128
|
+
valueExpr: Expression;
|
|
129
|
+
}
|
|
130
|
+
/** Wrapper HCL puts around object keys; unwrap via `wrapped`. */
|
|
131
|
+
export interface ObjectConsKeyExpr {
|
|
132
|
+
type: 'ObjectConsKeyExpr';
|
|
133
|
+
wrapped: Expression;
|
|
134
|
+
range: Range;
|
|
135
|
+
}
|
|
136
|
+
/** A list constructor `[a, b, c]`. */
|
|
137
|
+
export interface TupleConsExpr {
|
|
138
|
+
type: 'TupleConsExpr';
|
|
139
|
+
exprs: Expression[];
|
|
140
|
+
range: Range;
|
|
141
|
+
}
|
|
142
|
+
/** `cond ? a : b`. */
|
|
143
|
+
export interface ConditionalExpr {
|
|
144
|
+
type: 'ConditionalExpr';
|
|
145
|
+
condition: Expression;
|
|
146
|
+
trueResult: Expression;
|
|
147
|
+
falseResult: Expression;
|
|
148
|
+
range: Range;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* A for expression. `keyVar` and `valVar` are the loop variable names,
|
|
152
|
+
* `keyExpr` is present only for object results, `condExpr` is the optional
|
|
153
|
+
* `if` filter, and `group` is true for `...` grouping.
|
|
154
|
+
*/
|
|
155
|
+
export interface ForExpr {
|
|
156
|
+
type: 'ForExpr';
|
|
157
|
+
keyVar: string;
|
|
158
|
+
valVar: string;
|
|
159
|
+
collExpr: Expression;
|
|
160
|
+
keyExpr?: Expression;
|
|
161
|
+
valExpr: Expression;
|
|
162
|
+
condExpr?: Expression;
|
|
163
|
+
group: boolean;
|
|
164
|
+
range: Range;
|
|
165
|
+
}
|
|
166
|
+
/** `list[*].attr` or `list.*.attr`: `source` plus the per-element `each`. */
|
|
167
|
+
export interface SplatExpr {
|
|
168
|
+
type: 'SplatExpr';
|
|
169
|
+
source: Expression;
|
|
170
|
+
each: Expression;
|
|
171
|
+
range: Range;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* `x[k]` where `k` is non-constant. A constant index folds into the enclosing
|
|
175
|
+
* {@link ScopeTraversalExpr} as a {@link TraverseIndex} step instead.
|
|
176
|
+
*/
|
|
177
|
+
export interface IndexExpr {
|
|
178
|
+
type: 'IndexExpr';
|
|
179
|
+
collection: Expression;
|
|
180
|
+
key: Expression;
|
|
181
|
+
range: Range;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* A traversal chained onto a non-variable source: the `.id` in
|
|
185
|
+
* `aws_instance.x[*].id` or the `.address` in `(var.x).address`. A traversal
|
|
186
|
+
* rooted on a bare symbol folds into {@link ScopeTraversalExpr} instead.
|
|
187
|
+
*/
|
|
188
|
+
export interface RelativeTraversalExpr {
|
|
189
|
+
type: 'RelativeTraversalExpr';
|
|
190
|
+
source: Expression;
|
|
191
|
+
traversal: Traverser[];
|
|
192
|
+
range: Range;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* `(expr)`: explicit grouping parens, kept so a chained traversal or operator
|
|
196
|
+
* has something to attach to.
|
|
197
|
+
*/
|
|
198
|
+
export interface ParenthesesExpr {
|
|
199
|
+
type: 'ParenthesesExpr';
|
|
200
|
+
expression: Expression;
|
|
201
|
+
range: Range;
|
|
202
|
+
}
|
|
203
|
+
/** Operator names for {@link BinaryOpExpr}. */
|
|
204
|
+
export type BinaryOp = 'equal' | 'notEqual' | 'greaterThan' | 'greaterThanOrEqual' | 'lessThan' | 'lessThanOrEqual' | 'add' | 'subtract' | 'multiply' | 'divide' | 'modulo' | 'logicalAnd' | 'logicalOr';
|
|
205
|
+
/** `a == b`, `a + b`, `a && b`. `op` is the operator's name, not its symbol. */
|
|
206
|
+
export interface BinaryOpExpr {
|
|
207
|
+
type: 'BinaryOpExpr';
|
|
208
|
+
op: BinaryOp;
|
|
209
|
+
lhs: Expression;
|
|
210
|
+
rhs: Expression;
|
|
211
|
+
range: Range;
|
|
212
|
+
}
|
|
213
|
+
/** Operator names for {@link UnaryOpExpr}. */
|
|
214
|
+
export type UnaryOp = 'logicalNot' | 'negate';
|
|
215
|
+
/** `!x`, `-x`. `op` is the operator's name, not its symbol. */
|
|
216
|
+
export interface UnaryOpExpr {
|
|
217
|
+
type: 'UnaryOpExpr';
|
|
218
|
+
op: UnaryOp;
|
|
219
|
+
operand: Expression;
|
|
220
|
+
range: Range;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Fallback for expression kinds the parser does not model yet. `unknownKind`
|
|
224
|
+
* names the HCL syntax type.
|
|
225
|
+
*/
|
|
226
|
+
export interface UnknownExpr {
|
|
227
|
+
type: 'UnknownExpr';
|
|
228
|
+
unknownKind: string;
|
|
229
|
+
range: Range;
|
|
230
|
+
}
|
|
231
|
+
/** A parse diagnostic from HCL; severity is error or warning. */
|
|
232
|
+
export interface Diagnostic {
|
|
233
|
+
severity: 'error' | 'warning';
|
|
234
|
+
summary: string;
|
|
235
|
+
detail?: string;
|
|
236
|
+
range: Range;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Not an AST node: comments travel on their own channel
|
|
240
|
+
* (OpenTofuSourceCode.comments) and are never added to {@link NodeType},
|
|
241
|
+
* visitorKeys, or traverse(). `kind` is `'line'` (`#` or `//`) or `'block'`
|
|
242
|
+
* (`/*` style).
|
|
243
|
+
*/
|
|
244
|
+
export interface Comment {
|
|
245
|
+
type: 'Comment';
|
|
246
|
+
kind: 'line' | 'block';
|
|
247
|
+
value: string;
|
|
248
|
+
range: Range;
|
|
249
|
+
}
|
|
250
|
+
/** What the parser returns: ast, comments, diagnostics. */
|
|
251
|
+
export interface ParseResult {
|
|
252
|
+
ast: Body;
|
|
253
|
+
comments: Comment[];
|
|
254
|
+
diagnostics: Diagnostic[];
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Every visitable node type name. Drives compile-time exhaustiveness on
|
|
258
|
+
* visitorKeys.
|
|
259
|
+
*/
|
|
260
|
+
export type NodeType = 'Body' | 'Block' | 'Attribute' | 'LiteralValueExpr' | 'TemplateExpr' | 'TemplateWrapExpr' | 'FunctionCallExpr' | 'ScopeTraversalExpr' | 'ObjectConsExpr' | 'ObjectConsKeyExpr' | 'TupleConsExpr' | 'ConditionalExpr' | 'ForExpr' | 'SplatExpr' | 'IndexExpr' | 'RelativeTraversalExpr' | 'ParenthesesExpr' | 'BinaryOpExpr' | 'UnaryOpExpr' | 'UnknownExpr' | 'TraverseRoot' | 'TraverseAttr' | 'TraverseIndex';
|
|
261
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parser/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/parser/types.ts"],"names":[],"mappings":"AAAA,iEAAiE"}
|