ember-template-recast
Advanced tools
Comparing version 5.0.3 to 6.0.0
@@ -27,5 +27,5 @@ #!/usr/bin/env node | ||
const os = __importStar(require("os")); | ||
const commander_1 = __importDefault(require("commander")); | ||
const commander_1 = require("commander"); | ||
const runner_1 = __importDefault(require("./runner")); | ||
commander_1.default | ||
commander_1.program | ||
.version(require('../package').version) | ||
@@ -38,13 +38,14 @@ .usage('<files> -t transform-plugin.js') | ||
.parse(process.argv); | ||
if (commander_1.default.args.length < 1 || !commander_1.default.transform) { | ||
commander_1.default.help(); | ||
const programOptions = commander_1.program.opts(); | ||
if (commander_1.program.args.length < 1 || !programOptions.transform) { | ||
commander_1.program.help(); | ||
} | ||
else { | ||
const options = { | ||
cpus: commander_1.default.cpus, | ||
dry: commander_1.default.dry, | ||
silent: commander_1.default.silent, | ||
cpus: programOptions.cpus, | ||
dry: programOptions.dry, | ||
silent: programOptions.silent, | ||
}; | ||
runner_1.default(commander_1.default.transform, commander_1.default.args, options); | ||
(0, runner_1.default)(programOptions.transform, commander_1.program.args, options); | ||
} | ||
//# sourceMappingURL=bin.js.map |
import { traverse, builders, Walker } from '@glimmer/syntax'; | ||
import type { AST, NodeVisitor } from '@glimmer/syntax'; | ||
import type { ASTv1 as AST, NodeVisitor } from '@glimmer/syntax'; | ||
export declare function parse(template: string): AST.Template; | ||
@@ -4,0 +4,0 @@ export declare function print(ast: AST.Node): string; |
@@ -21,3 +21,3 @@ "use strict"; | ||
if (parseResult === undefined) { | ||
return syntax_1.print(ast, { | ||
return (0, syntax_1.print)(ast, { | ||
entityEncoding: 'raw', | ||
@@ -75,3 +75,3 @@ override: (ast) => { | ||
const visitor = plugin(env); | ||
syntax_1.traverse(ast, visitor); | ||
(0, syntax_1.traverse)(ast, visitor); | ||
return { ast, code: print(ast) }; | ||
@@ -78,0 +78,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { AST } from '@glimmer/syntax'; | ||
import { ASTv1 as AST } from '@glimmer/syntax'; | ||
export interface NodeInfo { | ||
@@ -3,0 +3,0 @@ node: AST.Node; |
@@ -34,5 +34,5 @@ "use strict"; | ||
function fixASTIssues(sourceLines, ast) { | ||
syntax_1.traverse(ast, { | ||
(0, syntax_1.traverse)(ast, { | ||
AttrNode(node) { | ||
const source = utils_1.sourceForLoc(sourceLines, node.loc); | ||
const source = (0, utils_1.sourceForLoc)(sourceLines, node.loc); | ||
const attrNodePartsResults = source.match(attrNodeParts); | ||
@@ -48,4 +48,4 @@ if (attrNodePartsResults === null) { | ||
// always assume the attribute ends on the starting line | ||
node.loc.end.line = node.loc.start.line; | ||
node.loc.end.column = node.loc.start.column + node.name.length; | ||
const { start: { line, column }, } = node.loc; | ||
node.loc = syntax_1.builders.loc(line, column, line, column + node.name.length); | ||
} | ||
@@ -56,3 +56,2 @@ node.isValueless = isValueless; | ||
TextNode(node, path) { | ||
const source = utils_1.sourceForLoc(sourceLines, node.loc); | ||
if (path.parentNode === null) { | ||
@@ -63,7 +62,8 @@ throw new Error('ember-template-recast: Error while sanitizing input AST: found TextNode with no parentNode'); | ||
case 'AttrNode': { | ||
const source = (0, utils_1.sourceForLoc)(sourceLines, node.loc); | ||
if (node.chars.length > 0 && | ||
((source.startsWith(`'`) && source.endsWith(`'`)) || | ||
(source.startsWith(`"`) && source.endsWith(`"`)))) { | ||
node.loc.end.column = node.loc.end.column - 1; | ||
node.loc.start.column = node.loc.start.column + 1; | ||
const { start, end } = node.loc; | ||
node.loc = syntax_1.builders.loc(start.line, start.column + 1, end.line, end.column - 1); | ||
} | ||
@@ -73,8 +73,12 @@ break; | ||
case 'ConcatStatement': { | ||
// TODO: manually working around https://github.com/glimmerjs/glimmer-vm/pull/954 | ||
const parent = path.parentNode; | ||
const isFirstPart = parent.parts.indexOf(node) === 0; | ||
const { start, end } = node.loc; | ||
if (isFirstPart && node.loc.start.column > path.parentNode.loc.start.column + 1) { | ||
node.loc.start.column = node.loc.start.column - 1; | ||
// TODO: manually working around https://github.com/glimmerjs/glimmer-vm/pull/954 | ||
node.loc = syntax_1.builders.loc(start.line, start.column - 1, end.line, end.column); | ||
} | ||
else if (isFirstPart && node.chars.charAt(0) === '\n') { | ||
node.loc = syntax_1.builders.loc(start.line, start.column + 1, end.line, end.column); | ||
} | ||
} | ||
@@ -90,6 +94,6 @@ } | ||
this.dirtyFields = new Map(); | ||
let ast = syntax_1.preprocess(template, { | ||
let ast = (0, syntax_1.preprocess)(template, { | ||
mode: 'codemod', | ||
}); | ||
const source = utils_1.getLines(template); | ||
const source = (0, utils_1.getLines)(template); | ||
ast = fixASTIssues(source, ast); | ||
@@ -150,3 +154,3 @@ this.source = source; | ||
const value = node[key]; | ||
if (typeof value === 'object' && value !== null) { | ||
if (key !== 'loc' && typeof value === 'object' && value !== null) { | ||
const propertyProxy = this.wrapNode({ node, key }, value); | ||
@@ -163,3 +167,3 @@ propertyProxyMap.set(key, propertyProxy); | ||
sourceForLoc(loc) { | ||
return utils_1.sourceForLoc(this.source, loc); | ||
return (0, utils_1.sourceForLoc)(this.source, loc); | ||
} | ||
@@ -298,3 +302,3 @@ markAsDirty(node, property) { | ||
if (nodeInfo === undefined) { | ||
return syntax_1.print(_ast, { | ||
return (0, syntax_1.print)(_ast, { | ||
entityEncoding: 'raw', | ||
@@ -655,3 +659,3 @@ override: (ast) => { | ||
end: block.path.loc.start, | ||
}) + syntax_1.print(ast.path); | ||
}) + (0, syntax_1.print)(ast.path); | ||
// TODO: this is a logic error | ||
@@ -658,0 +662,0 @@ const pathIndex = endSource.indexOf(block.path.original); |
@@ -59,3 +59,3 @@ "use strict"; | ||
spin(message) { | ||
this.spinner = ora_1.default(message).start(); | ||
this.spinner = (0, ora_1.default)(message).start(); | ||
} | ||
@@ -151,7 +151,7 @@ updateSpinner(message) { | ||
if (!isRemote) { | ||
return path_1.resolve(process.cwd(), transformFile); | ||
return (0, path_1.resolve)(process.cwd(), transformFile); | ||
} | ||
const contents = await downloadFile(transformFile); | ||
const filePath = tmp_1.default.fileSync(); | ||
fs_1.writeFileSync(filePath.name, contents, 'utf8'); | ||
(0, fs_1.writeFileSync)(filePath.name, contents, 'utf8'); | ||
return filePath.name; | ||
@@ -173,3 +173,3 @@ } | ||
async function getAllFiles(paths) { | ||
const files = await globby_1.default(paths, { | ||
const files = await (0, globby_1.default)(paths, { | ||
// must specify a properly escaped `cwd` because globby infers from | ||
@@ -179,3 +179,3 @@ // process.cwd() directly and without correcting back to posix paths | ||
// https://github.com/sindresorhus/globby/pull/137 | ||
cwd: slash_1.default(process.cwd()), | ||
cwd: (0, slash_1.default)(process.cwd()), | ||
expandDirectories: { | ||
@@ -208,3 +208,3 @@ extensions: ['hbs', 'handlebars'], | ||
try { | ||
await async_promise_queue_1.default(worker, files, cpus); | ||
await (0, async_promise_queue_1.default)(worker, files, cpus); | ||
} | ||
@@ -211,0 +211,0 @@ finally { |
@@ -1,4 +0,4 @@ | ||
import type { AST } from '@glimmer/syntax'; | ||
import type { ASTv1 as AST } from '@glimmer/syntax'; | ||
export declare function sourceForLoc(source: string | string[], loc?: AST.SourceLocation): string; | ||
export declare function isSynthetic(node: AST.Node): boolean; | ||
export declare function isSyntheticWithNoLocation(node: AST.Node): boolean; | ||
export declare function sortByLoc(a: AST.Node, b: AST.Node): -1 | 0 | 1; | ||
@@ -5,0 +5,0 @@ export declare function compact(array: unknown[]): unknown[]; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getLines = exports.compactJoin = exports.compact = exports.sortByLoc = exports.isSynthetic = exports.sourceForLoc = void 0; | ||
exports.getLines = exports.compactJoin = exports.compact = exports.sortByLoc = exports.isSyntheticWithNoLocation = exports.sourceForLoc = void 0; | ||
const reLines = /(.*?(?:\r\n?|\n|$))/gm; | ||
@@ -41,12 +41,13 @@ function sourceForLoc(source, loc) { | ||
exports.sourceForLoc = sourceForLoc; | ||
function isSynthetic(node) { | ||
function isSyntheticWithNoLocation(node) { | ||
if (node && node.loc) { | ||
return node.loc.source === '(synthetic)'; | ||
const { start, end } = node.loc; | ||
return (node.loc.module === '(synthetic)' && start.column === end.column && start.line === end.line); | ||
} | ||
return false; | ||
} | ||
exports.isSynthetic = isSynthetic; | ||
exports.isSyntheticWithNoLocation = isSyntheticWithNoLocation; | ||
function sortByLoc(a, b) { | ||
// be conservative about the location where a new node is inserted | ||
if (isSynthetic(a) || isSynthetic(b)) { | ||
if (isSyntheticWithNoLocation(a) || isSyntheticWithNoLocation(b)) { | ||
return 0; | ||
@@ -53,0 +54,0 @@ } |
@@ -57,3 +57,3 @@ "use strict"; | ||
function applyTransform(plugin, filePath, contents) { | ||
const results = index_1.transform({ | ||
const results = (0, index_1.transform)({ | ||
template: contents, | ||
@@ -60,0 +60,0 @@ filePath, |
{ | ||
"name": "ember-template-recast", | ||
"version": "5.0.3", | ||
"version": "6.0.0", | ||
"description": "Non-destructive template transformer.", | ||
@@ -35,8 +35,8 @@ "keywords": [ | ||
"dependencies": { | ||
"@glimmer/reference": "^0.65.0", | ||
"@glimmer/syntax": "^0.65.0", | ||
"@glimmer/validator": "^0.65.0", | ||
"@glimmer/reference": "^0.83.0", | ||
"@glimmer/syntax": "^0.83.0", | ||
"@glimmer/validator": "^0.83.0", | ||
"async-promise-queue": "^1.0.5", | ||
"colors": "^1.4.0", | ||
"commander": "^6.2.1", | ||
"commander": "^8.3.0", | ||
"globby": "^11.0.3", | ||
@@ -46,27 +46,27 @@ "ora": "^5.4.0", | ||
"tmp": "^0.2.1", | ||
"workerpool": "^6.1.4" | ||
"workerpool": "^6.1.5" | ||
}, | ||
"devDependencies": { | ||
"@types/common-tags": "^1.8.0", | ||
"@types/jest": "^26.0.23", | ||
"@types/workerpool": "^6.0.0", | ||
"@typescript-eslint/eslint-plugin": "^4.23.0", | ||
"@typescript-eslint/parser": "^4.23.0", | ||
"@types/common-tags": "^1.8.1", | ||
"@types/jest": "^27.0.2", | ||
"@types/workerpool": "^6.1.0", | ||
"@typescript-eslint/eslint-plugin": "^5.3.0", | ||
"@typescript-eslint/parser": "^5.3.0", | ||
"broccoli-test-helper": "^2.0.0", | ||
"common-tags": "^1.8.0", | ||
"eslint": "^7.26.0", | ||
"eslint": "^8.2.0", | ||
"eslint-config-prettier": "^8.3.0", | ||
"eslint-plugin-node": "^11.1.0", | ||
"eslint-plugin-prettier": "^3.4.0", | ||
"execa": "^5.0.0", | ||
"eslint-plugin-prettier": "^4.0.0", | ||
"execa": "^5.1.1", | ||
"jest": "^26.6.3", | ||
"npm-run-all": "^4.1.5", | ||
"prettier": "^2.3.0", | ||
"release-it": "^14.6.2", | ||
"release-it-lerna-changelog": "^3.1.0", | ||
"prettier": "^2.4.1", | ||
"release-it": "^14.11.6", | ||
"release-it-lerna-changelog": "^4.0.1", | ||
"ts-jest": "^26.5.6", | ||
"typescript": "~4.2.4" | ||
"typescript": "~4.4.4" | ||
}, | ||
"engines": { | ||
"node": "10.* || 12.* || >= 14.*" | ||
"node": "12.* || 14.* || >= 16.*" | ||
}, | ||
@@ -73,0 +73,0 @@ "publishConfig": { |
@@ -165,3 +165,3 @@ # ember-template-recast | ||
* Dropping support for Node versions (e.g. dropping Node 10 support) | ||
* Dropping support for Node versions (e.g. dropping Node 12 support) | ||
* Non-additive changes to the underlying AST (which we bundle from `@glimmer/syntax`) | ||
@@ -168,0 +168,0 @@ * Breaking changes to the `@glimmer/syntax` builder APIs |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1446
118066
27
+ Added@glimmer/global-context@0.83.1(transitive)
+ Added@glimmer/interfaces@0.83.1(transitive)
+ Added@glimmer/reference@0.83.1(transitive)
+ Added@glimmer/syntax@0.83.1(transitive)
+ Added@glimmer/util@0.83.1(transitive)
+ Added@glimmer/validator@0.83.1(transitive)
+ Added@handlebars/parser@2.0.0(transitive)
+ Addedcommander@8.3.0(transitive)
- Removed@glimmer/global-context@0.65.4(transitive)
- Removed@glimmer/interfaces@0.65.4(transitive)
- Removed@glimmer/reference@0.65.4(transitive)
- Removed@glimmer/syntax@0.65.4(transitive)
- Removed@glimmer/util@0.65.4(transitive)
- Removed@glimmer/validator@0.65.4(transitive)
- Removed@handlebars/parser@1.1.0(transitive)
- Removedcommander@6.2.1(transitive)
Updated@glimmer/reference@^0.83.0
Updated@glimmer/syntax@^0.83.0
Updated@glimmer/validator@^0.83.0
Updatedcommander@^8.3.0
Updatedworkerpool@^6.1.5