Socket
Socket
Sign inDemoInstall

@vue/language-core

Package Overview
Dependencies
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vue/language-core - npm Package Compare versions

Comparing version 2.0.6 to 2.0.7

84

lib/generators/script.js

@@ -176,15 +176,21 @@ "use strict";

function __VLS_getVForSourceType<T extends any[]>(source: T): [
T[number], // item
number, // key
number, // index
item: T[number],
key: number,
index: number,
][];
function __VLS_getVForSourceType<T extends { [Symbol.iterator](): Iterator<any> }>(source: T): [
T extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never, // item
number, // key
undefined, // index
item: T extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never,
key: number,
index: undefined,
][];
// #3845
function __VLS_getVForSourceType<T extends number | { [Symbol.iterator](): Iterator<any> }>(source: T): [
item: number | (Exclude<T, number> extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never),
key: number,
index: undefined,
][];
function __VLS_getVForSourceType<T>(source: T): [
T[keyof T], // item
keyof T, // key
number, // index
item: T[keyof T],
key: keyof T,
index: number,
][];

@@ -288,13 +294,18 @@

function* generateSrc() {
if (!script?.src)
if (!script?.src) {
return;
}
let src = script.src;
if (src.endsWith('.d.ts'))
if (src.endsWith('.d.ts')) {
src = src.substring(0, src.length - '.d.ts'.length);
else if (src.endsWith('.ts'))
}
else if (src.endsWith('.ts')) {
src = src.substring(0, src.length - '.ts'.length);
else if (src.endsWith('.tsx'))
}
else if (src.endsWith('.tsx')) {
src = src.substring(0, src.length - '.tsx'.length) + '.jsx';
if (!src.endsWith('.js') && !src.endsWith('.jsx'))
}
if (!src.endsWith('.js') && !src.endsWith('.jsx')) {
src = src + '.js';
}
yield _(`export * from `);

@@ -330,11 +341,15 @@ yield _([

function* generateScriptContentBeforeExportDefault() {
if (!script)
if (!script) {
return;
if (!!scriptSetup && scriptRanges?.exportDefault)
}
if (!!scriptSetup && scriptRanges?.exportDefault) {
return yield _(generateSourceCode(script, 0, scriptRanges.exportDefault.expression.start));
}
let isExportRawObject = false;
if (scriptRanges?.exportDefault)
if (scriptRanges?.exportDefault) {
isExportRawObject = script.content.substring(scriptRanges.exportDefault.expression.start, scriptRanges.exportDefault.expression.end).startsWith('{');
if (!isExportRawObject || !vueCompilerOptions.optionsWrapper.length || !scriptRanges?.exportDefault)
}
if (!isExportRawObject || !vueCompilerOptions.optionsWrapper.length || !scriptRanges?.exportDefault) {
return yield _(generateSourceCode(script, 0, script.content.length));
}
yield _(generateSourceCode(script, 0, scriptRanges.exportDefault.expression.start));

@@ -364,10 +379,13 @@ yield _(vueCompilerOptions.optionsWrapper[0]);

function* generateScriptContentAfterExportDefault() {
if (!script)
if (!script) {
return;
if (!!scriptSetup && scriptRanges?.exportDefault)
}
if (!!scriptSetup && scriptRanges?.exportDefault) {
yield _(generateSourceCode(script, scriptRanges.exportDefault.expression.end, script.content.length));
}
}
function* generateScriptSetupImports() {
if (!scriptSetup || !scriptSetupRanges)
if (!scriptSetup || !scriptSetupRanges) {
return;
}
yield _([

@@ -388,4 +406,5 @@ scriptSetup.content.substring(0, Math.max(scriptSetupRanges.importSectionEndOffset, scriptSetupRanges.leadingCommentEndOffset)) + '\n',

for (const defineProp of scriptSetupRanges.defineProp) {
if (!defineProp.isModel)
if (!defineProp.isModel) {
continue;
}
let propName = 'modelValue';

@@ -410,4 +429,5 @@ if (defineProp.name) {

function* generateScriptSetupAndTemplate() {
if (!scriptSetup || !scriptSetupRanges)
if (!scriptSetup || !scriptSetupRanges) {
return;
}
const definePropMirrors = new Map();

@@ -552,4 +572,5 @@ if (scriptSetup.generic) {

function* generateSetupFunction(functional, mode, definePropMirrors) {
if (!scriptSetupRanges || !scriptSetup)
if (!scriptSetupRanges || !scriptSetup) {
return;
}
const definePropProposalA = scriptSetup.content.trimStart().startsWith('// @experimentalDefinePropProposal=kevinEdition') || vueCompilerOptions.experimentalDefinePropProposal === 'kevinEdition';

@@ -709,4 +730,5 @@ const definePropProposalB = scriptSetup.content.trimStart().startsWith('// @experimentalDefinePropProposal=johnsonEdition') || vueCompilerOptions.experimentalDefinePropProposal === 'johnsonEdition';

function* generateComponent(functional) {
if (!scriptSetupRanges)
if (!scriptSetupRanges) {
return;
}
if (script && scriptRanges?.exportDefault && scriptRanges.exportDefault.expression.start !== scriptRanges.exportDefault.args.start) {

@@ -783,8 +805,10 @@ // use defineComponent() from user space code if it exist

}
yield _(`emits: ({} as __VLS_NormalizeEmits<typeof __VLS_modelEmitsType`);
if (ranges.emits.define) {
yield _(` & typeof `);
yield _(ranges.emits.name ?? '__VLS_emit');
if (ranges.defineProp.filter(p => p.isModel).length || ranges.emits.define) {
yield _(`emits: ({} as __VLS_NormalizeEmits<typeof __VLS_modelEmitsType`);
if (ranges.emits.define) {
yield _(` & typeof `);
yield _(ranges.emits.name ?? '__VLS_emit');
}
yield _(`>),\n`);
}
yield _(`>),\n`);
}

@@ -791,0 +815,0 @@ if (script && scriptRanges?.exportDefault?.args) {

@@ -30,3 +30,5 @@ "use strict";

try {
return plugin(pluginContext);
const instance = plugin(pluginContext);
instance.name ??= plugin.__moduleName;
return instance;
}

@@ -43,6 +45,6 @@ catch (err) {

});
return pluginInstances.filter((plugin) => {
return pluginInstances.filter(plugin => {
const valid = plugin.version === types_1.pluginVersion;
if (!valid) {
console.warn(`[Vue] Plugin ${JSON.stringify(plugin.name)} API version incompatible, expected ${JSON.stringify(types_1.pluginVersion)} but got ${JSON.stringify(plugin.version)}`);
console.warn(`[Vue] Plugin ${JSON.stringify(plugin.name)} API version incompatible, expected "${types_1.pluginVersion}" but got "${plugin.version}".`);
}

@@ -49,0 +51,0 @@ return valid;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const parseSfc_1 = require("../utils/parseSfc");
const plugin = (_ctx) => {
const plugin = _ctx => {
return {

@@ -6,0 +6,0 @@ version: 2,

@@ -12,3 +12,3 @@ "use strict";

exports.tsCodegen = new WeakMap();
const plugin = (ctx) => {
const plugin = ctx => {
return {

@@ -130,4 +130,5 @@ version: 2,

const generatedTemplate = (0, computeds_1.computed)(() => {
if (!_sfc.template)
if (!_sfc.template) {
return;
}
const tsCodes = [];

@@ -134,0 +135,0 @@ const tsFormatCodes = [];

@@ -106,4 +106,5 @@ "use strict";

}
if (node.initializer)
if (node.initializer) {
walkIdentifiers(ts, node.initializer, ast, cb, localVars, blockVars, false);
}
}

@@ -118,7 +119,9 @@ else if (ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {

}
for (const varName of functionArgs)
for (const varName of functionArgs) {
localVars.set(varName, (localVars.get(varName) ?? 0) + 1);
}
walkIdentifiers(ts, node.body, ast, cb, localVars, blockVars, false);
for (const varName of functionArgs)
for (const varName of functionArgs) {
localVars.set(varName, localVars.get(varName) - 1);
}
}

@@ -125,0 +128,0 @@ else if (ts.isObjectLiteralExpression(node)) {

import type * as ts from 'typescript';
import type { VueCompilerOptions } from '../types';
export type ParsedCommandLine = ts.ParsedCommandLine & {
vueOptions: Partial<VueCompilerOptions>;
vueOptions: VueCompilerOptions;
};

@@ -6,0 +6,0 @@ export declare function createParsedCommandLineByJson(ts: typeof import('typescript'), parseConfigHost: ts.ParseConfigHost, rootDir: string, json: any, configFileName?: string): ParsedCommandLine;

@@ -18,3 +18,4 @@ "use strict";

}
const parsed = ts.parseJsonConfigFileContent(json, proxyHost.host, rootDir, {}, configFileName, undefined, (vueOptions.extensions ?? ['.vue']).map(extension => ({
const resolvedVueOptions = resolveVueCompilerOptions(vueOptions);
const parsed = ts.parseJsonConfigFileContent(json, proxyHost.host, rootDir, {}, configFileName, undefined, resolvedVueOptions.extensions.map(extension => ({
extension: extension.slice(1),

@@ -30,3 +31,3 @@ isMixedContent: true,

...parsed,
vueOptions,
vueOptions: resolvedVueOptions,
};

@@ -50,3 +51,4 @@ }

}
const parsed = ts.parseJsonSourceFileConfigFileContent(config, proxyHost.host, path.dirname(tsConfigPath), {}, tsConfigPath, undefined, (vueOptions.extensions ?? ['.vue']).map(extension => ({
const resolvedVueOptions = resolveVueCompilerOptions(vueOptions);
const parsed = ts.parseJsonSourceFileConfigFileContent(config, proxyHost.host, path.dirname(tsConfigPath), {}, tsConfigPath, undefined, resolvedVueOptions.extensions.map(extension => ({
extension: extension.slice(1),

@@ -62,3 +64,3 @@ isMixedContent: true,

...parsed,
vueOptions,
vueOptions: resolvedVueOptions,
};

@@ -125,3 +127,5 @@ }

if (resolvedPath) {
return require(resolvedPath);
const plugin = require(resolvedPath);
plugin.__moduleName = pluginPath;
return plugin;
}

@@ -128,0 +132,0 @@ else {

@@ -12,3 +12,3 @@ "use strict";

const onWarn = options.onWarn;
options.onError = (error) => {
options.onError = error => {
if (error.code === 33 // :key binding allowed in v-for template child in vue 2

@@ -61,3 +61,3 @@ || error.code === 29 // fix https://github.com/vuejs/language-tools/issues/1638

function baseCompile(template, options = {}) {
const onError = options.onError || ((error) => { throw error; });
const onError = options.onError || (error => { throw error; });
const isModuleMode = options.mode === 'module';

@@ -64,0 +64,0 @@ const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;

@@ -23,3 +23,3 @@ "use strict";

.filter(s => typeof s !== 'string')
.map((m) => {
.map(m => {
const text = m[0];

@@ -26,0 +26,0 @@ const start = m[2];

{
"name": "@vue/language-core",
"version": "2.0.6",
"version": "2.0.7",
"license": "MIT",

@@ -15,3 +15,3 @@ "files": [

"dependencies": {
"@volar/language-core": "~2.1.2",
"@volar/language-core": "~2.1.3",
"@vue/compiler-dom": "^3.4.0",

@@ -38,3 +38,3 @@ "@vue/shared": "^3.4.0",

},
"gitHead": "feb990ccec85f6330bba37c8b1d1287f0980274c"
"gitHead": "4a37e8f3ebcf31ecfd2ea627f7611d5990ec5df6"
}

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc