| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.setSrcDescriptor = exports.getSrcDescriptor = exports.getDescriptor = exports.createDescriptor = exports.cache = exports.getResolvedOptions = void 0;
- const fs_1 = __importDefault(require("fs"));
- const crypto_1 = require("crypto");
- const utils_1 = require("../utils");
- function getResolvedOptions() {
- return {
- root: process.env.UNI_INPUT_DIR,
- sourceMap: process.env.UNI_APP_SOURCEMAP === 'true' ||
- process.env.NODE_ENV === 'development',
- // eslint-disable-next-line no-restricted-globals
- compiler: require('@vue/compiler-sfc'),
- targetLanguage: process.env.UNI_UTS_TARGET_LANGUAGE,
- };
- }
- exports.getResolvedOptions = getResolvedOptions;
- exports.cache = new Map();
- function createDescriptor(filename, source, { root, sourceMap, compiler }) {
- // ensure the path is normalized in a way that is consistent inside
- // project (relative to root) and on different systems.
- const relativeFilename = (0, utils_1.parseUTSRelativeFilename)(filename, root);
- // 传入normalizedPath是为了让sourcemap记录的是相对路径
- const { descriptor, errors } = compiler.parse(source, {
- filename: relativeFilename,
- sourceMap,
- });
- descriptor.relativeFilename = relativeFilename;
- // 重置为绝对路径
- descriptor.filename = filename;
- descriptor.id = getHash(relativeFilename);
- exports.cache.set(filename, descriptor);
- return { descriptor, errors };
- }
- exports.createDescriptor = createDescriptor;
- function getDescriptor(filename, options, createIfNotFound = true) {
- if (exports.cache.has(filename)) {
- return exports.cache.get(filename);
- }
- if (createIfNotFound) {
- const { descriptor, errors } = createDescriptor(filename, fs_1.default.readFileSync(filename, 'utf-8'), options);
- if (errors.length) {
- throw errors[0];
- }
- return descriptor;
- }
- }
- exports.getDescriptor = getDescriptor;
- function getSrcDescriptor(filename) {
- return exports.cache.get(filename);
- }
- exports.getSrcDescriptor = getSrcDescriptor;
- function setSrcDescriptor(filename, entry) {
- exports.cache.set(filename, entry);
- }
- exports.setSrcDescriptor = setSrcDescriptor;
- function getHash(text) {
- return (0, crypto_1.createHash)('sha256').update(text).digest('hex').substring(0, 8);
- }
|