From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- .../dist/templateCompilerModules/assetUrl.d.ts | 8 ++++ .../dist/templateCompilerModules/assetUrl.js | 44 +++++++++++++++++++ .../dist/templateCompilerModules/srcset.d.ts | 5 +++ .../dist/templateCompilerModules/srcset.js | 51 ++++++++++++++++++++++ .../dist/templateCompilerModules/utils.d.ts | 9 ++++ .../dist/templateCompilerModules/utils.js | 44 +++++++++++++++++++ 6 files changed, 161 insertions(+) create mode 100644 node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.d.ts create mode 100644 node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.js create mode 100644 node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.d.ts create mode 100644 node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.js create mode 100644 node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.d.ts create mode 100644 node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.js (limited to 'node_modules/@vue/component-compiler-utils/dist/templateCompilerModules') diff --git a/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.d.ts b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.d.ts new file mode 100644 index 00000000..5f7668e0 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.d.ts @@ -0,0 +1,8 @@ +import { ASTNode } from './utils'; +export interface AssetURLOptions { + [name: string]: string | string[]; +} +declare const _default: (userOptions?: AssetURLOptions | undefined) => { + postTransformNode: (node: ASTNode) => void; +}; +export default _default; diff --git a/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.js b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.js new file mode 100644 index 00000000..ef95f951 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/assetUrl.js @@ -0,0 +1,44 @@ +"use strict"; +// vue compiler module for transforming `:` to `require` +Object.defineProperty(exports, "__esModule", { value: true }); +const utils_1 = require("./utils"); +const defaultOptions = { + video: ['src', 'poster'], + source: 'src', + img: 'src', + image: ['xlink:href', 'href'] +}; +exports.default = (userOptions) => { + const options = userOptions + ? Object.assign({}, defaultOptions, userOptions) + : defaultOptions; + return { + postTransformNode: (node) => { + transform(node, options); + } + }; +}; +function transform(node, options) { + for (const tag in options) { + if ((tag === '*' || node.tag === tag) && node.attrs) { + const attributes = options[tag]; + if (typeof attributes === 'string') { + node.attrs.some(attr => rewrite(attr, attributes)); + } + else if (Array.isArray(attributes)) { + attributes.forEach(item => node.attrs.some(attr => rewrite(attr, item))); + } + } + } +} +function rewrite(attr, name) { + if (attr.name === name) { + const value = attr.value; + // only transform static URLs + if (value.charAt(0) === '"' && value.charAt(value.length - 1) === '"') { + attr.value = utils_1.urlToRequire(value.slice(1, -1)); + return true; + } + } + return false; +} diff --git a/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.d.ts b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.d.ts new file mode 100644 index 00000000..9c57ef90 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.d.ts @@ -0,0 +1,5 @@ +import { ASTNode } from './utils'; +declare const _default: () => { + postTransformNode: (node: ASTNode) => void; +}; +export default _default; diff --git a/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.js b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.js new file mode 100644 index 00000000..398d065e --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/srcset.js @@ -0,0 +1,51 @@ +"use strict"; +// vue compiler module for transforming `img:srcset` to a number of `require`s +Object.defineProperty(exports, "__esModule", { value: true }); +const utils_1 = require("./utils"); +exports.default = () => ({ + postTransformNode: (node) => { + transform(node); + } +}); +// http://w3c.github.io/html/semantics-embedded-content.html#ref-for-image-candidate-string-5 +const escapedSpaceCharacters = /( |\\t|\\n|\\f|\\r)+/g; +function transform(node) { + const tags = ['img', 'source']; + if (tags.indexOf(node.tag) !== -1 && node.attrs) { + node.attrs.forEach(attr => { + if (attr.name === 'srcset') { + // same logic as in transform-require.js + const value = attr.value; + const isStatic = value.charAt(0) === '"' && value.charAt(value.length - 1) === '"'; + if (!isStatic) { + return; + } + const imageCandidates = value + .substr(1, value.length - 2) + .split(',') + .map(s => { + // The attribute value arrives here with all whitespace, except + // normal spaces, represented by escape sequences + const [url, descriptor] = s + .replace(escapedSpaceCharacters, ' ') + .trim() + .split(' ', 2); + return { require: utils_1.urlToRequire(url), descriptor }; + }); + // "require(url1)" + // "require(url1) 1x" + // "require(url1), require(url2)" + // "require(url1), require(url2) 2x" + // "require(url1) 1x, require(url2)" + // "require(url1) 1x, require(url2) 2x" + const code = imageCandidates + .map(({ require, descriptor }) => `${require} + "${descriptor ? ' ' + descriptor : ''}, " + `) + .join('') + .slice(0, -6) + .concat('"') + .replace(/ \+ ""$/, ''); + attr.value = code; + } + }); + } +} diff --git a/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.d.ts b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.d.ts new file mode 100644 index 00000000..f0b821ba --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.d.ts @@ -0,0 +1,9 @@ +export interface Attr { + name: string; + value: string; +} +export interface ASTNode { + tag: string; + attrs: Attr[]; +} +export declare function urlToRequire(url: string): string; diff --git a/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.js b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.js new file mode 100644 index 00000000..71224c12 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/dist/templateCompilerModules/utils.js @@ -0,0 +1,44 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const url_1 = require("url"); +function urlToRequire(url) { + const returnValue = `"${url}"`; + // same logic as in transform-require.js + const firstChar = url.charAt(0); + if (firstChar === '.' || firstChar === '~' || firstChar === '@') { + if (firstChar === '~') { + const secondChar = url.charAt(1); + url = url.slice(secondChar === '/' ? 2 : 1); + } + const uriParts = parseUriParts(url); + if (!uriParts.hash) { + return `require("${url}")`; + } + else { + // support uri fragment case by excluding it from + // the require and instead appending it as string; + // assuming that the path part is sufficient according to + // the above caseing(t.i. no protocol-auth-host parts expected) + return `require("${uriParts.path}") + "${uriParts.hash}"`; + } + } + return returnValue; +} +exports.urlToRequire = urlToRequire; +/** + * vuejs/component-compiler-utils#22 Support uri fragment in transformed require + * @param urlString an url as a string + */ +function parseUriParts(urlString) { + // initialize return value + const returnValue = url_1.parse(''); + if (urlString) { + // A TypeError is thrown if urlString is not a string + // @see https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost + if ('string' === typeof urlString) { + // check is an uri + return url_1.parse(urlString); // take apart the uri + } + } + return returnValue; +} -- cgit v1.2.3