Socket
Socket
Sign inDemoInstall

@vue/compiler-sfc

Package Overview
Dependencies
Maintainers
1
Versions
274
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vue/compiler-sfc - npm Package Compare versions

Comparing version 3.0.0-alpha.0 to 3.0.0-alpha.1

67

dist/compiler-sfc.cjs.js

@@ -7,5 +7,5 @@ 'use strict';

var compilerCore = require('@vue/compiler-core');
var sourceMap = require('source-map');
var LRUCache = _interopDefault(require('lru-cache'));
var compilerCore = require('@vue/compiler-core');
var url = require('url');

@@ -58,4 +58,4 @@ var consolidate = _interopDefault(require('consolidate'));

const sourceToSFC = new LRUCache(SFC_CACHE_MAX_SIZE);
function parse(source, { sourceMap = true, filename = 'component.vue', sourceRoot = '', pad = false } = {}) {
const sourceKey = source + sourceMap + filename + sourceRoot + pad;
function parse(source, { sourceMap = true, filename = 'component.vue', sourceRoot = '', pad = false, compiler = require('@vue/compiler-dom') } = {}) {
const sourceKey = source + sourceMap + filename + sourceRoot + pad + compiler.parse;
const cache = sourceToSFC.get(sourceKey);

@@ -65,3 +65,3 @@ if (cache) {

}
const sfc = {
const descriptor = {
filename,

@@ -73,5 +73,21 @@ template: null,

};
const ast = compilerCore.parse(source, {
const errors = [];
const ast = compiler.parse(source, {
// there are no components at SFC parsing level
isNativeTag: () => true,
getTextMode: () => 2 /* RAWTEXT */
// preserve all whitespaces
isPreTag: () => true,
getTextMode: (tag, _ns, parent) => {
// all top level elements except <template> are parsed as raw text
// containers
if (!parent && tag !== 'template') {
return 2 /* RAWTEXT */;
}
else {
return 0 /* DATA */;
}
},
onError: e => {
errors.push(e);
}
});

@@ -87,4 +103,4 @@ ast.children.forEach(node => {

case 'template':
if (!sfc.template) {
sfc.template = createBlock(node, source, pad);
if (!descriptor.template) {
descriptor.template = createBlock(node, source, pad);
}

@@ -96,4 +112,4 @@ else {

case 'script':
if (!sfc.script) {
sfc.script = createBlock(node, source, pad);
if (!descriptor.script) {
descriptor.script = createBlock(node, source, pad);
}

@@ -105,6 +121,6 @@ else {

case 'style':
sfc.styles.push(createBlock(node, source, pad));
descriptor.styles.push(createBlock(node, source, pad));
break;
default:
sfc.customBlocks.push(createBlock(node, source, pad));
descriptor.customBlocks.push(createBlock(node, source, pad));
break;

@@ -119,8 +135,12 @@ }

};
genMap(sfc.template);
genMap(sfc.script);
sfc.styles.forEach(genMap);
genMap(descriptor.template);
genMap(descriptor.script);
descriptor.styles.forEach(genMap);
}
sourceToSFC.set(sourceKey, sfc);
return sfc;
const result = {
descriptor,
errors
};
sourceToSFC.set(sourceKey, result);
return result;
}

@@ -134,8 +154,15 @@ function warnDuplicateBlock(source, filename, node) {

const type = node.tag;
const text = node.children[0];
const start = node.children[0].loc.start;
const end = node.children[node.children.length - 1].loc.end;
const content = source.slice(start.offset, end.offset);
const loc = {
source: content,
start,
end
};
const attrs = {};
const block = {
type,
content: text.content,
loc: text.loc,
content,
loc,
attrs

@@ -142,0 +169,0 @@ };

@@ -6,4 +6,6 @@ import { CodegenResult } from '@vue/compiler-core';

import { LazyResult } from 'postcss';
import { ParserOptions } from '@vue/compiler-core';
import { RawSourceMap } from 'source-map';
import { Result } from 'postcss';
import { RootNode } from '@vue/compiler-core';
import { SourceLocation } from '@vue/compiler-core';

@@ -14,2 +16,3 @@

}
export { CompilerError }
export { CompilerOptions }

@@ -24,3 +27,3 @@

export declare function parse(source: string, { sourceMap, filename, sourceRoot, pad }?: SFCParseOptions): SFCDescriptor;
export declare function parse(source: string, { sourceMap, filename, sourceRoot, pad, compiler }?: SFCParseOptions): SFCParseResult;

@@ -52,4 +55,10 @@ declare type PreprocessLang = 'less' | 'sass' | 'scss' | 'styl' | 'stylus';

pad?: boolean | 'line' | 'space';
compiler?: TemplateCompiler;
}
declare interface SFCParseResult {
descriptor: SFCDescriptor;
errors: CompilerError[];
}
export declare interface SFCScriptBlock extends SFCBlock {

@@ -111,4 +120,5 @@ type: 'script';

compile(template: string, options: CompilerOptions): CodegenResult;
parse(template: string, options: ParserOptions): RootNode;
}
export { }
{
"name": "@vue/compiler-sfc",
"version": "3.0.0-alpha.0",
"version": "3.0.0-alpha.1",
"description": "@vue/compiler-sfc",

@@ -30,7 +30,7 @@ "main": "dist/compiler-sfc.cjs.js",

"peerDependencies": {
"vue": "3.0.0-alpha.0"
"vue": "3.0.0-alpha.1"
},
"dependencies": {
"@vue/compiler-core": "3.0.0-alpha.0",
"@vue/compiler-dom": "3.0.0-alpha.0",
"@vue/compiler-core": "3.0.0-alpha.1",
"@vue/compiler-dom": "3.0.0-alpha.1",
"consolidate": "^0.15.1",

@@ -37,0 +37,0 @@ "hash-sum": "^2.0.0",

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