vue-styleguidist
Version:
Vue components style guide generator
31 lines (29 loc) • 1.17 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = parseVue;
var _hashSum = _interopRequireDefault(require("hash-sum"));
var _vueInbrowserCompilerUtils = require("vue-inbrowser-compiler-utils");
var _lruCache = _interopRequireDefault(require("lru-cache"));
/* eslint-disable @typescript-eslint/no-var-requires */
var cache = new _lruCache["default"]({
max: 100
});
function parseVue(source) {
var _parsedSFC$descriptor;
var cacheKey = (0, _hashSum["default"])(source);
// source-map cache busting for hot-reloaded modules
var output = cache.get(cacheKey);
if (output) {
return output;
}
var parse = _vueInbrowserCompilerUtils.isVue3 ?
// eslint-disable-next-line import/no-unresolved
require('@vue/compiler-sfc').parse : require('vue-template-compiler').parseComponent;
var parsedSFC = parse(source);
var descriptor = (_parsedSFC$descriptor = parsedSFC.descriptor) !== null && _parsedSFC$descriptor !== void 0 ? _parsedSFC$descriptor : parsedSFC;
cache.set(cacheKey, descriptor);
return descriptor;
}