fix sourcemap filename resolution
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
var escodegen = require("escodegen");
|
||||
var traverse = require("./traverse");
|
||||
var assert = require("assert");
|
||||
var util = require("./util");
|
||||
var _ = require("lodash");
|
||||
var traverse = require("./traverse");
|
||||
var assert = require("assert");
|
||||
var path = require("path");
|
||||
var util = require("./util");
|
||||
var _ = require("lodash");
|
||||
|
||||
var transform = module.exports = function (code, opts) {
|
||||
opts = opts || {};
|
||||
@@ -20,7 +20,7 @@ var transform = module.exports = function (code, opts) {
|
||||
|
||||
return util.parse(opts.filename, code, function (tree) {
|
||||
return transform._run(code, tree, opts);
|
||||
}, true);
|
||||
});
|
||||
};
|
||||
|
||||
transform._run = function (code, tree, opts) {
|
||||
@@ -43,23 +43,18 @@ transform._run = function (code, tree, opts) {
|
||||
});
|
||||
|
||||
var genOpts = {
|
||||
comment: true,
|
||||
format: _.merge(opts.format, {
|
||||
indent: {
|
||||
style: " "
|
||||
}
|
||||
})
|
||||
format: opts.format
|
||||
};
|
||||
|
||||
if (opts.sourceMap) {
|
||||
genOpts.sourceMap = true;
|
||||
genOpts.sourceMap = path.basename(opts.filename);
|
||||
genOpts.sourceContent = code;
|
||||
genOpts.sourceMapWithCode = true;
|
||||
}
|
||||
|
||||
var result = escodegen.generate(tree, genOpts);
|
||||
var result = util.generate(tree, genOpts);
|
||||
|
||||
if (genOpts.sourceMapWithCode) {
|
||||
if (opts.sourceMap) {
|
||||
if (opts.sourceMapObject) {
|
||||
return result;
|
||||
} else {
|
||||
@@ -82,19 +77,18 @@ transform._runTransformer = function (transformer, tree, opts, generateUid) {
|
||||
};
|
||||
|
||||
transform.test = function (actual, expect, opts, debug) {
|
||||
|
||||
opts = opts || {};
|
||||
_.defaults(opts, { filename: "test" });
|
||||
|
||||
var actualCode = actual.code.trim();
|
||||
var transformedCode = transform(actualCode, opts);
|
||||
var actualAst = util.parse(actual.filename, transformedCode);
|
||||
actualCode = util.generate(actualAst);
|
||||
|
||||
var expectCode = expect.code.trim();
|
||||
var expectAst = util.parse(expect.filename, expectCode);
|
||||
expectCode = util.generate(expectAst);
|
||||
|
||||
actualCode = escodegen.generate(actualAst);
|
||||
expectCode = escodegen.generate(expectAst);
|
||||
assert.equal(actualCode, expectCode);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user