@lynxwall/cucumber-tsflow 4.1.5 → 5.0.1
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/README.md +243 -71
- package/bin/cucumber-tsflow +1 -1
- package/lib/behave.js +25 -2
- package/lib/cli/argv-parser.d.ts +24 -0
- package/lib/cli/argv-parser.js +117 -0
- package/lib/cli/index.d.ts +22 -0
- package/lib/cli/index.js +105 -0
- package/lib/cli/load-configuration.d.ts +20 -0
- package/lib/cli/load-configuration.js +98 -0
- package/lib/cli/run.d.ts +1 -0
- package/lib/cli/run.js +54 -0
- package/lib/cucumber/binding-decorator.js +75 -87
- package/lib/cucumber/binding-registry.d.ts +8 -0
- package/lib/cucumber/binding-registry.js +62 -11
- package/lib/cucumber/hook-decorators.d.ts +30 -12
- package/lib/cucumber/hook-decorators.js +54 -23
- package/lib/cucumber/managed-scenario-context.js +6 -3
- package/lib/cucumber/message-collector.d.ts +55 -0
- package/lib/cucumber/message-collector.js +143 -0
- package/lib/cucumber/step-definition-decorators.js +15 -8
- package/lib/cucumber/utils.d.ts +16 -0
- package/lib/cucumber/utils.js +88 -0
- package/lib/esnode.d.ts +0 -0
- package/lib/esnode.js +20 -0
- package/lib/{tsflow.d.ts → esvue.d.ts} +0 -0
- package/lib/esvue.js +52 -0
- package/lib/formatters/behave-json-formatter.d.ts +36 -5
- package/lib/formatters/behave-json-formatter.js +36 -12
- package/lib/formatters/tsflow-snippet-syntax.js +44 -14
- package/lib/gherkin/configuration.d.ts +30 -0
- package/lib/gherkin/configuration.js +37 -0
- package/lib/gherkin/gherkin-feature.d.ts +28 -0
- package/lib/gherkin/gherkin-feature.js +345 -0
- package/lib/gherkin/gherkin-manager.d.ts +29 -0
- package/lib/gherkin/gherkin-manager.js +123 -0
- package/lib/gherkin/models.d.ts +45 -0
- package/lib/{tsflow.js → gherkin/models.js} +2 -4
- package/lib/snippet.d.ts +1 -0
- package/lib/snippet.js +38 -0
- package/lib/transpilers/esbuild-transpiler.d.ts +4 -0
- package/lib/transpilers/esbuild-transpiler.js +31 -0
- package/lib/transpilers/esbuild.d.ts +12 -0
- package/lib/transpilers/esbuild.js +66 -0
- package/lib/transpilers/vue-sfc/compiler.d.ts +7 -0
- package/lib/transpilers/vue-sfc/compiler.js +32 -0
- package/lib/transpilers/vue-sfc/index.d.ts +25 -0
- package/lib/transpilers/vue-sfc/index.js +62 -0
- package/lib/transpilers/vue-sfc/main.d.ts +8 -0
- package/lib/transpilers/vue-sfc/main.js +266 -0
- package/lib/transpilers/vue-sfc/script.d.ts +5 -0
- package/lib/transpilers/vue-sfc/script.js +53 -0
- package/lib/transpilers/vue-sfc/template.d.ts +8 -0
- package/lib/transpilers/vue-sfc/template.js +113 -0
- package/lib/transpilers/vue-sfc/types.d.ts +55 -0
- package/lib/transpilers/vue-sfc/types.js +13 -0
- package/lib/transpilers/vue-sfc/utils/descriptorCache.d.ts +13 -0
- package/lib/transpilers/vue-sfc/utils/descriptorCache.js +67 -0
- package/lib/transpilers/vue-sfc/utils/error.d.ts +3 -0
- package/lib/transpilers/vue-sfc/utils/error.js +33 -0
- package/lib/transpilers/vue-sfc/utils/query.d.ts +13 -0
- package/lib/transpilers/vue-sfc/utils/query.js +46 -0
- package/lib/tsnode.js +7 -9
- package/lib/tsvue.d.ts +1 -9
- package/lib/tsvue.js +47 -28
- package/lib/types/step-binding-flags.d.ts +9 -1
- package/lib/types/step-binding-flags.js +10 -2
- package/lib/types/step-binding.d.ts +8 -2
- package/lib/types/step-binding.js +1 -1
- package/lib/utils/helpers.d.ts +6 -0
- package/lib/utils/helpers.js +28 -0
- package/lib/utils/logger.js +25 -2
- package/lib/utils/our-callsite.d.ts +1 -0
- package/lib/utils/our-callsite.js +33 -4
- package/lib/version.d.ts +1 -0
- package/lib/version.js +16 -0
- package/package.json +22 -9
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ParsedFeature } from './models';
|
|
2
|
+
declare class StepInfo {
|
|
3
|
+
constructor(name: string);
|
|
4
|
+
name: string;
|
|
5
|
+
text: string;
|
|
6
|
+
tags: string;
|
|
7
|
+
}
|
|
8
|
+
export default class GherkinManager {
|
|
9
|
+
private features;
|
|
10
|
+
private gherkinFeature;
|
|
11
|
+
constructor(paths: string[]);
|
|
12
|
+
/**
|
|
13
|
+
* Attempts to find a feature based on the steps found in
|
|
14
|
+
* a steps test file
|
|
15
|
+
* @param filePath
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
findFeatureByStepFile: (filePath: string) => ParsedFeature | undefined;
|
|
19
|
+
generateKey: (name: string, tags: string[]) => string;
|
|
20
|
+
/**
|
|
21
|
+
* extracts 'given', 'when', 'then' step text and tags from
|
|
22
|
+
* the file passed in.
|
|
23
|
+
* @param filePath
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
parseSteps: (filePath: string) => StepInfo[];
|
|
27
|
+
isHook: (stepName: string) => boolean;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
(function (factory) {
|
|
5
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
6
|
+
var v = factory(require, exports);
|
|
7
|
+
if (v !== undefined) module.exports = v;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof define === "function" && define.amd) {
|
|
10
|
+
define(["require", "exports", "fs", "./gherkin-feature", "../utils/helpers", "../cucumber/utils"], factory);
|
|
11
|
+
}
|
|
12
|
+
})(function (require, exports) {
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
const gherkin_feature_1 = __importDefault(require("./gherkin-feature"));
|
|
17
|
+
const helpers_1 = require("../utils/helpers");
|
|
18
|
+
const utils_1 = require("../cucumber/utils");
|
|
19
|
+
class StepInfo {
|
|
20
|
+
constructor(name) {
|
|
21
|
+
this.text = '';
|
|
22
|
+
this.tags = '';
|
|
23
|
+
this.name = name;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
class GherkinManager {
|
|
27
|
+
constructor(paths) {
|
|
28
|
+
this.features = [];
|
|
29
|
+
this.gherkinFeature = new gherkin_feature_1.default();
|
|
30
|
+
/**
|
|
31
|
+
* Attempts to find a feature based on the steps found in
|
|
32
|
+
* a steps test file
|
|
33
|
+
* @param filePath
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
this.findFeatureByStepFile = (filePath) => {
|
|
37
|
+
let featureResult = undefined;
|
|
38
|
+
const fileSteps = this.parseSteps(filePath);
|
|
39
|
+
for (const feature of this.features) {
|
|
40
|
+
for (const scenario of feature.scenarios) {
|
|
41
|
+
for (const step of scenario.steps) {
|
|
42
|
+
if (['given', 'when', 'then'].find(x => x === step.keyword)) {
|
|
43
|
+
const fileStep = fileSteps.find(s => (0, utils_1.hasMatchingStep)(s.text, step.stepText));
|
|
44
|
+
if (fileStep) {
|
|
45
|
+
// if we have tags on the step binding check to see if it matches one in the
|
|
46
|
+
// current scenario, which also includes tags associated with the feature
|
|
47
|
+
if ((0, helpers_1.hasStringValue)(fileStep.tags)) {
|
|
48
|
+
if (scenario.tags.length > 0 && (0, utils_1.hasMatchingTags)(fileStep.tags, scenario.tags)) {
|
|
49
|
+
featureResult = feature;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
featureResult = feature;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (featureResult)
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
if (featureResult)
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (featureResult)
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
return featureResult;
|
|
67
|
+
};
|
|
68
|
+
this.generateKey = (name, tags) => {
|
|
69
|
+
return `${name}:${tags.map(tag => tag.toLowerCase()).join(',')}`;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* extracts 'given', 'when', 'then' step text and tags from
|
|
73
|
+
* the file passed in.
|
|
74
|
+
* @param filePath
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
this.parseSteps = (filePath) => {
|
|
78
|
+
const stepNames = ['before', 'beforestep', 'given', 'when', 'then', 'afterstep', 'after'];
|
|
79
|
+
const steps = new Array();
|
|
80
|
+
const stepText = (0, fs_1.readFileSync)(filePath, 'utf8');
|
|
81
|
+
// get all of the decorator strings
|
|
82
|
+
const stepDecorators = stepText.match(/@\w*\(([^()]+)\)/g);
|
|
83
|
+
stepDecorators === null || stepDecorators === void 0 ? void 0 : stepDecorators.forEach(decorator => {
|
|
84
|
+
const stepName = stepNames.find(x => decorator.toLowerCase().indexOf(x) >= 0);
|
|
85
|
+
if (stepName) {
|
|
86
|
+
const stepInfo = new StepInfo(stepName);
|
|
87
|
+
// extract strings from inside decorator parens,
|
|
88
|
+
// can be wrapped in single or double quotes
|
|
89
|
+
const stepParams = decorator.match(/["']\s*([^"']+?)\s*["']/g);
|
|
90
|
+
if (stepParams && stepParams.length > 0) {
|
|
91
|
+
// first param in hooks is the tags parameter
|
|
92
|
+
if (this.isHook(stepName)) {
|
|
93
|
+
stepInfo.tags = stepParams[0].substring(1, stepParams[0].length - 1);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// steps support four parameters with last three optional
|
|
97
|
+
// first is the pattern and second is a tag, which are the
|
|
98
|
+
// two peices of information we need to make a match
|
|
99
|
+
stepInfo.text = stepParams[0].substring(1, stepParams[0].length - 1);
|
|
100
|
+
if (stepParams.length > 1 && (0, helpers_1.hasStringValue)(stepParams[1])) {
|
|
101
|
+
stepInfo.tags = stepParams[1].substring(1, stepParams[1].length - 1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
steps.push(stepInfo);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return steps;
|
|
109
|
+
};
|
|
110
|
+
this.isHook = (stepName) => {
|
|
111
|
+
const hookNames = ['beforeall', 'before', 'beforestep', 'afterstep', 'after', 'afterall'];
|
|
112
|
+
const match = hookNames.find(x => stepName.toLowerCase().indexOf(x) >= 0);
|
|
113
|
+
return match != undefined;
|
|
114
|
+
};
|
|
115
|
+
for (const path of paths) {
|
|
116
|
+
const features = this.gherkinFeature.loadFeatures(path);
|
|
117
|
+
this.features = [...this.features, ...features];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.default = GherkinManager;
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hlcmtpbi1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2doZXJraW4vZ2hlcmtpbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lBQUEsMkJBQWtDO0lBQ2xDLHdFQUErQztJQUUvQyw4Q0FBa0Q7SUFDbEQsNkNBQXFFO0lBRXJFLE1BQU0sUUFBUTtRQUNiLFlBQVksSUFBWTtZQUl4QixTQUFJLEdBQVcsRUFBRSxDQUFDO1lBQ2xCLFNBQUksR0FBVyxFQUFFLENBQUM7WUFKakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsQ0FBQztLQUlEO0lBRUQsTUFBcUIsY0FBYztRQUlsQyxZQUFZLEtBQWU7WUFIbkIsYUFBUSxHQUF5QixFQUFFLENBQUM7WUFDcEMsbUJBQWMsR0FBRyxJQUFJLHlCQUFjLEVBQUUsQ0FBQztZQVM5Qzs7Ozs7ZUFLRztZQUNJLDBCQUFxQixHQUFHLENBQUMsUUFBZ0IsRUFBNkIsRUFBRTtnQkFDOUUsSUFBSSxhQUFhLEdBQThCLFNBQVMsQ0FBQztnQkFFekQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNwQyxLQUFLLE1BQU0sUUFBUSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7d0JBQ3pDLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRTs0QkFDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQ0FDNUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUEsdUJB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
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ManagedScenarioContext } from '../cucumber/managed-scenario-context';
|
|
2
|
+
import { Options } from './configuration';
|
|
3
|
+
export declare type StepFromStepDefinitions = {
|
|
4
|
+
stepMatcher: string | RegExp;
|
|
5
|
+
stepFunction(stepArguments?: any): void | PromiseLike<any>;
|
|
6
|
+
};
|
|
7
|
+
export declare type ScenarioFromStepDefinitions = {
|
|
8
|
+
title: string;
|
|
9
|
+
steps: StepFromStepDefinitions[];
|
|
10
|
+
};
|
|
11
|
+
export declare type FeatureFromStepDefinitions = {
|
|
12
|
+
title: string;
|
|
13
|
+
scenarios: ScenarioFromStepDefinitions[];
|
|
14
|
+
};
|
|
15
|
+
export declare type ParsedStep = {
|
|
16
|
+
keyword: string;
|
|
17
|
+
stepText: string;
|
|
18
|
+
stepArgument: string | {};
|
|
19
|
+
lineNumber: number;
|
|
20
|
+
};
|
|
21
|
+
export declare type ParsedScenario = {
|
|
22
|
+
title: string;
|
|
23
|
+
steps: ParsedStep[];
|
|
24
|
+
tags: string[];
|
|
25
|
+
lineNumber: number;
|
|
26
|
+
skippedViaTagFilter: boolean;
|
|
27
|
+
scenarioContext: ManagedScenarioContext | undefined;
|
|
28
|
+
};
|
|
29
|
+
export declare type ParsedScenarioOutline = {
|
|
30
|
+
title: string;
|
|
31
|
+
tags: string[];
|
|
32
|
+
scenarios: ParsedScenario[];
|
|
33
|
+
steps: ParsedStep[];
|
|
34
|
+
lineNumber: number;
|
|
35
|
+
skippedViaTagFilter: boolean;
|
|
36
|
+
scenarioContext: ManagedScenarioContext | undefined;
|
|
37
|
+
};
|
|
38
|
+
export declare type ParsedFeature = {
|
|
39
|
+
title: string;
|
|
40
|
+
featureFile: string;
|
|
41
|
+
scenarios: ParsedScenario[];
|
|
42
|
+
scenarioOutlines: ParsedScenarioOutline[];
|
|
43
|
+
options: Options;
|
|
44
|
+
tags: string[];
|
|
45
|
+
};
|
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const tsflow = require("./formatters/tsflow-snippet-syntax");
|
|
13
|
-
module.exports = tsflow;
|
|
14
12
|
});
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2doZXJraW4vbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
package/lib/snippet.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/snippet.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
+
if (k2 === undefined) k2 = k;
|
|
3
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(o, k2, desc);
|
|
8
|
+
}) : (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
o[k2] = m[k];
|
|
11
|
+
}));
|
|
12
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
+
}) : function(o, v) {
|
|
15
|
+
o["default"] = v;
|
|
16
|
+
});
|
|
17
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
18
|
+
if (mod && mod.__esModule) return mod;
|
|
19
|
+
var result = {};
|
|
20
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
+
__setModuleDefault(result, mod);
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
(function (factory) {
|
|
25
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
26
|
+
var v = factory(require, exports);
|
|
27
|
+
if (v !== undefined) module.exports = v;
|
|
28
|
+
}
|
|
29
|
+
else if (typeof define === "function" && define.amd) {
|
|
30
|
+
define(["require", "exports", "./formatters/tsflow-snippet-syntax"], factory);
|
|
31
|
+
}
|
|
32
|
+
})(function (require, exports) {
|
|
33
|
+
"use strict";
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
const tsflow = __importStar(require("./formatters/tsflow-snippet-syntax"));
|
|
36
|
+
module.exports = tsflow;
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25pcHBldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zbmlwcGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBQSwyRUFBNkQ7SUFFN0QsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMifQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "./esbuild"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EsbuildTranspiler = void 0;
|
|
13
|
+
const esbuild_1 = require("./esbuild");
|
|
14
|
+
const create = (_createOptions) => {
|
|
15
|
+
return new EsbuildTranspiler();
|
|
16
|
+
};
|
|
17
|
+
class EsbuildTranspiler {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.transpile = (input, options) => {
|
|
20
|
+
const result = (0, esbuild_1.transpileCode)(input, options.fileName);
|
|
21
|
+
return {
|
|
22
|
+
outputText: result.output,
|
|
23
|
+
sourceMapText: result.sourceMap
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.EsbuildTranspiler = EsbuildTranspiler;
|
|
29
|
+
exports.create = create;
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10cmFuc3BpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zcGlsZXJzL2VzYnVpbGQtdHJhbnNwaWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDQSx1Q0FBMEM7SUFFMUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxjQUF1QyxFQUFjLEVBQUU7UUFDdEUsT0FBTyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0lBRUYsTUFBYSxpQkFBaUI7UUFBOUI7WUFDQyxjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBeUIsRUFBbUIsRUFBRTtnQkFDekUsTUFBTSxNQUFNLEdBQUcsSUFBQSx1QkFBYSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXRELE9BQU87b0JBQ04sVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNO29CQUN6QixhQUFhLEVBQUUsTUFBTSxDQUFDLFNBQVM7aUJBQ1osQ0FBQztZQUN0QixDQUFDLENBQUM7UUFDSCxDQUFDO0tBQUE7SUFURCw4Q0FTQztJQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDIn0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Loader, CommonOptions, TransformOptions, BuildOptions } from 'esbuild';
|
|
2
|
+
export declare type TranspileOptions = {
|
|
3
|
+
debug: boolean;
|
|
4
|
+
esbuild?: CommonOptions & TransformOptions & BuildOptions;
|
|
5
|
+
};
|
|
6
|
+
export declare type TranspileResults = {
|
|
7
|
+
output: string;
|
|
8
|
+
sourceMap?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const loaders: Record<string, Loader>;
|
|
11
|
+
export declare const supports: (filename: string) => boolean;
|
|
12
|
+
export declare const transpileCode: (code: string, filename: string, ext?: string | undefined, _options?: Partial<TranspileOptions> | undefined) => TranspileResults;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
(function (factory) {
|
|
5
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
6
|
+
var v = factory(require, exports);
|
|
7
|
+
if (v !== undefined) module.exports = v;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof define === "function" && define.amd) {
|
|
10
|
+
define(["require", "exports", "esbuild", "path"], factory);
|
|
11
|
+
}
|
|
12
|
+
})(function (require, exports) {
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.transpileCode = exports.supports = exports.loaders = void 0;
|
|
16
|
+
const esbuild_1 = require("esbuild");
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const defaultOptions = {
|
|
19
|
+
debug: false
|
|
20
|
+
};
|
|
21
|
+
const commonOptions = {
|
|
22
|
+
format: 'cjs',
|
|
23
|
+
logLevel: 'error',
|
|
24
|
+
target: [`node${process.version.slice(1)}`],
|
|
25
|
+
minify: false,
|
|
26
|
+
sourcemap: 'external'
|
|
27
|
+
};
|
|
28
|
+
exports.loaders = {
|
|
29
|
+
'.js': 'js',
|
|
30
|
+
'.mjs': 'js',
|
|
31
|
+
'.cjs': 'js',
|
|
32
|
+
'.jsx': 'jsx',
|
|
33
|
+
'.ts': 'ts',
|
|
34
|
+
'.tsx': 'tsx',
|
|
35
|
+
'.json': 'json'
|
|
36
|
+
};
|
|
37
|
+
const supports = (filename) => {
|
|
38
|
+
if (filename.includes('node_modules') || filename.includes('cucumber-tsflow/lib'))
|
|
39
|
+
return false;
|
|
40
|
+
return path_1.default.extname(filename) in exports.loaders;
|
|
41
|
+
};
|
|
42
|
+
exports.supports = supports;
|
|
43
|
+
const getLoaders = (options) => {
|
|
44
|
+
var _a;
|
|
45
|
+
const ret = { ...exports.loaders };
|
|
46
|
+
if (typeof ((_a = options.esbuild) === null || _a === void 0 ? void 0 : _a.loader) == 'object') {
|
|
47
|
+
for (const [e, l] of Object.entries(options.esbuild.loader))
|
|
48
|
+
ret[e] = l;
|
|
49
|
+
}
|
|
50
|
+
return ret;
|
|
51
|
+
};
|
|
52
|
+
const transpileCode = (code, filename, ext, _options) => {
|
|
53
|
+
const options = { ...defaultOptions, ..._options };
|
|
54
|
+
const loaders = getLoaders(options);
|
|
55
|
+
const loaderExt = ext != undefined ? ext : path_1.default.extname(filename);
|
|
56
|
+
const ret = (0, esbuild_1.transformSync)(code, {
|
|
57
|
+
...commonOptions,
|
|
58
|
+
...options.esbuild,
|
|
59
|
+
loader: loaders[loaderExt],
|
|
60
|
+
sourcefile: filename
|
|
61
|
+
});
|
|
62
|
+
return { output: ret.code, sourceMap: ret.map };
|
|
63
|
+
};
|
|
64
|
+
exports.transpileCode = transpileCode;
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BpbGVycy9lc2J1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztJQUFBLHFDQUErRjtJQUMvRixnREFBd0I7SUFNeEIsTUFBTSxjQUFjLEdBQXFCO1FBQ3hDLEtBQUssRUFBRSxLQUFLO0tBQ1osQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFrQjtRQUNwQyxNQUFNLEVBQUUsS0FBSztRQUNiLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEVBQUUsS0FBSztRQUNiLFNBQVMsRUFBRSxVQUFVO0tBQ3JCLENBQUM7SUFPVyxRQUFBLE9BQU8sR0FBMkI7UUFDOUMsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLE1BQU0sRUFBRSxJQUFJO1FBQ1osTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFLE1BQU07S0FDZixDQUFDO0lBRUssTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7UUFDNUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNoRyxPQUFPLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksZUFBTyxDQUFDO0lBQzFDLENBQUMsQ0FBQztJQUhXLFFBQUEsUUFBUSxZQUduQjtJQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBeUIsRUFBRSxFQUFFOztRQUNoRCxNQUFNLEdBQUcsR0FBRyxFQUFFLEdBQUcsZUFBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxPQUFPLENBQUEsTUFBQSxPQUFPLENBQUMsT0FBTywwQ0FBRSxNQUFNLENBQUEsSUFBSSxRQUFRLEVBQUU7WUFDL0MsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQVcsQ0FBQztTQUNsRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQyxDQUFDO0lBRUssTUFBTSxhQUFhLEdBQUcsQ0FDNUIsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLEdBQVksRUFDWixRQUFvQyxFQUNqQixFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFxQixFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDckUsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRSxNQUFNLEdBQUcsR0FBRyxJQUFBLHVCQUFhLEVBQUMsSUFBSSxFQUFFO1lBQy9CLEdBQUcsYUFBYTtZQUNoQixHQUFJLE9BQU8sQ0FBQyxPQUF3QztZQUNwRCxNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMxQixVQUFVLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRCxDQUFDLENBQUM7SUFqQlcsUUFBQSxhQUFhLGlCQWlCeEIifQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.resolveCompiler = void 0;
|
|
13
|
+
const resolveCompiler = (root) => {
|
|
14
|
+
// resolve from project root first, then fallback to peer dep (if any)
|
|
15
|
+
const compiler = tryRequire('vue/compiler-sfc', root) || tryRequire('vue/compiler-sfc');
|
|
16
|
+
if (!compiler) {
|
|
17
|
+
throw new Error(`Failed to resolve vue/compiler-sfc.\n` +
|
|
18
|
+
`@lynxwall/cucumber-tsflow/vue requires vue (>=3.2.25) ` +
|
|
19
|
+
`to be present in the dependency tree.`);
|
|
20
|
+
}
|
|
21
|
+
return compiler;
|
|
22
|
+
};
|
|
23
|
+
exports.resolveCompiler = resolveCompiler;
|
|
24
|
+
const tryRequire = (id, from) => {
|
|
25
|
+
try {
|
|
26
|
+
return from ? require(require.resolve(id, { paths: [from] })) : require(id);
|
|
27
|
+
// eslint-disable-next-line no-empty
|
|
28
|
+
}
|
|
29
|
+
catch (e) { }
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwaWxlcnMvdnVlLXNmYy9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFTTyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBb0IsRUFBRTtRQUNqRSxzRUFBc0U7UUFDdEUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhGLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUNkLHVDQUF1QztnQkFDdEMsd0RBQXdEO2dCQUN4RCx1Q0FBdUMsQ0FDeEMsQ0FBQztTQUNGO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBYlcsUUFBQSxlQUFlLG1CQWExQjtJQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsRUFBVSxFQUFFLElBQWEsRUFBRSxFQUFFO1FBQ2hELElBQUk7WUFDSCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1RSxvQ0FBb0M7U0FDcEM7UUFBQyxPQUFPLENBQUMsRUFBRSxHQUFFO0lBQ2YsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RollupError, RollupWarning } from 'rollup';
|
|
2
|
+
import type { Options, VueTransformerContext, VueResolvedId } from './types';
|
|
3
|
+
export { parseVueRequest, VueQuery } from './utils/query';
|
|
4
|
+
declare class VueTransformer implements VueTransformerContext {
|
|
5
|
+
private filter;
|
|
6
|
+
private customElementFilter;
|
|
7
|
+
private refTransformFilter;
|
|
8
|
+
private options;
|
|
9
|
+
private isSSR;
|
|
10
|
+
constructor(rawOptions?: Options);
|
|
11
|
+
error: (err: string | RollupError, pos?: number | {
|
|
12
|
+
column: number;
|
|
13
|
+
line: number;
|
|
14
|
+
} | undefined) => void;
|
|
15
|
+
resolve: (id: string) => VueResolvedId | null;
|
|
16
|
+
warn: (warning: string | RollupWarning, pos?: number | {
|
|
17
|
+
column: number;
|
|
18
|
+
line: number;
|
|
19
|
+
} | undefined) => void;
|
|
20
|
+
transformCode: (code: string, filename: string) => {
|
|
21
|
+
code: string | undefined;
|
|
22
|
+
map: string | undefined;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export default VueTransformer;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "@rollup/pluginutils", "./compiler", "./utils/query", "./main", "./utils/query"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.parseVueRequest = void 0;
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
14
|
+
const pluginutils_1 = require("@rollup/pluginutils");
|
|
15
|
+
const compiler_1 = require("./compiler");
|
|
16
|
+
const query_1 = require("./utils/query");
|
|
17
|
+
const main_1 = require("./main");
|
|
18
|
+
var query_2 = require("./utils/query");
|
|
19
|
+
Object.defineProperty(exports, "parseVueRequest", { enumerable: true, get: function () { return query_2.parseVueRequest; } });
|
|
20
|
+
class VueTransformer {
|
|
21
|
+
constructor(rawOptions = {}) {
|
|
22
|
+
this.isSSR = (opt) => opt === undefined ? false : typeof opt === 'boolean' ? opt : (opt === null || opt === void 0 ? void 0 : opt.ssr) === true;
|
|
23
|
+
this.error = (err, pos) => { };
|
|
24
|
+
this.resolve = (id) => {
|
|
25
|
+
// serve sub-part requests (*?vue) as virtual modules
|
|
26
|
+
if ((0, query_1.parseVueRequest)(id).query.vue) {
|
|
27
|
+
return { external: false, id: id };
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
};
|
|
31
|
+
this.warn = (warning, pos) => { };
|
|
32
|
+
this.transformCode = (code, filename) => {
|
|
33
|
+
const ssr = this.isSSR(false);
|
|
34
|
+
const result = (0, main_1.transformMain)(code, filename, this.options, this, ssr, this.customElementFilter(filename));
|
|
35
|
+
return { code: result === null || result === void 0 ? void 0 : result.code, map: result === null || result === void 0 ? void 0 : result.map.mappings };
|
|
36
|
+
};
|
|
37
|
+
const { include = /\.vue$/, exclude, customElement = /\.ce\.vue$/, reactivityTransform = false } = rawOptions;
|
|
38
|
+
this.filter = (0, pluginutils_1.createFilter)(include, exclude);
|
|
39
|
+
this.customElementFilter = typeof customElement === 'boolean' ? () => customElement : (0, pluginutils_1.createFilter)(customElement);
|
|
40
|
+
this.refTransformFilter =
|
|
41
|
+
reactivityTransform === false
|
|
42
|
+
? () => false
|
|
43
|
+
: reactivityTransform === true
|
|
44
|
+
? (0, pluginutils_1.createFilter)(/\.(j|t)sx?$/, /node_modules/)
|
|
45
|
+
: (0, pluginutils_1.createFilter)(reactivityTransform);
|
|
46
|
+
const rootDir = process.cwd();
|
|
47
|
+
this.options = {
|
|
48
|
+
isProduction: process.env.NODE_ENV === 'production',
|
|
49
|
+
compiler: (0, compiler_1.resolveCompiler)(rootDir),
|
|
50
|
+
...rawOptions,
|
|
51
|
+
include,
|
|
52
|
+
exclude,
|
|
53
|
+
customElement,
|
|
54
|
+
reactivityTransform,
|
|
55
|
+
root: rootDir,
|
|
56
|
+
sourceMap: true
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.default = VueTransformer;
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwaWxlcnMvdnVlLXNmYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBQSxzREFBc0Q7SUFDdEQscURBQW1EO0lBRW5ELHlDQUE2QztJQUM3Qyx5Q0FBZ0Q7SUFDaEQsaUNBQXVDO0lBR3ZDLHVDQUEwRDtJQUFqRCx3R0FBQSxlQUFlLE9BQUE7SUFFeEIsTUFBTSxjQUFjO1FBUW5CLFlBQVksYUFBc0IsRUFBRTtZQUg1QixVQUFLLEdBQUcsQ0FBQyxHQUE0QyxFQUFFLEVBQUUsQ0FDaEUsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsR0FBRyxNQUFLLElBQUksQ0FBQztZQTBCekUsVUFBSyxHQUFHLENBQUMsR0FBeUIsRUFBRSxHQUEyRCxFQUFRLEVBQUUsR0FBRSxDQUFDLENBQUM7WUFDN0csWUFBTyxHQUFHLENBQUMsRUFBVSxFQUF3QixFQUFFO2dCQUNyRCxxREFBcUQ7Z0JBQ3JELElBQUksSUFBQSx1QkFBZSxFQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7b0JBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztpQkFDbkM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDYixDQUFDLENBQUM7WUFFSyxTQUFJLEdBQUcsQ0FDYixPQUErQixFQUMvQixHQUEyRCxFQUNwRCxFQUFFLEdBQUUsQ0FBQyxDQUFDO1lBRVAsa0JBQWEsR0FBRyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDMUcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFELENBQUMsQ0FBQztZQXpDRCxNQUFNLEVBQUUsT0FBTyxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsYUFBYSxHQUFHLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDOUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLDBCQUFZLEVBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBQSwwQkFBWSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xILElBQUksQ0FBQyxrQkFBa0I7Z0JBQ3RCLG1CQUFtQixLQUFLLEtBQUs7b0JBQzVCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLO29CQUNiLENBQUMsQ0FBQyxtQkFBbUIsS0FBSyxJQUFJO3dCQUM5QixDQUFDLENBQUMsSUFBQSwwQkFBWSxFQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7d0JBQzdDLENBQUMsQ0FBQyxJQUFBLDBCQUFZLEVBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUV0QyxNQUFNLE9BQU8sR0FBVyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDZCxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWTtnQkFDbkQsUUFBUSxFQUFFLElBQUEsMEJBQWUsRUFBQyxPQUFPLENBQUM7Z0JBQ2xDLEdBQUcsVUFBVTtnQkFDYixPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsYUFBYTtnQkFDYixtQkFBbUI7Z0JBQ25CLElBQUksRUFBRSxPQUFPO2dCQUNiLFNBQVMsRUFBRSxJQUFJO2FBQ2YsQ0FBQztRQUNILENBQUM7S0FvQkQ7SUFFRCxrQkFBZSxjQUFjLENBQUMifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RawSourceMap } from 'source-map';
|
|
2
|
+
import { VueTransformerContext, ResolvedOptions } from './types';
|
|
3
|
+
export declare const transformMain: (code: string, filename: string, options: ResolvedOptions, transformerContext: VueTransformerContext, ssr: boolean, asCustomElement: boolean) => {
|
|
4
|
+
code: string;
|
|
5
|
+
map: RawSourceMap | {
|
|
6
|
+
mappings: string;
|
|
7
|
+
};
|
|
8
|
+
} | null;
|