@d-es-ign/stryker-js-instrumenter 9.6.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 +201 -0
- package/dist/src/create-instrumenter.d.ts +16 -0
- package/dist/src/create-instrumenter.d.ts.map +1 -0
- package/dist/src/create-instrumenter.js +15 -0
- package/dist/src/create-instrumenter.js.map +1 -0
- package/dist/src/disable-type-checks.d.ts +11 -0
- package/dist/src/disable-type-checks.d.ts.map +1 -0
- package/dist/src/disable-type-checks.js +125 -0
- package/dist/src/disable-type-checks.js.map +1 -0
- package/dist/src/file.d.ts +6 -0
- package/dist/src/file.d.ts.map +1 -0
- package/dist/src/file.js +2 -0
- package/dist/src/file.js.map +1 -0
- package/dist/src/frameworks/angular-ignorer.d.ts +16 -0
- package/dist/src/frameworks/angular-ignorer.d.ts.map +1 -0
- package/dist/src/frameworks/angular-ignorer.js +85 -0
- package/dist/src/frameworks/angular-ignorer.js.map +1 -0
- package/dist/src/frameworks/index.d.ts +4 -0
- package/dist/src/frameworks/index.d.ts.map +1 -0
- package/dist/src/frameworks/index.js +7 -0
- package/dist/src/frameworks/index.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/instrument-result.d.ts +7 -0
- package/dist/src/instrument-result.d.ts.map +1 -0
- package/dist/src/instrument-result.js +2 -0
- package/dist/src/instrument-result.js.map +1 -0
- package/dist/src/instrumenter-options.d.ts +5 -0
- package/dist/src/instrumenter-options.d.ts.map +1 -0
- package/dist/src/instrumenter-options.js +2 -0
- package/dist/src/instrumenter-options.js.map +1 -0
- package/dist/src/instrumenter-tokens.d.ts +6 -0
- package/dist/src/instrumenter-tokens.d.ts.map +1 -0
- package/dist/src/instrumenter-tokens.js +6 -0
- package/dist/src/instrumenter-tokens.js.map +1 -0
- package/dist/src/instrumenter.d.ts +24 -0
- package/dist/src/instrumenter.d.ts.map +1 -0
- package/dist/src/instrumenter.js +76 -0
- package/dist/src/instrumenter.js.map +1 -0
- package/dist/src/mutant-placers/expression-mutant-placer.d.ts +10 -0
- package/dist/src/mutant-placers/expression-mutant-placer.d.ts.map +1 -0
- package/dist/src/mutant-placers/expression-mutant-placer.js +144 -0
- package/dist/src/mutant-placers/expression-mutant-placer.js.map +1 -0
- package/dist/src/mutant-placers/index.d.ts +5 -0
- package/dist/src/mutant-placers/index.d.ts.map +1 -0
- package/dist/src/mutant-placers/index.js +11 -0
- package/dist/src/mutant-placers/index.js.map +1 -0
- package/dist/src/mutant-placers/mutant-placer.d.ts +8 -0
- package/dist/src/mutant-placers/mutant-placer.d.ts.map +1 -0
- package/dist/src/mutant-placers/mutant-placer.js +2 -0
- package/dist/src/mutant-placers/mutant-placer.js.map +1 -0
- package/dist/src/mutant-placers/statement-mutant-placer.d.ts +8 -0
- package/dist/src/mutant-placers/statement-mutant-placer.d.ts.map +1 -0
- package/dist/src/mutant-placers/statement-mutant-placer.js +24 -0
- package/dist/src/mutant-placers/statement-mutant-placer.js.map +1 -0
- package/dist/src/mutant-placers/switch-case-mutant-placer.d.ts +14 -0
- package/dist/src/mutant-placers/switch-case-mutant-placer.d.ts.map +1 -0
- package/dist/src/mutant-placers/switch-case-mutant-placer.js +29 -0
- package/dist/src/mutant-placers/switch-case-mutant-placer.js.map +1 -0
- package/dist/src/mutant-placers/throw-placement-error.d.ts +5 -0
- package/dist/src/mutant-placers/throw-placement-error.d.ts.map +1 -0
- package/dist/src/mutant-placers/throw-placement-error.js +17 -0
- package/dist/src/mutant-placers/throw-placement-error.js.map +1 -0
- package/dist/src/mutant.d.ts +27 -0
- package/dist/src/mutant.d.ts.map +1 -0
- package/dist/src/mutant.js +80 -0
- package/dist/src/mutant.js.map +1 -0
- package/dist/src/mutators/arithmetic-operator-mutator.d.ts +3 -0
- package/dist/src/mutators/arithmetic-operator-mutator.d.ts.map +1 -0
- package/dist/src/mutators/arithmetic-operator-mutator.js +34 -0
- package/dist/src/mutators/arithmetic-operator-mutator.js.map +1 -0
- package/dist/src/mutators/array-declaration-mutator.d.ts +3 -0
- package/dist/src/mutators/array-declaration-mutator.d.ts.map +1 -0
- package/dist/src/mutators/array-declaration-mutator.js +26 -0
- package/dist/src/mutators/array-declaration-mutator.js.map +1 -0
- package/dist/src/mutators/arrow-function-mutator.d.ts +3 -0
- package/dist/src/mutators/arrow-function-mutator.d.ts.map +1 -0
- package/dist/src/mutators/arrow-function-mutator.js +14 -0
- package/dist/src/mutators/arrow-function-mutator.js.map +1 -0
- package/dist/src/mutators/assignment-operator-mutator.d.ts +3 -0
- package/dist/src/mutators/assignment-operator-mutator.d.ts.map +1 -0
- package/dist/src/mutators/assignment-operator-mutator.js +42 -0
- package/dist/src/mutators/assignment-operator-mutator.js.map +1 -0
- package/dist/src/mutators/block-statement-mutator.d.ts +3 -0
- package/dist/src/mutators/block-statement-mutator.d.ts.map +1 -0
- package/dist/src/mutators/block-statement-mutator.js +63 -0
- package/dist/src/mutators/block-statement-mutator.js.map +1 -0
- package/dist/src/mutators/boolean-literal-mutator.d.ts +3 -0
- package/dist/src/mutators/boolean-literal-mutator.d.ts.map +1 -0
- package/dist/src/mutators/boolean-literal-mutator.js +17 -0
- package/dist/src/mutators/boolean-literal-mutator.js.map +1 -0
- package/dist/src/mutators/conditional-expression-mutator.d.ts +3 -0
- package/dist/src/mutators/conditional-expression-mutator.d.ts.map +1 -0
- package/dist/src/mutators/conditional-expression-mutator.js +81 -0
- package/dist/src/mutators/conditional-expression-mutator.js.map +1 -0
- package/dist/src/mutators/equality-operator-mutator.d.ts +3 -0
- package/dist/src/mutators/equality-operator-mutator.d.ts.map +1 -0
- package/dist/src/mutators/equality-operator-mutator.js +28 -0
- package/dist/src/mutators/equality-operator-mutator.js.map +1 -0
- package/dist/src/mutators/index.d.ts +4 -0
- package/dist/src/mutators/index.d.ts.map +1 -0
- package/dist/src/mutators/index.js +4 -0
- package/dist/src/mutators/index.js.map +1 -0
- package/dist/src/mutators/logical-operator-mutator.d.ts +3 -0
- package/dist/src/mutators/logical-operator-mutator.d.ts.map +1 -0
- package/dist/src/mutators/logical-operator-mutator.js +21 -0
- package/dist/src/mutators/logical-operator-mutator.js.map +1 -0
- package/dist/src/mutators/method-expression-mutator.d.ts +3 -0
- package/dist/src/mutators/method-expression-mutator.d.ts.map +1 -0
- package/dist/src/mutators/method-expression-mutator.js +65 -0
- package/dist/src/mutators/method-expression-mutator.js.map +1 -0
- package/dist/src/mutators/mutate.d.ts +3 -0
- package/dist/src/mutators/mutate.d.ts.map +1 -0
- package/dist/src/mutators/mutate.js +35 -0
- package/dist/src/mutators/mutate.js.map +1 -0
- package/dist/src/mutators/mutator-options.d.ts +5 -0
- package/dist/src/mutators/mutator-options.d.ts.map +1 -0
- package/dist/src/mutators/mutator-options.js +2 -0
- package/dist/src/mutators/mutator-options.js.map +1 -0
- package/dist/src/mutators/node-mutator.d.ts +6 -0
- package/dist/src/mutators/node-mutator.d.ts.map +1 -0
- package/dist/src/mutators/node-mutator.js +2 -0
- package/dist/src/mutators/node-mutator.js.map +1 -0
- package/dist/src/mutators/object-literal-mutator.d.ts +3 -0
- package/dist/src/mutators/object-literal-mutator.d.ts.map +1 -0
- package/dist/src/mutators/object-literal-mutator.js +11 -0
- package/dist/src/mutators/object-literal-mutator.js.map +1 -0
- package/dist/src/mutators/optional-chaining-mutator.d.ts +15 -0
- package/dist/src/mutators/optional-chaining-mutator.d.ts.map +1 -0
- package/dist/src/mutators/optional-chaining-mutator.js +28 -0
- package/dist/src/mutators/optional-chaining-mutator.js.map +1 -0
- package/dist/src/mutators/regex-mutator.d.ts +3 -0
- package/dist/src/mutators/regex-mutator.d.ts.map +1 -0
- package/dist/src/mutators/regex-mutator.js +53 -0
- package/dist/src/mutators/regex-mutator.js.map +1 -0
- package/dist/src/mutators/string-literal-mutator.d.ts +3 -0
- package/dist/src/mutators/string-literal-mutator.d.ts.map +1 -0
- package/dist/src/mutators/string-literal-mutator.js +36 -0
- package/dist/src/mutators/string-literal-mutator.js.map +1 -0
- package/dist/src/mutators/unary-operator-mutator.d.ts +3 -0
- package/dist/src/mutators/unary-operator-mutator.d.ts.map +1 -0
- package/dist/src/mutators/unary-operator-mutator.js +27 -0
- package/dist/src/mutators/unary-operator-mutator.js.map +1 -0
- package/dist/src/mutators/update-operator-mutator.d.ts +3 -0
- package/dist/src/mutators/update-operator-mutator.d.ts.map +1 -0
- package/dist/src/mutators/update-operator-mutator.js +17 -0
- package/dist/src/mutators/update-operator-mutator.js.map +1 -0
- package/dist/src/parsers/create-parser.d.ts +5 -0
- package/dist/src/parsers/create-parser.d.ts.map +1 -0
- package/dist/src/parsers/create-parser.js +58 -0
- package/dist/src/parsers/create-parser.js.map +1 -0
- package/dist/src/parsers/html-parser.d.ts +4 -0
- package/dist/src/parsers/html-parser.d.ts.map +1 -0
- package/dist/src/parsers/html-parser.js +96 -0
- package/dist/src/parsers/html-parser.js.map +1 -0
- package/dist/src/parsers/index.d.ts +5 -0
- package/dist/src/parsers/index.d.ts.map +1 -0
- package/dist/src/parsers/index.js +3 -0
- package/dist/src/parsers/index.js.map +1 -0
- package/dist/src/parsers/js-parser.d.ts +4 -0
- package/dist/src/parsers/js-parser.d.ts.map +1 -0
- package/dist/src/parsers/js-parser.js +50 -0
- package/dist/src/parsers/js-parser.js.map +1 -0
- package/dist/src/parsers/parse-error.d.ts +5 -0
- package/dist/src/parsers/parse-error.d.ts.map +1 -0
- package/dist/src/parsers/parse-error.js +6 -0
- package/dist/src/parsers/parse-error.js.map +1 -0
- package/dist/src/parsers/parser-context.d.ts +6 -0
- package/dist/src/parsers/parser-context.d.ts.map +1 -0
- package/dist/src/parsers/parser-context.js +2 -0
- package/dist/src/parsers/parser-context.js.map +1 -0
- package/dist/src/parsers/parser-options.d.ts +4 -0
- package/dist/src/parsers/parser-options.d.ts.map +1 -0
- package/dist/src/parsers/parser-options.js +2 -0
- package/dist/src/parsers/parser-options.js.map +1 -0
- package/dist/src/parsers/svelte-parser.d.ts +4 -0
- package/dist/src/parsers/svelte-parser.d.ts.map +1 -0
- package/dist/src/parsers/svelte-parser.js +169 -0
- package/dist/src/parsers/svelte-parser.js.map +1 -0
- package/dist/src/parsers/ts-parser.d.ts +9 -0
- package/dist/src/parsers/ts-parser.d.ts.map +1 -0
- package/dist/src/parsers/ts-parser.js +54 -0
- package/dist/src/parsers/ts-parser.js.map +1 -0
- package/dist/src/printers/html-printer.d.ts +4 -0
- package/dist/src/printers/html-printer.d.ts.map +1 -0
- package/dist/src/printers/html-printer.js +15 -0
- package/dist/src/printers/html-printer.js.map +1 -0
- package/dist/src/printers/index.d.ts +7 -0
- package/dist/src/printers/index.d.ts.map +1 -0
- package/dist/src/printers/index.js +23 -0
- package/dist/src/printers/index.js.map +1 -0
- package/dist/src/printers/js-printer.d.ts +4 -0
- package/dist/src/printers/js-printer.d.ts.map +1 -0
- package/dist/src/printers/js-printer.js +6 -0
- package/dist/src/printers/js-printer.js.map +1 -0
- package/dist/src/printers/svelte-printer.d.ts +4 -0
- package/dist/src/printers/svelte-printer.d.ts.map +1 -0
- package/dist/src/printers/svelte-printer.js +28 -0
- package/dist/src/printers/svelte-printer.js.map +1 -0
- package/dist/src/printers/ts-printer.d.ts +4 -0
- package/dist/src/printers/ts-printer.d.ts.map +1 -0
- package/dist/src/printers/ts-printer.js +9 -0
- package/dist/src/printers/ts-printer.js.map +1 -0
- package/dist/src/syntax/index.d.ts +86 -0
- package/dist/src/syntax/index.d.ts.map +1 -0
- package/dist/src/syntax/index.js +9 -0
- package/dist/src/syntax/index.js.map +1 -0
- package/dist/src/transformers/babel-transformer.d.ts +4 -0
- package/dist/src/transformers/babel-transformer.d.ts.map +1 -0
- package/dist/src/transformers/babel-transformer.js +142 -0
- package/dist/src/transformers/babel-transformer.js.map +1 -0
- package/dist/src/transformers/directive-bookkeeper.d.ts +19 -0
- package/dist/src/transformers/directive-bookkeeper.d.ts.map +1 -0
- package/dist/src/transformers/directive-bookkeeper.js +108 -0
- package/dist/src/transformers/directive-bookkeeper.js.map +1 -0
- package/dist/src/transformers/html-transformer.d.ts +4 -0
- package/dist/src/transformers/html-transformer.d.ts.map +1 -0
- package/dist/src/transformers/html-transformer.js +6 -0
- package/dist/src/transformers/html-transformer.js.map +1 -0
- package/dist/src/transformers/ignorer-bookkeeper.d.ts +18 -0
- package/dist/src/transformers/ignorer-bookkeeper.d.ts.map +1 -0
- package/dist/src/transformers/ignorer-bookkeeper.js +29 -0
- package/dist/src/transformers/ignorer-bookkeeper.js.map +1 -0
- package/dist/src/transformers/index.d.ts +6 -0
- package/dist/src/transformers/index.d.ts.map +1 -0
- package/dist/src/transformers/index.js +4 -0
- package/dist/src/transformers/index.js.map +1 -0
- package/dist/src/transformers/mutant-collector.d.ts +19 -0
- package/dist/src/transformers/mutant-collector.d.ts.map +1 -0
- package/dist/src/transformers/mutant-collector.js +25 -0
- package/dist/src/transformers/mutant-collector.js.map +1 -0
- package/dist/src/transformers/svelte-transformer.d.ts +4 -0
- package/dist/src/transformers/svelte-transformer.d.ts.map +1 -0
- package/dist/src/transformers/svelte-transformer.js +46 -0
- package/dist/src/transformers/svelte-transformer.js.map +1 -0
- package/dist/src/transformers/transformer-options.d.ts +6 -0
- package/dist/src/transformers/transformer-options.d.ts.map +1 -0
- package/dist/src/transformers/transformer-options.js +2 -0
- package/dist/src/transformers/transformer-options.js.map +1 -0
- package/dist/src/transformers/transformer.d.ts +22 -0
- package/dist/src/transformers/transformer.d.ts.map +1 -0
- package/dist/src/transformers/transformer.js +30 -0
- package/dist/src/transformers/transformer.js.map +1 -0
- package/dist/src/util/binary-operator.d.ts +2 -0
- package/dist/src/util/binary-operator.d.ts.map +1 -0
- package/dist/src/util/binary-operator.js +2 -0
- package/dist/src/util/binary-operator.js.map +1 -0
- package/dist/src/util/index.d.ts +4 -0
- package/dist/src/util/index.d.ts.map +1 -0
- package/dist/src/util/index.js +4 -0
- package/dist/src/util/index.js.map +1 -0
- package/dist/src/util/position-converter.d.ts +16 -0
- package/dist/src/util/position-converter.d.ts.map +1 -0
- package/dist/src/util/position-converter.js +126 -0
- package/dist/src/util/position-converter.js.map +1 -0
- package/dist/src/util/syntax-helpers.d.ts +60 -0
- package/dist/src/util/syntax-helpers.d.ts.map +1 -0
- package/dist/src/util/syntax-helpers.js +217 -0
- package/dist/src/util/syntax-helpers.js.map +1 -0
- package/package.json +64 -0
- package/src/create-instrumenter.ts +30 -0
- package/src/disable-type-checks.ts +153 -0
- package/src/file.ts +6 -0
- package/src/frameworks/angular-ignorer.ts +129 -0
- package/src/frameworks/index.ts +9 -0
- package/src/index.ts +8 -0
- package/src/instrument-result.ts +8 -0
- package/src/instrumenter-options.ts +5 -0
- package/src/instrumenter-tokens.ts +5 -0
- package/src/instrumenter.ts +100 -0
- package/src/mutant-placers/expression-mutant-placer.ts +210 -0
- package/src/mutant-placers/index.ts +12 -0
- package/src/mutant-placers/mutant-placer.ts +9 -0
- package/src/mutant-placers/statement-mutant-placer.ts +39 -0
- package/src/mutant-placers/switch-case-mutant-placer.ts +41 -0
- package/src/mutant-placers/throw-placement-error.ts +34 -0
- package/src/mutant.ts +101 -0
- package/src/mutators/arithmetic-operator-mutator.ts +51 -0
- package/src/mutators/array-declaration-mutator.ts +36 -0
- package/src/mutators/arrow-function-mutator.ts +22 -0
- package/src/mutators/assignment-operator-mutator.ts +59 -0
- package/src/mutators/block-statement-mutator.ts +89 -0
- package/src/mutators/boolean-literal-mutator.ts +24 -0
- package/src/mutators/conditional-expression-mutator.ts +92 -0
- package/src/mutators/equality-operator-mutator.ts +35 -0
- package/src/mutators/index.ts +3 -0
- package/src/mutators/logical-operator-mutator.ts +29 -0
- package/src/mutators/method-expression-mutator.ts +99 -0
- package/src/mutators/mutate.ts +36 -0
- package/src/mutators/mutator-options.ts +4 -0
- package/src/mutators/node-mutator.ts +6 -0
- package/src/mutators/object-literal-mutator.ts +15 -0
- package/src/mutators/optional-chaining-mutator.ts +39 -0
- package/src/mutators/regex-mutator.ts +69 -0
- package/src/mutators/string-literal-mutator.ts +49 -0
- package/src/mutators/unary-operator-mutator.ts +39 -0
- package/src/mutators/update-operator-mutator.ts +26 -0
- package/src/parsers/create-parser.ts +78 -0
- package/src/parsers/html-parser.ts +138 -0
- package/src/parsers/index.ts +5 -0
- package/src/parsers/js-parser.ts +58 -0
- package/src/parsers/parse-error.ts +9 -0
- package/src/parsers/parser-context.ts +15 -0
- package/src/parsers/parser-options.ts +3 -0
- package/src/parsers/svelte-parser.ts +255 -0
- package/src/parsers/ts-parser.ts +69 -0
- package/src/printers/html-printer.ts +20 -0
- package/src/printers/index.ts +33 -0
- package/src/printers/js-printer.ts +11 -0
- package/src/printers/svelte-printer.ts +34 -0
- package/src/printers/ts-printer.ts +14 -0
- package/src/syntax/index.ts +97 -0
- package/src/transformers/babel-transformer.ts +217 -0
- package/src/transformers/directive-bookkeeper.ts +173 -0
- package/src/transformers/html-transformer.ts +13 -0
- package/src/transformers/ignorer-bookkeeper.ts +41 -0
- package/src/transformers/index.ts +6 -0
- package/src/transformers/mutant-collector.ts +44 -0
- package/src/transformers/svelte-transformer.ts +57 -0
- package/src/transformers/transformer-options.ts +7 -0
- package/src/transformers/transformer.ts +54 -0
- package/src/util/binary-operator.ts +23 -0
- package/src/util/index.ts +3 -0
- package/src/util/position-converter.ts +145 -0
- package/src/util/syntax-helpers.ts +301 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser-options.js","sourceRoot":"","sources":["../../../src/parsers/parser-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte-parser.d.ts","sourceRoot":"","sources":["../../../src/parsers/svelte-parser.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,SAAS,EAGV,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAqBpD,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,SAAS,CAAC,CAqIpB"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { notEmpty } from '@stryker-mutator/util';
|
|
2
|
+
import { satisfies } from 'semver';
|
|
3
|
+
import { AstFormat, } from '../syntax/index.js';
|
|
4
|
+
import { PositionConverter } from '../util/index.js';
|
|
5
|
+
const MIN_SVELTE_VERSION = '>=3.30';
|
|
6
|
+
export async function parse(text, fileName, context) {
|
|
7
|
+
const { parse: svelteParse, preprocess, VERSION, } = await import('svelte/compiler');
|
|
8
|
+
let walk;
|
|
9
|
+
if (!satisfies(VERSION, MIN_SVELTE_VERSION)) {
|
|
10
|
+
throw new Error(`Svelte version ${VERSION} not supported. Expected: ${MIN_SVELTE_VERSION} (processing file ${fileName})`);
|
|
11
|
+
}
|
|
12
|
+
/*
|
|
13
|
+
Allow instrumentation of Svelte 5 projects without dropping support for Svelte 4.
|
|
14
|
+
Due to the way Svelte 5 is structured, we can no longer use the typings from Svelte 4, even though
|
|
15
|
+
we use the legacy AST. The full Svelte 5 migration should update these typings to use the new AST.
|
|
16
|
+
*/
|
|
17
|
+
if (satisfies(VERSION, '>=5')) {
|
|
18
|
+
({ walk } = await import(import.meta.resolve('estree-walker', import.meta.resolve('svelte'))));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
// Svelte 4
|
|
22
|
+
({ walk } = await import('svelte/compiler'));
|
|
23
|
+
}
|
|
24
|
+
const positionConverter = new PositionConverter(text);
|
|
25
|
+
const { replacedCode, scriptMap } = await replaceScripts(text);
|
|
26
|
+
const svelteAst = svelteParse(replacedCode, { filename: fileName });
|
|
27
|
+
const moduleScriptRange = getModuleScriptRange(svelteAst);
|
|
28
|
+
const templateRanges = getTemplateScriptRanges(svelteAst);
|
|
29
|
+
const { remappedModuleScriptRange, remappedScriptRanges } = remapScriptLocations(replacedCode, scriptMap, moduleScriptRange, templateRanges);
|
|
30
|
+
const [moduleScript, ...additionalScripts] = await Promise.all([
|
|
31
|
+
parseTemplateScriptIfDefined(remappedModuleScriptRange),
|
|
32
|
+
...remappedScriptRanges.map(parseTemplateScript),
|
|
33
|
+
]);
|
|
34
|
+
const root = { moduleScript, additionalScripts };
|
|
35
|
+
return {
|
|
36
|
+
originFileName: fileName,
|
|
37
|
+
rawContent: text,
|
|
38
|
+
format: AstFormat.Svelte,
|
|
39
|
+
root,
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Replaces script tags with placeholders.
|
|
43
|
+
* This is needed, because svelte's `parse` doesn't support `lang="ts"`.
|
|
44
|
+
*/
|
|
45
|
+
async function replaceScripts(code) {
|
|
46
|
+
const map = new Map();
|
|
47
|
+
let scriptIndex = 0;
|
|
48
|
+
const result = await preprocess(code, {
|
|
49
|
+
script(script) {
|
|
50
|
+
const scriptName = `script${scriptIndex++}`;
|
|
51
|
+
map.set(scriptName, script);
|
|
52
|
+
return { code: scriptName };
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
return { replacedCode: result.code, scriptMap: map };
|
|
56
|
+
}
|
|
57
|
+
function getTemplateScriptRanges(ast) {
|
|
58
|
+
const ranges = [];
|
|
59
|
+
if (ast.instance) {
|
|
60
|
+
const { start, end } = ast.instance.content;
|
|
61
|
+
ranges.push({ start, end, isExpression: false });
|
|
62
|
+
}
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
64
|
+
walk(ast.html, {
|
|
65
|
+
enter(n) {
|
|
66
|
+
const node = n;
|
|
67
|
+
if (node.type === 'Element' &&
|
|
68
|
+
node.name === 'script' &&
|
|
69
|
+
node.children?.[0].type === 'Text') {
|
|
70
|
+
const textContentNode = node.children[0];
|
|
71
|
+
ranges.push({
|
|
72
|
+
start: textContentNode.start,
|
|
73
|
+
end: textContentNode.end,
|
|
74
|
+
isExpression: false,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
78
|
+
const templateExpression = collectTemplateExpression(node);
|
|
79
|
+
if (templateExpression) {
|
|
80
|
+
const { start, end } = templateExpression;
|
|
81
|
+
ranges.push({ start, end, isExpression: true });
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
return ranges;
|
|
86
|
+
}
|
|
87
|
+
async function parseTemplateScriptIfDefined(range) {
|
|
88
|
+
if (range) {
|
|
89
|
+
return parseTemplateScript(range);
|
|
90
|
+
}
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
async function parseTemplateScript({ start, end, isExpression, format, }) {
|
|
94
|
+
const scriptText = text.slice(start, end);
|
|
95
|
+
const parsed = await context.parse(scriptText, fileName, format);
|
|
96
|
+
return {
|
|
97
|
+
ast: {
|
|
98
|
+
...parsed,
|
|
99
|
+
offset: positionConverter.positionFromOffset(start),
|
|
100
|
+
},
|
|
101
|
+
range: { start, end },
|
|
102
|
+
isExpression,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function getModuleScriptRange(svelteAst) {
|
|
107
|
+
if (svelteAst.module) {
|
|
108
|
+
const script = svelteAst.module.content;
|
|
109
|
+
return { start: script.start, end: script.end, isExpression: false };
|
|
110
|
+
}
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Remaps script locations back to the original places using the script map
|
|
115
|
+
*/
|
|
116
|
+
function remapScriptLocations(code, scriptMap, moduleScriptRange, templateRanges) {
|
|
117
|
+
const scriptRanges = [moduleScriptRange, ...templateRanges]
|
|
118
|
+
.filter(notEmpty)
|
|
119
|
+
.sort((a, b) => a.start - b.start);
|
|
120
|
+
let offset = 0;
|
|
121
|
+
let newModuleScriptRange;
|
|
122
|
+
const newScriptRanges = scriptRanges.map((range) => {
|
|
123
|
+
const script = code.substring(range.start, range.end);
|
|
124
|
+
const actualScript = scriptMap.get(script);
|
|
125
|
+
const start = range.start + offset;
|
|
126
|
+
if (actualScript) {
|
|
127
|
+
const scriptRange = {
|
|
128
|
+
start,
|
|
129
|
+
end: start + actualScript.content.length,
|
|
130
|
+
isExpression: range.isExpression,
|
|
131
|
+
format: actualScript.attributes.lang === 'ts' ? AstFormat.TS : AstFormat.JS,
|
|
132
|
+
};
|
|
133
|
+
offset += actualScript.content.length - script.length;
|
|
134
|
+
if (range === moduleScriptRange) {
|
|
135
|
+
newModuleScriptRange = scriptRange;
|
|
136
|
+
}
|
|
137
|
+
return scriptRange;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// Template script is always JS
|
|
141
|
+
return {
|
|
142
|
+
start,
|
|
143
|
+
end: start + script.length,
|
|
144
|
+
isExpression: range.isExpression,
|
|
145
|
+
format: AstFormat.JS,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
remappedModuleScriptRange: newModuleScriptRange,
|
|
151
|
+
remappedScriptRanges: newScriptRanges.filter((range) => range !== newModuleScriptRange),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function collectTemplateExpression(node) {
|
|
155
|
+
switch (node.type) {
|
|
156
|
+
case 'MustacheTag':
|
|
157
|
+
case 'RawMustacheTag':
|
|
158
|
+
case 'IfBlock':
|
|
159
|
+
case 'ConstTag':
|
|
160
|
+
case 'EachBlock':
|
|
161
|
+
case 'AwaitBlock':
|
|
162
|
+
case 'KeyBlock':
|
|
163
|
+
case 'EventHandler':
|
|
164
|
+
return node.expression;
|
|
165
|
+
default:
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=svelte-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte-parser.js","sourceRoot":"","sources":["../../../src/parsers/svelte-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TSAst, TsxAst } from '../syntax/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* See https://babeljs.io/docs/en/babel-preset-typescript
|
|
4
|
+
* @param text The text to parse
|
|
5
|
+
* @param fileName The name of the file
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseTS(text: string, fileName: string): Promise<TSAst>;
|
|
8
|
+
export declare function parseTsx(text: string, fileName: string): Promise<TsxAst>;
|
|
9
|
+
//# sourceMappingURL=ts-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-parser.d.ts","sourceRoot":"","sources":["../../../src/parsers/ts-parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI9D;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAO5E;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createRequire } from 'module';
|
|
2
|
+
import babel from '@babel/core';
|
|
3
|
+
import { AstFormat } from '../syntax/index.js';
|
|
4
|
+
const { types, parseAsync } = babel;
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
/**
|
|
7
|
+
* See https://babeljs.io/docs/en/babel-preset-typescript
|
|
8
|
+
* @param text The text to parse
|
|
9
|
+
* @param fileName The name of the file
|
|
10
|
+
*/
|
|
11
|
+
export async function parseTS(text, fileName) {
|
|
12
|
+
return {
|
|
13
|
+
originFileName: fileName,
|
|
14
|
+
rawContent: text,
|
|
15
|
+
format: AstFormat.TS,
|
|
16
|
+
root: await parse(text, fileName, false),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export async function parseTsx(text, fileName) {
|
|
20
|
+
return {
|
|
21
|
+
root: await parse(text, fileName, true),
|
|
22
|
+
format: AstFormat.Tsx,
|
|
23
|
+
originFileName: fileName,
|
|
24
|
+
rawContent: text,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async function parse(text, fileName, isTSX) {
|
|
28
|
+
const ast = await parseAsync(text, {
|
|
29
|
+
filename: fileName,
|
|
30
|
+
parserOpts: {
|
|
31
|
+
ranges: true,
|
|
32
|
+
},
|
|
33
|
+
configFile: false,
|
|
34
|
+
babelrc: false,
|
|
35
|
+
presets: [
|
|
36
|
+
[
|
|
37
|
+
require.resolve('@babel/preset-typescript'),
|
|
38
|
+
{ isTSX, allExtensions: true },
|
|
39
|
+
],
|
|
40
|
+
],
|
|
41
|
+
plugins: [
|
|
42
|
+
[require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }],
|
|
43
|
+
[require.resolve('@babel/plugin-transform-explicit-resource-management')],
|
|
44
|
+
],
|
|
45
|
+
});
|
|
46
|
+
if (ast === null) {
|
|
47
|
+
throw new Error(`Expected ${fileName} to contain a babel.types.file, but it yielded null`);
|
|
48
|
+
}
|
|
49
|
+
if (types.isProgram(ast)) {
|
|
50
|
+
throw new Error(`Expected ${fileName} to contain a babel.types.file, but was a program`);
|
|
51
|
+
}
|
|
52
|
+
return ast;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ts-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../../src/parsers/ts-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;AAE9D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AACpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,QAAgB;IAC1D,OAAO;QACL,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,SAAS,CAAC,EAAE;QACpB,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,QAAgB;IAEhB,OAAO;QACL,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;QACvC,MAAM,EAAE,SAAS,CAAC,GAAG;QACrB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,IAAY,EACZ,QAAgB,EAChB,KAAc;IAEd,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE;QACjC,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACV,MAAM,EAAE,IAAI;SACb;QACD,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAC3C,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;aAC/B;SACF;QACD,OAAO,EAAE;YACP,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACxE,CAAC,OAAO,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;SAC1E;KACF,CAAC,CAAC;IACH,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,qDAAqD,CAC1E,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,mDAAmD,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-printer.d.ts","sourceRoot":"","sources":["../../../src/printers/html-printer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,OAAO,CAelC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const print = (ast, context) => {
|
|
2
|
+
const sortedScripts = [...ast.root.scripts].sort((a, b) => a.root.start - b.root.start);
|
|
3
|
+
let currentIndex = 0;
|
|
4
|
+
let html = '';
|
|
5
|
+
for (const script of sortedScripts) {
|
|
6
|
+
html += ast.rawContent.substring(currentIndex, script.root.start);
|
|
7
|
+
html += '\n';
|
|
8
|
+
html += context.print(script, context);
|
|
9
|
+
html += '\n';
|
|
10
|
+
currentIndex = script.root.end;
|
|
11
|
+
}
|
|
12
|
+
html += ast.rawContent.substr(currentIndex);
|
|
13
|
+
return html;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=html-printer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-printer.js","sourceRoot":"","sources":["../../../src/printers/html-printer.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,KAAK,GAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,aAAa,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAM,CACxC,CAAC;IACF,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QACnE,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,CAAC;QACb,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAI,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Ast } from '../syntax/index.js';
|
|
2
|
+
export type Printer<T extends Ast> = (file: T, context: PrinterContext) => string;
|
|
3
|
+
export interface PrinterContext {
|
|
4
|
+
print: Printer<Ast>;
|
|
5
|
+
}
|
|
6
|
+
export declare function print(file: Ast): string;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/printers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAa,MAAM,oBAAoB,CAAC;AAOpD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,CACnC,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACrB;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAgBvC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AstFormat } from '../syntax/index.js';
|
|
2
|
+
import { print as htmlPrint } from './html-printer.js';
|
|
3
|
+
import { print as jsPrint } from './js-printer.js';
|
|
4
|
+
import { print as tsPrint } from './ts-printer.js';
|
|
5
|
+
import { print as sveltePrint } from './svelte-printer.js';
|
|
6
|
+
export function print(file) {
|
|
7
|
+
const context = {
|
|
8
|
+
print,
|
|
9
|
+
};
|
|
10
|
+
switch (file.format) {
|
|
11
|
+
case AstFormat.JS:
|
|
12
|
+
return jsPrint(file, context);
|
|
13
|
+
case AstFormat.TS:
|
|
14
|
+
return tsPrint(file, context);
|
|
15
|
+
case AstFormat.Tsx:
|
|
16
|
+
return tsPrint(file, context);
|
|
17
|
+
case AstFormat.Html:
|
|
18
|
+
return htmlPrint(file, context);
|
|
19
|
+
case AstFormat.Svelte:
|
|
20
|
+
return sveltePrint(file, context);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/printers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAW3D,MAAM,UAAU,KAAK,CAAC,IAAS;IAC7B,MAAM,OAAO,GAAmB;QAC9B,KAAK;KACN,CAAC;IACF,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,SAAS,CAAC,EAAE;YACf,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,SAAS,CAAC,EAAE;YACf,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-printer.d.ts","sourceRoot":"","sources":["../../../src/printers/js-printer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,CAEhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-printer.js","sourceRoot":"","sources":["../../../src/printers/js-printer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,KAAK,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte-printer.d.ts","sourceRoot":"","sources":["../../../src/printers/svelte-printer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,CA2BpC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { notEmpty } from '@stryker-mutator/util';
|
|
2
|
+
export const print = ({ root, rawContent }, context) => {
|
|
3
|
+
let currentIndex = 0;
|
|
4
|
+
let outputText = '';
|
|
5
|
+
const sortedScripts = [root.moduleScript, ...root.additionalScripts]
|
|
6
|
+
.filter(notEmpty)
|
|
7
|
+
.sort((a, b) => a.range.start - b.range.start);
|
|
8
|
+
for (const script of sortedScripts) {
|
|
9
|
+
if (script.isExpression) {
|
|
10
|
+
const code = context.print(script.ast, context);
|
|
11
|
+
const codeWithoutSemicolon = code.slice(0, -1);
|
|
12
|
+
outputText +=
|
|
13
|
+
rawContent.substring(currentIndex, script.range.start) +
|
|
14
|
+
codeWithoutSemicolon;
|
|
15
|
+
currentIndex = script.range.end;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
outputText += rawContent.substring(currentIndex, script.range.start);
|
|
19
|
+
outputText += '\n';
|
|
20
|
+
outputText += context.print(script.ast, context);
|
|
21
|
+
outputText += '\n';
|
|
22
|
+
currentIndex = script.range.end;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
outputText += rawContent.substring(currentIndex);
|
|
26
|
+
return outputText;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=svelte-printer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte-printer.js","sourceRoot":"","sources":["../../../src/printers/svelte-printer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,MAAM,CAAC,MAAM,KAAK,GAAuB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE;IACzE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACjE,MAAM,CAAC,QAAQ,CAAC;SAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,UAAU;gBACR,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;oBACtD,oBAAoB,CAAC;YACvB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrE,UAAU,IAAI,IAAI,CAAC;YACnB,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,UAAU,IAAI,IAAI,CAAC;YACnB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,CAAC;IACH,CAAC;IAED,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-printer.d.ts","sourceRoot":"","sources":["../../../src/printers/ts-printer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAKzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-printer.js","sourceRoot":"","sources":["../../../src/printers/ts-printer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,KAAK,GAA4B,CAAC,IAAI,EAAE,EAAE;IACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QACzB,sBAAsB,EAAE,IAAI;QAC5B,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC,IAAI,CAAC;AACV,CAAC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { types as babelTypes } from '@babel/core';
|
|
2
|
+
import { Position } from '@stryker-mutator/api/core';
|
|
3
|
+
export declare enum AstFormat {
|
|
4
|
+
Html = "html",
|
|
5
|
+
JS = "js",
|
|
6
|
+
TS = "ts",
|
|
7
|
+
Tsx = "tsx",
|
|
8
|
+
Svelte = "svelte"
|
|
9
|
+
}
|
|
10
|
+
export interface AstByFormat {
|
|
11
|
+
[AstFormat.Html]: HtmlAst;
|
|
12
|
+
[AstFormat.JS]: JSAst;
|
|
13
|
+
[AstFormat.TS]: TSAst;
|
|
14
|
+
[AstFormat.Tsx]: TsxAst;
|
|
15
|
+
[AstFormat.Svelte]: SvelteAst;
|
|
16
|
+
}
|
|
17
|
+
export type Ast = HtmlAst | JSAst | SvelteAst | TSAst | TsxAst;
|
|
18
|
+
export type ScriptFormat = AstFormat.JS | AstFormat.TS | AstFormat.Tsx;
|
|
19
|
+
export type ScriptAst = JSAst | TSAst | TsxAst;
|
|
20
|
+
export interface BaseAst {
|
|
21
|
+
originFileName: string;
|
|
22
|
+
rawContent: string;
|
|
23
|
+
root: Ast['root'];
|
|
24
|
+
offset?: Position;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Represents an Html AST.
|
|
28
|
+
*/
|
|
29
|
+
export interface HtmlAst extends BaseAst {
|
|
30
|
+
format: AstFormat.Html;
|
|
31
|
+
root: HtmlRootNode;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Represents a TS AST
|
|
35
|
+
*/
|
|
36
|
+
export interface JSAst extends BaseAst {
|
|
37
|
+
format: AstFormat.JS;
|
|
38
|
+
root: babelTypes.File;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Represents a TS AST
|
|
42
|
+
*/
|
|
43
|
+
export interface TSAst extends BaseAst {
|
|
44
|
+
format: AstFormat.TS;
|
|
45
|
+
root: babelTypes.File;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Represents a TS AST
|
|
49
|
+
*/
|
|
50
|
+
export interface TsxAst extends BaseAst {
|
|
51
|
+
format: AstFormat.Tsx;
|
|
52
|
+
root: babelTypes.File;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Represents a Svelte AST
|
|
56
|
+
*/
|
|
57
|
+
export interface SvelteAst extends BaseAst {
|
|
58
|
+
format: AstFormat.Svelte;
|
|
59
|
+
root: SvelteRootNode;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Represents the root node of an HTML AST
|
|
63
|
+
* We've taken a shortcut here, instead of representing the entire AST, we're only representing the script tags.
|
|
64
|
+
* We might need to expand this in the future if we would ever want to support mutating the actual HTML (rather than only the JS/TS)
|
|
65
|
+
*/
|
|
66
|
+
export interface HtmlRootNode {
|
|
67
|
+
scripts: ScriptAst[];
|
|
68
|
+
}
|
|
69
|
+
export interface SvelteRootNode {
|
|
70
|
+
moduleScript?: TemplateScript;
|
|
71
|
+
additionalScripts: TemplateScript[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Represents a svelte script or binding expression
|
|
75
|
+
* We've taken a shortcut here, instead of representing the entire AST, we're only representing the script tags and expression bindings.
|
|
76
|
+
*/
|
|
77
|
+
export interface TemplateScript {
|
|
78
|
+
ast: ScriptAst;
|
|
79
|
+
range: Range;
|
|
80
|
+
isExpression: boolean;
|
|
81
|
+
}
|
|
82
|
+
export interface Range {
|
|
83
|
+
start: number;
|
|
84
|
+
end: number;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/syntax/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,EAAE,OAAO;IACT,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IACtB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IACtB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC/B;AACD,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC;AACvE,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAC/C,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACtC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,OAAO;IACpC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,OAAO;IACpC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,MAAO,SAAQ,OAAO;IACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,iBAAiB,EAAE,cAAc,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var AstFormat;
|
|
2
|
+
(function (AstFormat) {
|
|
3
|
+
AstFormat["Html"] = "html";
|
|
4
|
+
AstFormat["JS"] = "js";
|
|
5
|
+
AstFormat["TS"] = "ts";
|
|
6
|
+
AstFormat["Tsx"] = "tsx";
|
|
7
|
+
AstFormat["Svelte"] = "svelte";
|
|
8
|
+
})(AstFormat || (AstFormat = {}));
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/syntax/index.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,sBAAS,CAAA;IACT,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"babel-transformer.d.ts","sourceRoot":"","sources":["../../../src/transformers/babel-transformer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYlD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAW5C,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,YAAY,CAqLvD,CAAC"}
|