Socket
Socket
Sign inDemoInstall

svelte-preprocess

Package Overview
Dependencies
Maintainers
1
Versions
175
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

svelte-preprocess - npm Package Compare versions

Comparing version 3.2.0-alpha.2 to 3.2.0

74

CHANGELOG.md

@@ -1,2 +0,2 @@

## [3.1.4](https://github.com/kaisermann/svelte-preprocess/compare/v3.1.3...v3.1.4) (2019-10-23)
# [3.2.0](https://github.com/kaisermann/svelte-preprocess/compare/v3.1.1...v3.2.0) (2019-10-28)

@@ -6,2 +6,4 @@

* 🐛 import less cjs instead of es6 ([bf8627f](https://github.com/kaisermann/svelte-preprocess/commit/bf8627f3f4bde0d598769a67de10194bbcf04701))
* 🐛 Try to only include files with local paths ([a167f6e](https://github.com/kaisermann/svelte-preprocess/commit/a167f6e4cc4802f86cc14fe38bbacf7e9db02729))
* don't try to include local files that doesn't exist ([52594eb](https://github.com/kaisermann/svelte-preprocess/commit/52594eb79e7533a442fd7063ef1e2e269269dbc3))

@@ -11,20 +13,2 @@

## [3.1.3](https://github.com/kaisermann/svelte-preprocess/compare/v3.1.2...v3.1.3) (2019-10-23)
### Bug Fixes
* :bug: Try to only include files with local paths ([4c2c4e3](https://github.com/kaisermann/svelte-preprocess/commit/4c2c4e317e8de62bc161e7a1626892f08e98ce82))
## [3.1.2](https://github.com/kaisermann/svelte-preprocess/compare/v3.1.1...v3.1.2) (2019-09-25)
### Bug Fixes
* 🐛 import less cjs instead of es6 ([bf8627f](https://github.com/kaisermann/svelte-preprocess/commit/bf8627f3f4bde0d598769a67de10194bbcf04701))
## [3.1.1](https://github.com/kaisermann/svelte-preprocess/compare/v3.1.0...v3.1.1) (2019-09-10)

@@ -109,3 +93,3 @@

## [2.14.4](https://github.com/kaisermann/svelte-preprocess/compare/v2.14.3...v2.14.4) (2019-07-03)
## [2.14.4](https://github.com/kaisermann/svelte-preprocess/compare/v2.14.3...v2.14.4) (2019-07-06)

@@ -119,3 +103,3 @@

## [2.14.3](https://github.com/kaisermann/svelte-preprocess/compare/v2.14.2...v2.14.3) (2019-07-01)
## [2.14.3](https://github.com/kaisermann/svelte-preprocess/compare/v2.14.1...v2.14.3) (2019-07-01)

@@ -126,10 +110,2 @@

* 🐛 pass less [@imports](https://github.com/imports) as dependencies to svelte ([55e9d28](https://github.com/kaisermann/svelte-preprocess/commit/55e9d28fd03a2a1bf07c4d1b9ec3517fe2ce0cb3))
## [2.14.2](https://github.com/kaisermann/svelte-preprocess/compare/v2.14.1...v2.14.2) (2019-06-29)
### Bug Fixes
* pug mixin elseif ([#45](https://github.com/kaisermann/svelte-preprocess/issues/45)) ([98ad9ca](https://github.com/kaisermann/svelte-preprocess/commit/98ad9ca996c70da25666e4f1e9286d4dfd15fb36))

@@ -160,5 +136,32 @@

# [2.12.0](https://github.com/kaisermann/svelte-preprocess/compare/v2.7.1...v2.12.0) (2019-06-03)
# [2.12.0](https://github.com/kaisermann/svelte-preprocess/compare/v2.11.0...v2.12.0) (2019-06-03)
### Features
* prepend scss with data property ([#36](https://github.com/kaisermann/svelte-preprocess/issues/36)) ([dfa2b2a](https://github.com/kaisermann/svelte-preprocess/commit/dfa2b2a24124c94c3d3af6e63eff8963489f7caa))
# [2.11.0](https://github.com/kaisermann/svelte-preprocess/compare/v2.10.0...v2.11.0) (2019-05-29)
### Features
* 🎸 add svelte pug mixins ([#38](https://github.com/kaisermann/svelte-preprocess/issues/38)) ([543ab75](https://github.com/kaisermann/svelte-preprocess/commit/543ab7557bd8e8172ea52e89355101d3c88a38ba))
# [2.10.0](https://github.com/kaisermann/svelte-preprocess/compare/v2.9.1...v2.10.0) (2019-05-27)
### Features
* 🎸 add support for typescript type checking ([#37](https://github.com/kaisermann/svelte-preprocess/issues/37)) ([e6dd744](https://github.com/kaisermann/svelte-preprocess/commit/e6dd7441db64906f79d7105723e23a8ef949e2d5))
## [2.9.1](https://github.com/kaisermann/svelte-preprocess/compare/v2.9.0...v2.9.1) (2019-05-27)
### Bug Fixes

@@ -169,8 +172,13 @@

# [2.9.0](https://github.com/kaisermann/svelte-preprocess/compare/v2.8.0...v2.9.0) (2019-05-15)
# [2.8.0](https://github.com/kaisermann/svelte-preprocess/compare/v2.7.1...v2.8.0) (2019-05-15)
### Features
* 🎸 add support for typescript type checking ([#37](https://github.com/kaisermann/svelte-preprocess/issues/37)) ([e6dd744](https://github.com/kaisermann/svelte-preprocess/commit/e6dd7441db64906f79d7105723e23a8ef949e2d5))
* 🎸 add svelte pug mixins ([#38](https://github.com/kaisermann/svelte-preprocess/issues/38)) ([543ab75](https://github.com/kaisermann/svelte-preprocess/commit/543ab7557bd8e8172ea52e89355101d3c88a38ba))
* 🎸 add typescript preprocessor ([c195aa1](https://github.com/kaisermann/svelte-preprocess/commit/c195aa183b60899603d72743432de501b23f6087))
* prepend scss with data property ([#36](https://github.com/kaisermann/svelte-preprocess/issues/36)) ([dfa2b2a](https://github.com/kaisermann/svelte-preprocess/commit/dfa2b2a24124c94c3d3af6e63eff8963489f7caa))

@@ -177,0 +185,0 @@

@@ -1,125 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const strip_indent_1 = __importDefault(require("strip-indent"));
const package_json_1 = require("svelte/package.json");
const utils_1 = require("./utils");
const SVELTE_MAJOR_VERSION = +package_json_1.version[0];
const ALIAS_OPTION_OVERRIDES = {
sass: {
indentedSyntax: true,
},
};
function autoPreprocess({ onBefore, aliases, markupTagName = 'template', preserve = [], ...rest } = {}) {
markupTagName = markupTagName.toLocaleLowerCase();
const optionsCache = {};
const transformers = rest.transformers || rest;
const markupPattern = new RegExp(`<${markupTagName}([\\s\\S]*?)>([\\s\\S]*)<\\/${markupTagName}>`);
if (aliases && aliases.length) {
utils_1.addLanguageAlias(aliases);
}
const getTransformerOptions = (lang, alias) => {
if (utils_1.isFn(transformers[alias]))
return transformers[alias];
if (utils_1.isFn(transformers[lang]))
return transformers[lang];
if (optionsCache[alias] != null)
return optionsCache[alias];
const opts = {};
if (typeof transformers[lang] === 'object') {
Object.assign(opts, transformers[lang]);
}
if (lang !== alias) {
Object.assign(opts, ALIAS_OPTION_OVERRIDES[alias] || null);
if (typeof transformers[alias] === 'object') {
Object.assign(opts, transformers[alias]);
}
}
return (optionsCache[alias] = opts);
};
const getTransformerTo = (targetLanguage) => async (svelteFile) => {
const { content, filename, lang, alias, dependencies } = await utils_1.parseFile(svelteFile, targetLanguage);
if (preserve.includes(lang) || preserve.includes(alias)) {
return;
}
if (lang === targetLanguage) {
return { code: content, dependencies };
}
if (transformers[lang] === false || transformers[alias] === false) {
utils_1.throwUnsupportedError(alias, filename);
}
const transformed = await utils_1.runTransformer(lang, getTransformerOptions(lang, alias), { content: strip_indent_1.default(content), filename });
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
};
const scriptTransformer = getTransformerTo('javascript');
const cssTransformer = getTransformerTo('css');
const markupTransformer = getTransformerTo('html');
return {
async markup({ content, filename }) {
if (utils_1.isFn(onBefore)) {
// istanbul ignore next
if (SVELTE_MAJOR_VERSION >= 3) {
console.warn('[svelte-preprocess] For svelte >= v3, instead of onBefore(), prefer to prepend a preprocess object to your array of preprocessors');
}
content = await onBefore({ content, filename });
}
const templateMatch = content.match(markupPattern);
/** If no <template> was found, just return the original markup */
if (!templateMatch) {
return { code: content };
}
const [fullMatch, attributesStr, templateCode] = templateMatch;
/** Transform an attribute string into a key-value object */
const attributes = attributesStr
.split(/\s+/)
.filter(Boolean)
.reduce((acc, attr) => {
const [name, value] = attr.split('=');
// istanbul ignore next
acc[name] = value ? value.replace(/['"]/g, '') : true;
return acc;
}, {});
/** Transform the found template code */
let { code, map, dependencies } = await markupTransformer({
content: templateCode,
attributes,
filename,
});
code =
content.slice(0, templateMatch.index) +
code +
content.slice(templateMatch.index + fullMatch.length);
return { code, map, dependencies };
},
script: scriptTransformer,
async style({ content, attributes, filename }) {
let { code, map, dependencies } = await cssTransformer({
content,
attributes,
filename,
});
if (transformers.postcss) {
const transformed = await utils_1.runTransformer('postcss', transformers.postcss, { content: code, map, filename });
code = transformed.code;
map = transformed.map;
dependencies = utils_1.concat(dependencies, transformed.dependencies);
}
if (attributes.global) {
const transformed = await utils_1.runTransformer('globalStyle', null, {
content: code,
map,
filename,
});
code = transformed.code;
map = transformed.map;
}
return { code, map, dependencies };
},
};
}
exports.autoPreprocess = autoPreprocess;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const strip_indent_1=__importDefault(require("strip-indent")),package_json_1=require("svelte/package.json"),utils_1=require("./utils"),SVELTE_MAJOR_VERSION=+package_json_1.version[0],ALIAS_OPTION_OVERRIDES={sass:{indentedSyntax:!0}};function autoPreprocess({onBefore:a,aliases:b,markupTagName:d="template",preserve:e=[],...c}={}){d=d.toLocaleLowerCase();const f={},g=c.transformers||c,h=new RegExp(`<${d}([\\s\\S]*?)>([\\s\\S]*)<\\/${d}>`);b&&b.length&&utils_1.addLanguageAlias(b);const i=(a,b)=>{if(utils_1.isFn(g[b]))return g[b];if(utils_1.isFn(g[a]))return g[a];if(null!=f[b])return f[b];const c={};return"object"==typeof g[a]&&Object.assign(c,g[a]),a!==b&&(Object.assign(c,ALIAS_OPTION_OVERRIDES[b]||null),"object"==typeof g[b]&&Object.assign(c,g[b])),f[b]=c},j=a=>async b=>{const{content:c,filename:d,lang:f,alias:h,dependencies:j}=await utils_1.parseFile(b,a);if(!(e.includes(f)||e.includes(h))){if(f===a)return{code:c,dependencies:j};(!1===g[f]||!1===g[h])&&utils_1.throwUnsupportedError(h,d);const b=await utils_1.runTransformer(f,i(f,h),{content:strip_indent_1.default(c),filename:d});return{...b,dependencies:utils_1.concat(j,b.dependencies)}}},k=j("javascript"),l=j("css"),m=j("html");return{async markup({content:b,filename:c}){utils_1.isFn(a)&&(3<=SVELTE_MAJOR_VERSION&&console.warn("[svelte-preprocess] For svelte >= v3, instead of onBefore(), prefer to prepend a preprocess object to your array of preprocessors"),b=await a({content:b,filename:c}));const d=b.match(h);if(!d)return{code:b};const[e,f,g]=d,i=f.split(/\s+/).filter(Boolean).reduce((a,b)=>{const[c,d]=b.split("=");return a[c]=!d||d.replace(/['"]/g,""),a},{});let{code:j,map:k,dependencies:l}=await m({content:g,attributes:i,filename:c});return j=b.slice(0,d.index)+j+b.slice(d.index+e.length),{code:j,map:k,dependencies:l}},script:k,async style({content:a,attributes:b,filename:c}){let{code:d,map:e,dependencies:f}=await l({content:a,attributes:b,filename:c});if(g.postcss){const a=await utils_1.runTransformer("postcss",g.postcss,{content:d,map:e,filename:c});d=a.code,e=a.map,f=utils_1.concat(f,a.dependencies)}if(b.global){const a=await utils_1.runTransformer("globalStyle",null,{content:d,map:e,filename:c});d=a.code,e=a.map}return{code:d,map:e,dependencies:f}}}}exports.autoPreprocess=autoPreprocess;

@@ -1,30 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const autoProcess_1 = require("./autoProcess");
const pug_1 = __importDefault(require("./processors/pug"));
const coffeescript_1 = __importDefault(require("./processors/coffeescript"));
const typescript_1 = __importDefault(require("./processors/typescript"));
const less_1 = __importDefault(require("./processors/less"));
const scss_1 = __importDefault(require("./processors/scss"));
const stylus_1 = __importDefault(require("./processors/stylus"));
const postcss_1 = __importDefault(require("./processors/postcss"));
const globalStyle_1 = __importDefault(require("./processors/globalStyle"));
// crazy es6/cjs export mix for backward compatibility
// default auto processor
exports.default = exports = module.exports = autoProcess_1.autoPreprocess;
// stand-alone processors to be included manually */
// Markup
exports.pug = (opts) => pug_1.default(opts);
// Script
exports.coffeescript = (opts) => coffeescript_1.default(opts);
exports.typescript = (opts) => typescript_1.default(opts);
// Style
exports.less = (opts) => less_1.default(opts);
exports.scss = (opts) => scss_1.default(opts);
exports.sass = (opts) => scss_1.default(opts);
exports.stylus = (opts) => stylus_1.default(opts);
exports.postcss = (opts) => postcss_1.default(opts);
exports.globalStyle = () => globalStyle_1.default();
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const autoProcess_1=require("./autoProcess"),pug_1=__importDefault(require("./processors/pug")),coffeescript_1=__importDefault(require("./processors/coffeescript")),typescript_1=__importDefault(require("./processors/typescript")),less_1=__importDefault(require("./processors/less")),scss_1=__importDefault(require("./processors/scss")),stylus_1=__importDefault(require("./processors/stylus")),postcss_1=__importDefault(require("./processors/postcss")),globalStyle_1=__importDefault(require("./processors/globalStyle"));exports.default=exports=module.exports=autoProcess_1.autoPreprocess,exports.pug=a=>pug_1.default(a),exports.coffeescript=a=>coffeescript_1.default(a),exports.typescript=a=>typescript_1.default(a),exports.less=a=>less_1.default(a),exports.scss=a=>scss_1.default(a),exports.sass=a=>scss_1.default(a),exports.stylus=a=>stylus_1.default(a),exports.postcss=a=>postcss_1.default(a),exports.globalStyle=()=>globalStyle_1.default();

@@ -1,23 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
exports.default = (options) => ({
async script(svelteFile) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/coffeescript')));
const { content, filename, lang, dependencies } = await utils_1.parseFile(svelteFile, 'javascript');
if (lang !== 'coffeescript')
return { code: content };
const transformed = await transformer({ content, filename, options });
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");exports.default=a=>({async script(b){const{default:c}=await Promise.resolve().then(()=>__importStar(require("../transformers/coffeescript"))),{content:d,filename:e,lang:f,dependencies:g}=await utils_1.parseFile(b,"javascript");if("coffeescript"!==f)return{code:d};const h=await c({content:d,filename:e,options:a});return{...h,dependencies:utils_1.concat(g,h.dependencies)}}});

@@ -1,19 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = () => {
return {
async style({ content, attributes, filename }) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/globalStyle')));
if (!attributes.global)
return { code: content };
return transformer({ content, filename });
},
};
};
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=()=>({async style({content:a,attributes:b,filename:c}){const{default:d}=await Promise.resolve().then(()=>__importStar(require("../transformers/globalStyle")));return b.global?d({content:a,filename:c}):{code:a}}});

@@ -1,27 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
exports.default = (options) => ({
async style(svelteFile) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/less')));
const { content, filename, lang, dependencies } = await utils_1.parseFile(svelteFile, 'css');
if (lang !== 'less')
return { code: content };
const transformed = await transformer({
content,
filename,
options,
});
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");exports.default=a=>({async style(b){const{default:c}=await Promise.resolve().then(()=>__importStar(require("../transformers/less"))),{content:d,filename:e,lang:f,dependencies:g}=await utils_1.parseFile(b,"css");if("less"!==f)return{code:d};const h=await c({content:d,filename:e,options:a});return{...h,dependencies:utils_1.concat(g,h.dependencies)}}});

@@ -1,23 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
/** Adapted from https://github.com/TehShrike/svelte-preprocess-postcss */
exports.default = (options) => ({
async style(svelteFile) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/postcss')));
const { content, filename, dependencies } = await utils_1.parseFile(svelteFile, 'css');
/** If manually passed a plugins array, use it as the postcss config */
const transformed = await transformer({ content, filename, options });
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");exports.default=a=>({async style(b){const{default:c}=await Promise.resolve().then(()=>__importStar(require("../transformers/postcss"))),{content:d,filename:e,dependencies:f}=await utils_1.parseFile(b,"css"),g=await c({content:d,filename:e,options:a});return{...g,dependencies:utils_1.concat(f,g.dependencies)}}});

@@ -1,15 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = (options) => ({
async markup({ content, filename }) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/pug')));
return transformer({ content, filename, options });
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=a=>({async markup({content:b,filename:c}){const{default:d}=await Promise.resolve().then(()=>__importStar(require("../transformers/pug")));return d({content:b,filename:c,options:a})}});

@@ -1,34 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
exports.default = (options) => ({
async style(svelteFile) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/scss')));
const { content, filename, lang, alias, dependencies } = await utils_1.parseFile(svelteFile, 'css');
if (lang !== 'scss')
return { code: content };
options = {
includePaths: utils_1.getIncludePaths(filename),
...options,
};
if (alias === 'sass') {
options.indentedSyntax = true;
}
const transformed = await transformer({
content,
filename,
options,
});
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");exports.default=a=>({async style(b){const{default:c}=await Promise.resolve().then(()=>__importStar(require("../transformers/scss"))),{content:d,filename:e,lang:f,alias:g,dependencies:h}=await utils_1.parseFile(b,"css");if("scss"!==f)return{code:d};a={includePaths:utils_1.getIncludePaths(e),...a},"sass"===g&&(a.indentedSyntax=!0);const i=await c({content:d,filename:e,options:a});return{...i,dependencies:utils_1.concat(h,i.dependencies)}}});

@@ -1,27 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
exports.default = (options) => ({
async style(svelteFile) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/stylus')));
const { content, filename, lang, dependencies } = await utils_1.parseFile(svelteFile, 'css');
if (lang !== 'stylus')
return { code: content };
options = {
paths: utils_1.getIncludePaths(filename),
...options,
};
const transformed = await transformer({ content, filename, options });
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");exports.default=a=>({async style(b){const{default:c}=await Promise.resolve().then(()=>__importStar(require("../transformers/stylus"))),{content:d,filename:e,lang:f,dependencies:g}=await utils_1.parseFile(b,"css");if("stylus"!==f)return{code:d};a={paths:utils_1.getIncludePaths(e),...a};const h=await c({content:d,filename:e,options:a});return{...h,dependencies:utils_1.concat(g,h.dependencies)}}});

@@ -1,23 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
exports.default = (options) => ({
async script(svelteFile) {
const { default: transformer } = await Promise.resolve().then(() => __importStar(require('../transformers/typescript')));
const { content, filename, lang, dependencies } = await utils_1.parseFile(svelteFile, 'javascript');
if (lang !== 'typescript')
return { code: content };
const transformed = await transformer({ content, filename, options });
return {
...transformed,
dependencies: utils_1.concat(dependencies, transformed.dependencies),
};
},
});
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");exports.default=a=>({async script(b){const{default:c}=await Promise.resolve().then(()=>__importStar(require("../transformers/typescript"))),{content:d,filename:e,lang:f,dependencies:g}=await utils_1.parseFile(b,"javascript");if("typescript"!==f)return{code:d};const h=await c({content:d,filename:e,options:a});return{...h,dependencies:utils_1.concat(g,h.dependencies)}}});

@@ -1,15 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const coffeescript_1 = __importDefault(require("coffeescript"));
const transformer = ({ content, filename, options, }) => {
const { js: code, sourceMap: map } = coffeescript_1.default.compile(content, {
filename,
sourceMap: true,
...options,
});
return { code, map };
};
exports.default = transformer;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const coffeescript_1=__importDefault(require("coffeescript")),transformer=({content:a,filename:b,options:c})=>{const{js:d,sourceMap:e}=coffeescript_1.default.compile(a,{filename:b,sourceMap:!0,...c});return{code:d,map:e}};exports.default=transformer;

@@ -1,26 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const postcss_1 = __importDefault(require("postcss"));
const globalifyPlugin = (root) => {
root.walkAtRules(/keyframes$/, (atrule) => {
if (!atrule.params.startsWith('-global-')) {
atrule.params = '-global-' + atrule.params;
}
});
root.walkRules((rule) => {
if (rule.parent && rule.parent.name === 'keyframes') {
return;
}
rule.selectors = rule.selectors.map((selector) => selector.startsWith(':global') ? selector : `:global(${selector})`);
});
};
const transformer = async ({ content, filename }) => {
const { css, map: newMap } = await postcss_1.default()
.use(globalifyPlugin)
.process(content, { from: filename, map: true });
return { code: css, map: newMap };
};
exports.default = transformer;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const postcss_1=__importDefault(require("postcss")),globalifyPlugin=a=>{a.walkAtRules(/keyframes$/,a=>{a.params.startsWith("-global-")||(a.params="-global-"+a.params)}),a.walkRules(a=>{a.parent&&"keyframes"===a.parent.name||(a.selectors=a.selectors.map(a=>a.startsWith(":global")?a:`:global(${a})`))})},transformer=async({content:a,filename:b})=>{const{css:c,map:d}=await postcss_1.default().use(globalifyPlugin).process(a,{from:b,map:!0});return{code:c,map:d}};exports.default=transformer;

@@ -1,24 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const less_1 = __importDefault(require("less"));
const utils_1 = require("../utils");
const transformer = async ({ content, filename, options, }) => {
options = {
paths: utils_1.getIncludePaths(filename),
...options,
};
const { css, map, imports } = await less_1.default.render(content, {
sourceMap: {},
filename,
...options,
});
return {
code: css,
map,
dependencies: imports,
};
};
exports.default = transformer;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const less_1=__importDefault(require("less")),utils_1=require("../utils"),transformer=async({content:a,filename:b,options:c})=>{c={paths:utils_1.getIncludePaths(b),...c};const{css:d,map:e,imports:f}=await less_1.default.render(a,{sourceMap:{},filename:b,...c});return{code:d,map:e,dependencies:f}};exports.default=transformer;

@@ -1,55 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const postcss_1 = __importDefault(require("postcss"));
const process = async ({ plugins, parser, syntax }, content, filename, sourceMap) => {
const { css, map, messages } = await postcss_1.default(plugins).process(content, {
from: filename,
map: {
prev: sourceMap,
},
parser,
syntax,
});
const dependencies = messages.reduce((acc, msg) => {
// istanbul ignore if
if (msg.type !== 'dependency')
return acc;
acc.push(msg.file);
return acc;
}, []);
return { code: css, map, dependencies };
};
/** Adapted from https://github.com/TehShrike/svelte-preprocess-postcss */
const transformer = async ({ content, filename, options, map = undefined, }) => {
if (options && Array.isArray(options.plugins)) {
return process(options, content, filename, map);
}
try {
/** If not, look for a postcss config file */
const { default: postcssLoadConfig } = await Promise.resolve().then(() => __importStar(require(`postcss-load-config`)));
options = await postcssLoadConfig(options, options ? options.configFilePath : undefined);
}
catch (e) {
/** Something went wrong, do nothing */
// istanbul ignore next
if (e.code === 'MODULE_NOT_FOUND') {
console.error(`[svelte-preprocess] PostCSS configuration was not passed. If you expect to load it from a file, make sure to install "postcss-load-config" and try again ʕ•ᴥ•ʔ`);
}
else {
console.error(e);
}
return { code: content, map, dependencies: [] };
}
return process(options, content, filename, map);
};
exports.default = transformer;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}},__importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const postcss_1=__importDefault(require("postcss")),process=async({plugins:a,parser:b,syntax:c},d,e,f)=>{const{css:g,map:h,messages:i}=await postcss_1.default(a).process(d,{from:e,map:{prev:f},parser:b,syntax:c}),j=i.reduce((a,b)=>"dependency"===b.type?(a.push(b.file),a):a,[]);return{code:g,map:h,dependencies:j}},transformer=async({content:a,filename:b,options:c,map:d=void 0})=>{if(c&&Array.isArray(c.plugins))return process(c,a,b,d);try{const{default:a}=await Promise.resolve().then(()=>__importStar(require(`postcss-load-config`)));c=await a(c,c?c.configFilePath:void 0)}catch(b){return"MODULE_NOT_FOUND"===b.code?console.error(`[svelte-preprocess] PostCSS configuration was not passed. If you expect to load it from a file, make sure to install "postcss-load-config" and try again ʕ•ᴥ•ʔ`):console.error(b),{code:a,map:d,dependencies:[]}}return process(c,a,b,d)};exports.default=transformer;

@@ -1,10 +0,2 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const detect_indent_1 = __importDefault(require("detect-indent"));
const pug_1 = __importDefault(require("pug"));
// Mixins to use svelte template features
const GET_MIXINS = (identationType) => `mixin if(condition)
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const detect_indent_1=__importDefault(require("detect-indent")),pug_1=__importDefault(require("pug")),GET_MIXINS=a=>`mixin if(condition)
%_| {#if !{condition}}

@@ -41,13 +33,2 @@ %_block

mixin debug(variables)
%_| {@debug !{variables}}`.replace(/%_/g, identationType === 'tab' ? '\t' : ' ');
const transformer = async ({ content, filename, options, }) => {
options = {
doctype: 'html',
filename,
...options,
};
const { type: identationType } = detect_indent_1.default(content);
const code = pug_1.default.render(`${GET_MIXINS(identationType)}\n${content}`, options);
return { code };
};
exports.default = transformer;
%_| {@debug !{variables}}`.replace(/%_/g,"tab"===a?"\t":" "),transformer=async({content:a,filename:b,options:c})=>{c={doctype:"html",filename:b,...c};const{type:d}=detect_indent_1.default(a),e=pug_1.default.render(`${GET_MIXINS(d)}\n${a}`,c);return{code:e}};exports.default=transformer;

@@ -1,28 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
let sass;
const transformer = async ({ content, filename, options, }) => {
if (sass == null) {
({ default: sass } = await utils_1.importAny('node-sass', 'sass'));
}
options = {
sourceMap: true,
includePaths: utils_1.getIncludePaths(filename),
...options,
outFile: filename + '.css',
};
options.data = options.data ? options.data + content : content;
return new Promise((resolve, reject) => {
sass.render(options, (err, result) => {
if (err)
return reject(err);
resolve({
code: result.css.toString(),
map: result.map ? result.map.toString() : undefined,
dependencies: result.stats.includedFiles,
});
});
});
};
exports.default = transformer;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const utils_1=require("../utils");let sass;const transformer=async({content:a,filename:b,options:c})=>(null==sass&&({default:sass}=await utils_1.importAny("node-sass","sass")),c={sourceMap:!0,includePaths:utils_1.getIncludePaths(b),...c,outFile:b+".css"},c.data=c.data?c.data+a:a,new Promise((a,b)=>{sass.render(c,(c,d)=>c?b(c):void a({code:d.css.toString(),map:d.map?d.map.toString():void 0,dependencies:d.stats.includedFiles}))}));exports.default=transformer;

@@ -1,30 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const stylus_1 = __importDefault(require("stylus"));
const utils_1 = require("../utils");
const transformer = ({ content, filename, options, }) => {
options = {
paths: utils_1.getIncludePaths(filename),
...options,
};
return new Promise((resolve, reject) => {
const style = stylus_1.default(content, {
filename,
...options,
}).set('sourcemap', options.sourcemap);
style.render((err, css) => {
// istanbul ignore next
if (err)
reject(err);
resolve({
code: css,
map: style.sourcemap,
dependencies: style.deps(filename),
});
});
});
};
exports.default = transformer;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const stylus_1=__importDefault(require("stylus")),utils_1=require("../utils"),transformer=({content:a,filename:b,options:c})=>(c={paths:utils_1.getIncludePaths(b),...c},new Promise((d,e)=>{const f=stylus_1.default(a,{filename:b,...c}).set("sourcemap",c.sourcemap);f.render((a,c)=>{a&&e(a),d({code:c,map:f.sourcemap,dependencies:f.deps(b)})})}));exports.default=transformer;

@@ -1,168 +0,1 @@

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = require("fs");
const path_1 = require("path");
const typescript_1 = __importDefault(require("typescript"));
function createFormatDiagnosticsHost(cwd) {
return {
getCanonicalFileName: (fileName) => fileName,
getCurrentDirectory: () => cwd,
getNewLine: () => typescript_1.default.sys.newLine,
};
}
function formatDiagnostics(diagnostics, basePath) {
if (Array.isArray(diagnostics)) {
return typescript_1.default.formatDiagnosticsWithColorAndContext(diagnostics, createFormatDiagnosticsHost(basePath));
}
return typescript_1.default.formatDiagnostic(diagnostics, createFormatDiagnosticsHost(basePath));
}
function getFilenameExtension(filename) {
filename = path_1.basename(filename);
const lastDotIndex = filename.lastIndexOf('.');
if (lastDotIndex <= 0)
return '';
return filename.substr(lastDotIndex + 1);
}
function isSvelteFile(filename) {
const importExtension = getFilenameExtension(filename);
return importExtension === 'svelte' || importExtension === 'html';
}
const IMPORTEE_PATTERN = /['"](.*?)['"]/;
function isValidSvelteImportDiagnostic(filename, diagnostic) {
// TS2307: 'cannot find module'
if (diagnostic.code !== 2307)
return true;
const importeeMatch = diagnostic.messageText.match(IMPORTEE_PATTERN);
// istanbul ignore if
if (!importeeMatch)
return true;
let [, importeePath] = importeeMatch;
/** if we're not dealing with a relative path, assume the file exists */
if (importeePath[0] !== '.')
return false;
/** if the importee is not a svelte file, do nothing */
if (!isSvelteFile(importeePath))
return true;
importeePath = path_1.resolve(path_1.dirname(filename), importeePath);
return fs_1.existsSync(importeePath) === false;
}
const TS_TRANSFORMERS = {
before: [
(context) => {
const visit = (node) => {
if (typescript_1.default.isImportDeclaration(node)) {
const importedFilename = node.moduleSpecifier.getText().slice(1, -1);
// istanbul ignore else
if (isSvelteFile(importedFilename)) {
return typescript_1.default.createImportDeclaration(node.decorators, node.modifiers, node.importClause, node.moduleSpecifier);
}
}
return typescript_1.default.visitEachChild(node, child => visit(child), context);
};
return (node) => typescript_1.default.visitNode(node, visit);
},
],
};
function compileFileFromMemory(compilerOptions, { filename, content }) {
let code = content;
let map;
const realHost = typescript_1.default.createCompilerHost(compilerOptions, true);
const dummyFilePath = filename;
const dummySourceFile = typescript_1.default.createSourceFile(dummyFilePath, code, typescript_1.default.ScriptTarget.Latest);
const host = {
fileExists: (filePath) => filePath === dummyFilePath || realHost.fileExists(filePath),
directoryExists: realHost.directoryExists && realHost.directoryExists.bind(realHost),
getCurrentDirectory: realHost.getCurrentDirectory.bind(realHost),
getDirectories: realHost.getDirectories.bind(realHost),
getCanonicalFileName: (fileName) => realHost.getCanonicalFileName(fileName),
getNewLine: realHost.getNewLine.bind(realHost),
getDefaultLibFileName: realHost.getDefaultLibFileName.bind(realHost),
getSourceFile: (fileName, languageVersion, onError, shouldCreateNewSourceFile) => fileName === dummyFilePath
? dummySourceFile
: realHost.getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile),
readFile: (filePath) =>
// istanbul ignore next
filePath === dummyFilePath ? content : realHost.readFile(filePath),
useCaseSensitiveFileNames: () => realHost.useCaseSensitiveFileNames(),
writeFile: (fileName, data) => {
if (fileName.endsWith('.map')) {
map = data;
}
else {
code = data;
}
},
};
const program = typescript_1.default.createProgram([dummyFilePath], compilerOptions, host);
const emitResult = program.emit(undefined, undefined, undefined, undefined, TS_TRANSFORMERS);
// collect diagnostics without svelte import errors
const diagnostics = [
...emitResult.diagnostics,
...typescript_1.default.getPreEmitDiagnostics(program),
].filter(diagnostic => isValidSvelteImportDiagnostic(filename, diagnostic));
return { code, map, diagnostics };
}
const transformer = ({ content, filename, options, }) => {
// default options
const compilerOptionsJSON = {
moduleResolution: 'node',
sourceMap: true,
strict: true,
target: 'es6',
};
let basePath = process.cwd();
if (options.tsconfigFile !== false || options.tsconfigDirectory) {
const fileDirectory = (options.tsconfigDirectory ||
path_1.dirname(filename));
const tsconfigFile = (options.tsconfigFile ||
typescript_1.default.findConfigFile(fileDirectory, typescript_1.default.sys.fileExists));
basePath = path_1.dirname(tsconfigFile);
const { error, config } = typescript_1.default.readConfigFile(tsconfigFile, typescript_1.default.sys.readFile);
if (error) {
throw new Error(formatDiagnostics(error, basePath));
}
Object.assign(compilerOptionsJSON, config.compilerOptions);
}
Object.assign(compilerOptionsJSON, options.compilerOptions);
const { errors, options: convertedCompilerOptions, } = typescript_1.default.convertCompilerOptionsFromJson(compilerOptionsJSON, basePath);
if (errors.length) {
throw new Error(formatDiagnostics(errors, basePath));
}
const compilerOptions = {
...convertedCompilerOptions,
allowNonTsExtensions: true,
};
if (compilerOptions.target === typescript_1.default.ScriptTarget.ES3 ||
compilerOptions.target === typescript_1.default.ScriptTarget.ES5) {
throw new Error(`Svelte only supports es6+ syntax. Set your 'compilerOptions.target' to 'es6' or higher.`);
}
let code, map, diagnostics;
if (options.transpileOnly || compilerOptions.transpileOnly) {
({ outputText: code, sourceMapText: map, diagnostics } = typescript_1.default.transpileModule(content, {
fileName: filename,
compilerOptions: compilerOptions,
reportDiagnostics: options.reportDiagnostics !== false,
}));
}
else {
({ code, map, diagnostics } = compileFileFromMemory(compilerOptions, {
filename,
content,
}));
}
if (diagnostics.length > 0) {
// could this be handled elsewhere?
const formattedDiagnostics = formatDiagnostics(diagnostics, basePath);
console.log(formattedDiagnostics);
}
return {
code,
map,
diagnostics,
dependencies: [],
};
};
exports.default = transformer;
"use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const fs_1=require("fs"),path_1=require("path"),typescript_1=__importDefault(require("typescript"));function createFormatDiagnosticsHost(a){return{getCanonicalFileName:a=>a,getCurrentDirectory:()=>a,getNewLine:()=>typescript_1.default.sys.newLine}}function formatDiagnostics(a,b){return Array.isArray(a)?typescript_1.default.formatDiagnosticsWithColorAndContext(a,createFormatDiagnosticsHost(b)):typescript_1.default.formatDiagnostic(a,createFormatDiagnosticsHost(b))}function getFilenameExtension(a){a=path_1.basename(a);const b=a.lastIndexOf(".");return 0>=b?"":a.substr(b+1)}function isSvelteFile(a){const b=getFilenameExtension(a);return"svelte"===b||"html"===b}const IMPORTEE_PATTERN=/['"](.*?)['"]/;function isValidSvelteImportDiagnostic(a,b){if(2307!==b.code)return!0;const c=b.messageText.match(IMPORTEE_PATTERN);if(!c)return!0;let[,d]=c;return!("."!==d[0])&&(!isSvelteFile(d)||(d=path_1.resolve(path_1.dirname(a),d),!1===fs_1.existsSync(d)))}const TS_TRANSFORMERS={before:[a=>{const b=c=>{if(typescript_1.default.isImportDeclaration(c)){const a=c.moduleSpecifier.getText().slice(1,-1);if(isSvelteFile(a))return typescript_1.default.createImportDeclaration(c.decorators,c.modifiers,c.importClause,c.moduleSpecifier)}return typescript_1.default.visitEachChild(c,a=>b(a),a)};return a=>typescript_1.default.visitNode(a,b)}]};function compileFileFromMemory(a,{filename:b,content:c}){let d,e=c;const f=typescript_1.default.createCompilerHost(a,!0),g=b,h=typescript_1.default.createSourceFile(g,e,typescript_1.default.ScriptTarget.Latest),i={fileExists:a=>a===g||f.fileExists(a),directoryExists:f.directoryExists&&f.directoryExists.bind(f),getCurrentDirectory:f.getCurrentDirectory.bind(f),getDirectories:f.getDirectories.bind(f),getCanonicalFileName:a=>f.getCanonicalFileName(a),getNewLine:f.getNewLine.bind(f),getDefaultLibFileName:f.getDefaultLibFileName.bind(f),getSourceFile:(a,b,c,d)=>a===g?h:f.getSourceFile(a,b,c,d),readFile:a=>a===g?c:f.readFile(a),useCaseSensitiveFileNames:()=>f.useCaseSensitiveFileNames(),writeFile:(a,b)=>{a.endsWith(".map")?d=b:e=b}},j=typescript_1.default.createProgram([g],a,i),k=j.emit(void 0,void 0,void 0,void 0,TS_TRANSFORMERS),l=[...k.diagnostics,...typescript_1.default.getPreEmitDiagnostics(j)].filter(a=>isValidSvelteImportDiagnostic(b,a));return{code:e,map:d,diagnostics:l}}const transformer=({content:a,filename:b,options:c})=>{const d={moduleResolution:"node",sourceMap:!0,strict:!0,target:"es6"};let e=process.cwd();if(!1!==c.tsconfigFile||c.tsconfigDirectory){const a=c.tsconfigDirectory||path_1.dirname(b),f=c.tsconfigFile||typescript_1.default.findConfigFile(a,typescript_1.default.sys.fileExists);e=path_1.dirname(f);const{error:g,config:h}=typescript_1.default.readConfigFile(f,typescript_1.default.sys.readFile);if(g)throw new Error(formatDiagnostics(g,e));Object.assign(d,h.compilerOptions)}Object.assign(d,c.compilerOptions);const{errors:f,options:g}=typescript_1.default.convertCompilerOptionsFromJson(d,e);if(f.length)throw new Error(formatDiagnostics(f,e));const h={...g,allowNonTsExtensions:!0};if(h.target===typescript_1.default.ScriptTarget.ES3||h.target===typescript_1.default.ScriptTarget.ES5)throw new Error(`Svelte only supports es6+ syntax. Set your 'compilerOptions.target' to 'es6' or higher.`);let i,j,k;if(c.transpileOnly||h.transpileOnly?({outputText:i,sourceMapText:j,diagnostics:k}=typescript_1.default.transpileModule(a,{fileName:b,compilerOptions:h,reportDiagnostics:!1!==c.reportDiagnostics})):({code:i,map:j,diagnostics:k}=compileFileFromMemory(h,{filename:b,content:a})),0<k.length){const a=formatDiagnostics(k,e);console.log(a)}return{code:i,map:j,diagnostics:k,dependencies:[]}};exports.default=transformer;

@@ -1,2 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});

@@ -1,136 +0,1 @@

"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = require("fs");
const path_1 = require("path");
const LANG_DICT = new Map([
['pcss', 'css'],
['postcss', 'css'],
['sass', 'scss'],
['styl', 'stylus'],
['js', 'javascript'],
['coffee', 'coffeescript'],
['ts', 'typescript'],
]);
const throwError = (msg) => {
throw new Error(`[svelte-preprocess] ${msg}`);
};
exports.concat = (...arrs) => arrs.reduce((acc, a) => (a ? acc.concat(a) : acc), []);
exports.throwUnsupportedError = (lang, filename) => throwError(`Unsupported script language '${lang}' in file '${filename}'`);
exports.isFn = (maybeFn) => typeof maybeFn === 'function';
exports.resolveSrc = (importerFile, srcPath) => path_1.resolve(path_1.dirname(importerFile), srcPath);
exports.getSrcContent = (file) => {
return new Promise((resolve, reject) => {
fs_1.readFile(file, (error, data) => {
// istanbul ignore if
if (error)
reject(error);
else
resolve(data.toString());
});
});
};
async function doesFileExist(file) {
return new Promise(resolve => fs_1.access(file, 0, err => resolve(!err)));
}
exports.parseFile = async ({ attributes, filename, content }, language) => {
const dependencies = [];
if (attributes.src) {
// istanbul ignore if
if (typeof attributes.src !== 'string') {
throw new Error('src attribute must be string');
}
let path = attributes.src;
/** Only try to get local files (path starts with ./ or ../) */
if (path.match(/^(https?:)?\/\//) == null) {
path = exports.resolveSrc(filename, path);
if (await doesFileExist(path)) {
content = await exports.getSrcContent(path);
dependencies.push(path);
}
}
}
const { lang, alias } = exports.getLanguage(attributes, language);
return {
filename,
attributes,
content,
lang,
alias,
dependencies,
};
};
exports.addLanguageAlias = (entries) => entries.forEach(entry => LANG_DICT.set(...entry));
/** Paths used by preprocessors to resolve @imports */
exports.getIncludePaths = (fromFilename) => [
process.cwd(),
fromFilename.length && path_1.dirname(fromFilename),
'node_modules',
].filter(Boolean);
exports.getLanguage = (attributes, defaultLang) => {
let lang = defaultLang;
if (attributes.lang) {
// istanbul ignore if
if (typeof attributes.lang !== 'string') {
throw new Error('lang attribute must be string');
}
lang = attributes.lang;
}
else if (attributes.type) {
// istanbul ignore if
if (typeof attributes.type !== 'string') {
throw new Error('type attribute must be string');
}
lang = attributes.type.replace(/^(text|application)\/(.*)$/, '$2');
}
else if (attributes.src) {
// istanbul ignore if
if (typeof attributes.src !== 'string') {
throw new Error('src attribute must be string');
}
const parts = path_1.basename(attributes.src).split('.');
lang = parts.length > 1 ? parts.pop() : defaultLang;
}
return {
lang: LANG_DICT.get(lang) || lang,
alias: lang,
};
};
const TRANSFORMERS = {};
exports.runTransformer = async (name, options, { content, map, filename }) => {
if (typeof options === 'function') {
return options({ content, map, filename });
}
try {
if (!TRANSFORMERS[name]) {
await Promise.resolve().then(() => __importStar(require(`./transformers/${name}`))).then(mod => {
// istanbul ignore else
TRANSFORMERS[name] = mod.default;
});
}
return TRANSFORMERS[name]({
content,
filename,
map,
options: typeof options === 'boolean' ? null : options,
});
}
catch (e) {
throwError(`Error transforming '${name}'.\n\nMessage:\n${e.message}\n\nStack:\n${e.stack}`);
}
};
exports.importAny = async (...modules) => {
try {
const mod = await modules.reduce((acc, moduleName) => acc.catch(() => Promise.resolve().then(() => __importStar(require(moduleName)))), Promise.reject());
return mod;
}
catch (e) {
throw new Error(`Cannot find any of modules: ${modules}`);
}
};
"use strict";var __importStar=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b};Object.defineProperty(exports,"__esModule",{value:!0});const fs_1=require("fs"),path_1=require("path"),LANG_DICT=new Map([["pcss","css"],["postcss","css"],["sass","scss"],["styl","stylus"],["js","javascript"],["coffee","coffeescript"],["ts","typescript"]]),throwError=a=>{throw new Error(`[svelte-preprocess] ${a}`)};exports.concat=(...a)=>a.reduce((b,c)=>c?b.concat(c):b,[]),exports.throwUnsupportedError=(a,b)=>throwError(`Unsupported script language '${a}' in file '${b}'`),exports.isFn=a=>"function"==typeof a,exports.resolveSrc=(a,b)=>path_1.resolve(path_1.dirname(a),b),exports.getSrcContent=a=>new Promise((b,c)=>{fs_1.readFile(a,(a,d)=>{a?c(a):b(d.toString())})});async function doesFileExist(a){return new Promise(b=>fs_1.access(a,0,a=>b(!a)))}exports.parseFile=async({attributes:a,filename:b,content:c},d)=>{const e=[];if(a.src){if("string"!=typeof a.src)throw new Error("src attribute must be string");let d=a.src;null==d.match(/^(https?:)?\/\//)&&(d=exports.resolveSrc(b,d),(await doesFileExist(d))&&(c=await exports.getSrcContent(d),e.push(d)))}const{lang:f,alias:g}=exports.getLanguage(a,d);return{filename:b,attributes:a,content:c,lang:f,alias:g,dependencies:e}},exports.addLanguageAlias=a=>a.forEach(a=>LANG_DICT.set(...a)),exports.getIncludePaths=a=>[process.cwd(),a.length&&path_1.dirname(a),"node_modules"].filter(Boolean),exports.getLanguage=(a,b)=>{let c=b;if(a.lang){if("string"!=typeof a.lang)throw new Error("lang attribute must be string");c=a.lang}else if(a.type){if("string"!=typeof a.type)throw new Error("type attribute must be string");c=a.type.replace(/^(text|application)\/(.*)$/,"$2")}else if(a.src){if("string"!=typeof a.src)throw new Error("src attribute must be string");const d=path_1.basename(a.src).split(".");c=1<d.length?d.pop():b}return{lang:LANG_DICT.get(c)||c,alias:c}};const TRANSFORMERS={};exports.runTransformer=async(a,b,{content:c,map:d,filename:e})=>{if("function"==typeof b)return b({content:c,map:d,filename:e});try{return TRANSFORMERS[a]||(await Promise.resolve().then(()=>__importStar(require(`./transformers/${a}`))).then(b=>{TRANSFORMERS[a]=b.default})),TRANSFORMERS[a]({content:c,filename:e,map:d,options:"boolean"==typeof b?null:b})}catch(b){throwError(`Error transforming '${a}'.\n\nMessage:\n${b.message}\n\nStack:\n${b.stack}`)}},exports.importAny=async(...a)=>{try{const b=await a.reduce((a,b)=>a.catch(()=>Promise.resolve().then(()=>__importStar(require(b)))),Promise.reject());return b}catch(b){throw new Error(`Cannot find any of modules: ${a}`)}};
{
"name": "svelte-preprocess",
"version": "3.2.0-alpha.2",
"version": "3.2.0",
"license": "MIT",

@@ -39,3 +39,3 @@ "main": "dist/index.js",

"minify": "babel-minify dist -d dist",
"prepublishOnly2": "npm run build && npm run minify && npm run release && npm run tag"
"prepublishOnly": "npm run build && npm run minify && npm run release && npm run tag"
},

@@ -57,2 +57,3 @@ "auto-changelog": {

"@types/node": "^12.7.8",
"@types/stylus": "^0.48.31",
"@typescript-eslint/eslint-plugin": "^2.3.1",

@@ -59,0 +60,0 @@ "@typescript-eslint/parser": "^2.3.1",

@@ -42,3 +42,3 @@ # Svelte Preprocess

- `less`: `npm install -D less`
- `sass`: `npm install -D node-sass`
- `sass`: `npm install -D node-sass` or `npm install -D sass`
- `pug`: `npm install -D pug`

@@ -45,0 +45,0 @@ - `stylus`: `npm install -D stylus`

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