Skip to content

Commit

Permalink
Move print-script.js-file in tests-folder
Browse files Browse the repository at this point in the history
Also removed it from published files, since the script doesn't seem to be used.

Fourth part of reorganizing and cleaning up test-folders.
  • Loading branch information
jaylinski committed Dec 29, 2021
1 parent edc65b5 commit ef0fc29
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 31 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@
"dist/amd/**/*.js",
"dist/cjs/**/*.js",
"lib",
"print-script",
"release-notes.md",
"runtime.js",
"types/*.d.ts",
Expand Down
79 changes: 49 additions & 30 deletions print-script → tests/print-script.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,30 @@
#! /usr/bin/env node
/* eslint-disable no-console, no-var */
// Util script for debugging source code generation issues

var script = process.argv[2].replace(/\\n/g, '\n'),
verbose = process.argv[3] === '-v';
verbose = process.argv[3] === '-v';

var Handlebars = require('./lib'),
SourceMap = require('source-map'),
SourceMapConsumer = SourceMap.SourceMapConsumer;
var Handlebars = require('./../lib'),
SourceMap = require('source-map'),
SourceMapConsumer = SourceMap.SourceMapConsumer;

var template = Handlebars.precompile(script, {
srcName: 'input.hbs',
destName: 'output.js',
srcName: 'input.hbs',
destName: 'output.js',

assumeObjects: true,
compat: false,
strict: true,
trackIds: true,
knownHelpersOnly: false
});
assumeObjects: true,
compat: false,
strict: true,
trackIds: true,
knownHelpersOnly: false
});

if (!verbose) {
console.log(template);
} else {
var consumer = new SourceMapConsumer(template.map),
lines = template.code.split('\n'),
srcLines = script.split('\n');
lines = template.code.split('\n'),
srcLines = script.split('\n');

console.log();
console.log('Source:');
Expand All @@ -43,17 +42,24 @@ if (!verbose) {
console.log(template.map);
console.log();

// eslint-disable-next-line no-inner-declarations
function collectSource(lines, lineName, colName, order) {
var ret = {},
ordered = [],
last;
ordered = [],
last;

function collect(current) {
if (last) {
var mapLines = lines.slice(last[lineName] - 1, current && current[lineName]);
var mapLines = lines.slice(
last[lineName] - 1,
current && current[lineName]
);
if (mapLines.length) {
if (current) {
mapLines[mapLines.length - 1] = mapLines[mapLines.length - 1].slice(0, current[colName]);
mapLines[mapLines.length - 1] = mapLines[mapLines.length - 1].slice(
0,
current[colName]
);
}
mapLines[0] = mapLines[0].slice(last[colName]);
}
Expand All @@ -73,23 +79,36 @@ if (!verbose) {
return ret;
}

srcLines = collectSource(srcLines, 'originalLine', 'originalColumn', SourceMapConsumer.ORIGINAL_ORDER);
srcLines = collectSource(
srcLines,
'originalLine',
'originalColumn',
SourceMapConsumer.ORIGINAL_ORDER
);
lines = collectSource(lines, 'generatedLine', 'generatedColumn');

consumer.eachMapping(function(mapping) {
var originalSrc = srcLines[mapping.originalLine + ':' + mapping.originalColumn],
generatedSrc = lines[mapping.generatedLine + ':' + mapping.generatedColumn];
var originalSrc =
srcLines[mapping.originalLine + ':' + mapping.originalColumn],
generatedSrc =
lines[mapping.generatedLine + ':' + mapping.generatedColumn];

if (!mapping.originalLine) {
console.log('generated', mapping.generatedLine + ':' + mapping.generatedColumn, generatedSrc);
console.log(
'generated',
mapping.generatedLine + ':' + mapping.generatedColumn,
generatedSrc
);
} else {
console.log('map',
mapping.source,
mapping.originalLine + ':' + mapping.originalColumn,
originalSrc,
'->',
mapping.generatedLine + ':' + mapping.generatedColumn,
generatedSrc);
console.log(
'map',
mapping.source,
mapping.originalLine + ':' + mapping.originalColumn,
originalSrc,
'->',
mapping.generatedLine + ':' + mapping.generatedColumn,
generatedSrc
);
}
});
}

0 comments on commit ef0fc29

Please sign in to comment.