Socket
Socket
Sign inDemoInstall

rollup-plugin-vue

Package Overview
Dependencies
Maintainers
1
Versions
102
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rollup-plugin-vue - npm Package Compare versions

Comparing version 6.0.0-alpha.2 to 6.0.0-alpha.3

11

dist/index.d.ts

@@ -1,4 +0,4 @@

import { SFCTemplateCompileOptions } from '@vue/compiler-sfc';
import { SFCTemplateCompileOptions, SFCStyleCompileOptions } from '@vue/compiler-sfc';
import { Plugin } from 'rollup';
export interface Options extends Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'transformAssetUrls'> {
export interface Options extends Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'transformAssetUrls'>, Pick<SFCStyleCompileOptions, 'preprocessCustomRequire'> {
include: string | RegExp | (string | RegExp)[];

@@ -8,3 +8,10 @@ exclude: string | RegExp | (string | RegExp)[];

exposeFilename: boolean;
cssModulesOptions?: {
scopeBehaviour?: 'global' | 'local';
globalModulePaths?: string[];
generateScopedName?: string | ((name: string, filename: string, css: string) => string);
hashPrefix?: string;
localsConvention?: 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly';
};
}
export default function PluginVue(userOptions?: Partial<Options>): Plugin;

101

dist/index.js

@@ -1,13 +0,4 @@

'use strict';
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var compilerSfc = require('@vue/compiler-sfc');
var createDebugger = _interopDefault(require('debug'));
var hash = _interopDefault(require('hash-sum'));
var path = require('path');
var qs = _interopDefault(require('querystring'));
var rollupPluginutils = require('rollup-pluginutils');
var sourcemapCodec = require('sourcemap-codec');
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
try {

@@ -20,3 +11,10 @@ require.resolve('@vue/compiler-sfc');

}
const debug = createDebugger('rollup-plugin-vue');
const compiler_sfc_1 = require("@vue/compiler-sfc");
const debug_1 = tslib_1.__importDefault(require("debug"));
const hash_sum_1 = tslib_1.__importDefault(require("hash-sum"));
const path_1 = require("path");
const querystring_1 = tslib_1.__importDefault(require("querystring"));
const rollup_pluginutils_1 = require("rollup-pluginutils");
const sourcemap_codec_1 = require("sourcemap-codec");
const debug = debug_1.default('rollup-plugin-vue');
const defaultOptions = {

@@ -36,3 +34,3 @@ include: /\.vue$/,

const rootContext = process.cwd();
const filter = rollupPluginutils.createFilter(options.include, options.exclude);
const filter = rollup_pluginutils_1.createFilter(options.include, options.exclude);
return {

@@ -68,3 +66,3 @@ name: 'vue',

// generate source mapping for each character.
result.map.mappings = sourcemapCodec.encode(result.code.split(/\r?\n/).map((line, index) => {
result.map.mappings = sourcemap_codec_1.encode(result.code.split(/\r?\n/).map((line, index) => {
const segments = [];

@@ -90,6 +88,7 @@ for (let i = 0; i < line.length; ++i) {

const descriptor = getDescriptor(query.filename);
const hasScoped = descriptor.styles.some((s) => s.scoped);
if (query.type === 'template') {
debug(`transform(${id})`);
const block = descriptor.template;
const result = compilerSfc.compileTemplate({
const result = compiler_sfc_1.compileTemplate({
filename: query.filename,

@@ -101,3 +100,3 @@ source: code,

...options.compilerOptions,
scopeId: `data-v-${query.id}`,
scopeId: hasScoped ? `data-v-${query.id}` : undefined,
},

@@ -107,3 +106,3 @@ transformAssetUrls: options.transformAssetUrls,

if (result.errors.length) {
result.errors.forEach(error => this.error(typeof error === 'string'
result.errors.forEach((error) => this.error(typeof error === 'string'
? { id: query.filename, message: error }

@@ -114,3 +113,3 @@ : createRollupError(query.filename, error)));

if (result.tips.length) {
result.tips.forEach(tip => this.warn({
result.tips.forEach((tip) => this.warn({
id: query.filename,

@@ -125,14 +124,14 @@ message: tip,

}
else if (query.type === 'style' && query.scoped) {
else if (query.type === 'style') {
debug(`transform(${id})`);
const block = descriptor.styles[query.index];
const result = await compilerSfc.compileStyleAsync({
const result = await compiler_sfc_1.compileStyleAsync({
filename: query.filename,
id: `data-v-${query.id}`,
source: block.content,
scoped: query.scoped,
trim: true,
scoped: block.scoped,
modules: !!block.module,
});
if (result.errors.length) {
result.errors.forEach(error => this.error({
result.errors.forEach((error) => this.error({
id: query.filename,

@@ -143,6 +142,11 @@ message: error.message,

}
return {
code: result.code,
map: normalizeSourceMap(result.map),
};
if (query.module) {
return `export default ${_(result.modules)}`;
}
else {
return {
code: result.code,
map: normalizeSourceMap(result.map),
};
}
}

@@ -155,3 +159,3 @@ return null;

if (errors.length) {
errors.forEach(error => this.error(createRollupError(id, error)));
errors.forEach((error) => this.error(createRollupError(id, error)));
return null;

@@ -175,2 +179,3 @@ }

}
exports.default = PluginVue;
function parseVuePartRequest(id) {

@@ -180,3 +185,3 @@ const [filename, query] = id.split('?', 2);

return { vue: false, filename };
const raw = qs.parse(query);
const raw = querystring_1.default.parse(query);
if ('vue' in raw) {

@@ -203,3 +208,3 @@ return {

function parseSFC(code, id, sourceRoot) {
const { descriptor, errors } = compilerSfc.parse(code, {
const { descriptor, errors } = compiler_sfc_1.parse(code, {
sourceMap: true,

@@ -214,8 +219,8 @@ filename: id,

function transformVueSFC(code, resourcePath, descriptor, { rootContext, isProduction, }, options) {
const shortFilePath = path.relative(rootContext, resourcePath)
const shortFilePath = path_1.relative(rootContext, resourcePath)
.replace(/^(\.\.[\/\\])+/, '')
.replace(/\\/g, '/');
const id = hash(isProduction ? shortFilePath + '\n' + code : shortFilePath);
const id = hash_sum_1.default(isProduction ? shortFilePath + '\n' + code : shortFilePath);
// feature information
const hasScoped = descriptor.styles.some(s => s.scoped);
const hasScoped = descriptor.styles.some((s) => s.scoped);
const templateImport = getTemplateCode(descriptor, resourcePath, id, hasScoped);

@@ -237,3 +242,3 @@ const scriptImport = getScriptCode(descriptor, resourcePath);

else if (options.exposeFilename) {
output.push(`script.__file = ${_(path.basename(shortFilePath))}`);
output.push(`script.__file = ${_(path_1.basename(shortFilePath))}`);
}

@@ -275,8 +280,12 @@ output.push('export default script');

const src = style.src || resourcePath;
// do not include module in default query, since we use it to indicate
// that the module needs to export the modules json
const attrsQuery = attrsToQuery(style.attrs, 'css');
const attrsQueryWithoutModule = attrsQuery.replace(/&module(=true)?/, '');
// make sure to only pass id when necessary so that we don't inject
// duplicate tags when multiple components import the same css file
const idQuery = style.scoped ? `&id=${id}` : ``;
const query = `?vue&type=style&index=${i}${idQuery}${attrsQuery}`;
const styleRequest = _(src + query);
const query = `?vue&type=style&index=${i}${idQuery}`;
const styleRequest = src + query + attrsQuery;
const styleRequestWithoutModule = src + query + attrsQueryWithoutModule;
if (style.module) {

@@ -287,6 +296,6 @@ if (!hasCSSModules) {

}
stylesCode += genCSSModulesCode(id, i, styleRequest, style.module);
stylesCode += genCSSModulesCode(id, i, styleRequest, styleRequestWithoutModule, style.module);
}
else {
stylesCode += `\nimport ${styleRequest}`;
stylesCode += `\nimport ${_(styleRequest)}`;
}

@@ -323,3 +332,3 @@ // TODO SSR critical CSS collection

if (!ignoreList.includes(name)) {
query += `&${qs.escape(name)}=${value ? qs.escape(String(value)) : ``}`;
query += `&${querystring_1.default.escape(name)}${value ? `=${querystring_1.default.escape(String(value))}` : ``}`;
}

@@ -350,5 +359,9 @@ }

// @ts-ignore
id, index, request, moduleName) {
id, index, request, requestWithoutModule, moduleName) {
const styleVar = `style${index}`;
let code = `\nimport ${styleVar} from ${request}`;
let code =
// first import the CSS for extraction
`\nimport ${_(requestWithoutModule)}` +
// then import the json file to expose to component...
`\nimport ${styleVar} from ${_(request + '.js')}`;
// inject variable

@@ -359,4 +372,4 @@ const name = typeof moduleName === 'string' ? moduleName : '$style';

}
// overwrite TS generated exports for commonjs usage
// but preserves typing
module.exports = PluginVue;
//# sourceMappingURL=index.js.map
{
"name": "rollup-plugin-vue",
"version": "6.0.0-alpha.2",
"version": "6.0.0-alpha.3",
"license": "MIT",

@@ -11,6 +11,10 @@ "main": "dist/index.js",

],
"scripts": {
"build": "tsc -p .",
"prepublishOnly": "tsc -p .",
"dev": "tsc -w -p ."
},
"dependencies": {
"debug": "^4.1.1",
"hash-sum": "^2.0.0",
"lint-staged": "^10.1.1",
"rollup-pluginutils": "^2.8.2",

@@ -23,10 +27,9 @@ "sourcemap-codec": "^1.4.8"

"devDependencies": {
"@rollup/plugin-typescript": "^4.0.0",
"@types/debug": "^4.1.5",
"@types/jest": "^24.9.0",
"@vue/compiler-sfc": "^3.0.0-alpha.10",
"@types/node": "^13.13.2",
"@vue/compiler-sfc": "^3.0.0-beta.4",
"husky": "^4.2.0",
"rollup": "^1.29.1",
"tsdx": "^0.12.3",
"tslib": "^1.10.0",
"lint-staged": "^10.1.7",
"prettier": "^2.0.5",
"rollup": "^2.7.2",
"typescript": "^3.7.5"

@@ -49,10 +52,3 @@ },

"singleQuote": true
},
"scripts": {
"build": "rollup -c",
"lint": "tsdx lint src",
"prepublishOnly": "npm run build",
"start": "tsdx watch --target node",
"test": "tsdx test"
}
}
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