UNPKG

@amplitude/ampli

Version:

Amplitude CLI

34 lines (33 loc) 1.5 kB
"use strict"; 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;