UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

62 lines (50 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; function _default(src, options = {}) { // eslint-disable-next-line import/no-dynamic-require, global-require const compiler = require('vue-template-compiler'); const finalDependencies = {}; const addDependencies = (dependencies, isScript) => { let objDependencies = {}; if (Array.isArray(dependencies)) { dependencies.forEach(dependency => { objDependencies[dependency] = {}; }); } else { objDependencies = dependencies; } Object.keys(objDependencies).forEach(dependency => { finalDependencies[dependency] = objDependencies[dependency]; finalDependencies[dependency].isScript = isScript; }); }; const { script, styles } = compiler.parseComponent(src, { pad: 'line' }); // it must be required here, otherwise, it'll be a cyclic dependency // eslint-disable-next-line import/no-dynamic-require, global-require const precinct = require('../../precinct').default; if (script) { if (script.lang) { options.type = script.lang; } else { options.useContent = true; } const dependencies = precinct(script.content, options); addDependencies(dependencies, true); } if (styles) { styles.forEach(style => { const dependencies = precinct(style.content, { type: style.lang || 'scss' }); addDependencies(dependencies, false); }); } return finalDependencies; }