typescript-transform-paths
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -5,2 +5,9 @@ # Changelog | ||
### [2.0.1](https://github.com/LeDDGroup/typescript-transform-paths/compare/v2.0.0...v2.0.1) (2020-09-17) | ||
### Bug Fixes | ||
* Support TS 4+ ([#69](https://github.com/LeDDGroup/typescript-transform-paths/issues/69)) ([2406346](https://github.com/LeDDGroup/typescript-transform-paths/commit/24063465c33c36a90d0ae8dd80374369d5f3ca8d)), closes [#68](https://github.com/LeDDGroup/typescript-transform-paths/issues/68) | ||
## [2.0.0](https://github.com/LeDDGroup/typescript-transform-paths/compare/v1.1.15...v2.0.0) (2020-08-04) | ||
@@ -7,0 +14,0 @@ |
@@ -0,0 +0,0 @@ import { PluginConfig } from "ttypescript/lib/PluginCreator"; |
@@ -50,2 +50,4 @@ "use strict"; | ||
var _a; | ||
// TS 4 - new node factory | ||
var factory = context.factory; | ||
var fileName = sourceFile.fileName; | ||
@@ -113,28 +115,39 @@ var fileDir = typescript_1.default.normalizePath(path_1.default.dirname(fileName)); | ||
function visit(node) { | ||
/* Update require() or import() */ | ||
if (isRequire(node) || isAsyncImport(node)) | ||
return update(node, node.arguments[0].text, function (p) { | ||
return typescript_1.default.updateCall(node, node.expression, node.typeArguments, [p]); | ||
return factory | ||
? factory.updateCallExpression(node, node.expression, node.typeArguments, [p]) | ||
: typescript_1.default.updateCall(node, node.expression, node.typeArguments, [p]); | ||
}); | ||
/* Update ExternalModuleReference - import foo = require("foo"); */ | ||
if (typescript_1.default.isExternalModuleReference(node) && | ||
typescript_1.default.isStringLiteral(node.expression)) | ||
return update(node, node.expression.text, function (p) { | ||
return typescript_1.default.updateExternalModuleReference(node, p); | ||
return factory | ||
? factory.updateExternalModuleReference(node, p) | ||
: typescript_1.default.updateExternalModuleReference(node, p); | ||
}); | ||
if (typescript_1.default.isImportDeclaration(node) && | ||
typescript_1.default.isStringLiteral(node.moduleSpecifier)) | ||
return update(node, node.moduleSpecifier.text, function (p) { | ||
// Issue & Workaround: https://github.com/microsoft/TypeScript/issues/31446#issuecomment-493846175 | ||
return Object.assign(node, { | ||
moduleSpecifier: typescript_1.default.updateNode(p, node.moduleSpecifier), | ||
}); | ||
}); | ||
if (typescript_1.default.isExportDeclaration(node) && | ||
/** | ||
* Update ImportDeclaration / ExportDeclaration | ||
* import ... 'module'; | ||
* export ... 'module'; | ||
* | ||
* This implements a workaround for the following TS issues: | ||
* @see https://github.com/microsoft/TypeScript/issues/40603 | ||
* @see https://github.com/microsoft/TypeScript/issues/31446 | ||
*/ | ||
if ((typescript_1.default.isImportDeclaration(node) || typescript_1.default.isExportDeclaration(node)) && | ||
node.moduleSpecifier && | ||
typescript_1.default.isStringLiteral(node.moduleSpecifier)) | ||
return update(node, node.moduleSpecifier.text, function (p) { | ||
// Issue & Workaround: https://github.com/microsoft/TypeScript/issues/31446#issuecomment-493846175 | ||
return Object.assign(node, { | ||
moduleSpecifier: typescript_1.default.updateNode(p, node.moduleSpecifier), | ||
}); | ||
return factory | ||
? Object.assign(node, { | ||
moduleSpecifier: p, | ||
}) | ||
: Object.assign(node, { | ||
moduleSpecifier: typescript_1.default.updateNode(p, node.moduleSpecifier), | ||
}); | ||
}); | ||
/* Update ImportTypeNode - typeof import("./bar"); */ | ||
if (typescript_1.default.isImportTypeNode(node)) { | ||
@@ -148,3 +161,5 @@ var argument_1 = node.argument; | ||
: update(node, text, function (p) { | ||
return typescript_1.default.updateImportTypeNode(node, typescript_1.default.updateLiteralTypeNode(argument_1, p), node.qualifier, node.typeArguments, node.isTypeOf); | ||
return factory | ||
? factory.updateImportTypeNode(node, factory.updateLiteralTypeNode(argument_1, p), node.qualifier, node.typeArguments, node.isTypeOf) | ||
: typescript_1.default.updateImportTypeNode(node, typescript_1.default.updateLiteralTypeNode(argument_1, p), node.qualifier, node.typeArguments, node.isTypeOf); | ||
}); | ||
@@ -151,0 +166,0 @@ } |
{ | ||
"name": "typescript-transform-paths", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "Transforms absolute imports to relative", | ||
@@ -25,3 +25,6 @@ "keywords": [ | ||
"license": "MIT", | ||
"author": "Daniel Perez Alvarez <danielpza@protonmail.com>", | ||
"contributors": [ | ||
"Daniel Perez Alvarez <danielpza@protonmail.com>", | ||
"Ron S. <ron@nonara.com>" | ||
], | ||
"files": [ | ||
@@ -43,2 +46,3 @@ "lib", | ||
"prepare": "npm run build && npm run install:tests", | ||
"format": "prettier --write \"{tests,src}/**/*.{js,ts}\"", | ||
"test": "jest" | ||
@@ -59,8 +63,9 @@ }, | ||
"standard-version": "^8.0.1", | ||
"ts-expose-internals": "^3.9.7-patch", | ||
"ts-expose-internals": "^4.0.2", | ||
"ts-jest": "^24.0.2", | ||
"ts-node": "^8.10.2", | ||
"ttypescript": "^1.5.6", | ||
"typescript": "^3.9.7" | ||
"typescript": "^4.0.2", | ||
"prettier": "^2.1.2" | ||
} | ||
} |
@@ -0,0 +0,0 @@ # typescript-transform-paths |
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
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
30318
174
11