vue-simple-compiler
Version:
A lib to compile Vue Single-File Component into plain JavaScript & CSS.
55 lines (54 loc) • 2.18 kB
JavaScript
;
/* eslint-disable no-console */
/* eslint-disable no-param-reassign */
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeMap = exports.debugBlock = exports.debugMap = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const source_map_1 = require("source-map");
const debugMap = (map) => {
if (!map) {
console.log('-----------------');
console.log('No map');
console.log('-----------------');
return;
}
const info = new source_map_1.SourceMapConsumer(map);
console.log('-----------------');
console.log(info._file);
console.log('-----------------');
console.log(info._sourceRoot);
console.log('-----------------');
console.log(info._sources);
console.log('-----------------');
console.log(info._mappings);
console.log('-----------------');
};
exports.debugMap = debugMap;
const debugBlock = ({ content, map }) => {
const info = new source_map_1.SourceMapConsumer(map);
console.log('-----------------');
console.log(content);
console.log('-----------------');
console.log(info.sourcesContent[0]);
console.log('-----------------');
console.log(info._mappings);
console.log('-----------------');
};
exports.debugBlock = debugBlock;
const writeMap = (map, context, sourceContent, generatedContent) => {
// write source file, generated file and source map file into ./temp
const baseDir = './temp';
map.sources = [context.filename];
map.file = context.destFilename;
map.sourceRoot = '';
delete map.sourcesContent;
fs_1.default.mkdirSync(baseDir, { recursive: true });
fs_1.default.writeFileSync(path_1.default.join(baseDir, context.filename), sourceContent);
fs_1.default.writeFileSync(path_1.default.join(baseDir, context.destFilename), generatedContent);
fs_1.default.writeFileSync(path_1.default.join(baseDir, `${context.destFilename}.map`), JSON.stringify(map));
};
exports.writeMap = writeMap;