@amplitude/ampli
Version:
Amplitude CLI
34 lines (33 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vueParser = require("vue-parser");
const base_1 = require("../base");
const JavaScriptVerifier_1 = require("../javascript/JavaScriptVerifier");
const TypeScriptVerifier_1 = require("../typescript/TypeScriptVerifier");
class VueVerifier extends base_1.Verifier {
constructor(ampliInstanceNames = ['itly']) {
super('vue', ampliInstanceNames.map(name => `${name}.`), null, ['node_modules']);
this.ampliInstanceNames = ampliInstanceNames;
}
async doVerify(eventNames, workingDirs) {
const { jsVerifier, tsVerifier } = this.createInnerVerifiers();
return this.verifyEach((filePath, fileContents, addReference) => {
const tsContents = vueParser.parse(fileContents, 'script', { lang: 'ts', emptyExport: false });
if (tsContents) {
tsVerifier.verifyFile(filePath, tsContents, addReference);
return;
}
const jsContents = vueParser.parse(fileContents, 'script', { emptyExport: false });
if (jsContents) {
jsVerifier.verifyFile(filePath, jsContents, addReference);
}
}, workingDirs);
}
createInnerVerifiers() {
return {
jsVerifier: new JavaScriptVerifier_1.default(this.ampliInstanceNames),
tsVerifier: new TypeScriptVerifier_1.default(this.ampliInstanceNames),
};
}
}
exports.default = VueVerifier;