From 4e66905b9c0bd8997c2b995f11d3f36648ec15cb Mon Sep 17 00:00:00 2001 From: mshanemc Date: Fri, 10 Nov 2023 11:12:31 -0600 Subject: [PATCH] feat: ts5 and ts-patch --- .sfdevrc.json | 2 +- README.md | 6 ++--- package.json | 6 ++--- src/messageTransformer.ts | 4 +-- yarn.lock | 52 +++++++++++++++++++++++++++++---------- 5 files changed, 48 insertions(+), 22 deletions(-) diff --git a/.sfdevrc.json b/.sfdevrc.json index ac25b4a163..e5ff37e5b5 100644 --- a/.sfdevrc.json +++ b/.sfdevrc.json @@ -4,7 +4,7 @@ }, "wireit": { "compile": { - "command": "ttsc -p . --pretty --incremental", + "command": "tspc -p . --pretty --incremental", "files": ["src/**/*.ts", "tsconfig.json", "messages", "messageTransformer"], "output": ["lib/**", "*.tsbuildinfo"], "clean": "if-file-deleted" diff --git a/README.md b/README.md index 233705ac90..4989db6d02 100644 --- a/README.md +++ b/README.md @@ -34,11 +34,11 @@ The Messages class, by default, loads message text during run time. It's optimiz If you're using @salesforce/core or other code that uses its Messages class in a bundler (webpack, esbuild, etc) it may struggle with these runtime references. -src/messageTransformer will "inline" the messages into the js files during TS compile using `https://github.com/cevek/ttypescript`. +src/messageTransformer will "inline" the messages into the js files during TS compile using `https://github.com/nonara/ts-patch`. In your plugin or library, -`yarn add --dev ttypescript` +`yarn add --dev ts-patch` > tsconfig.json @@ -54,7 +54,7 @@ In your plugin or library, ```json "wireit": { "compile": { - "command": "ttsc -p . --pretty --incremental", + "command": "tspc -p . --pretty --incremental", "files": [ "src/**/*.ts", "tsconfig.json", diff --git a/package.json b/package.json index cebaf279cd..3b5c2b1f64 100644 --- a/package.json +++ b/package.json @@ -68,8 +68,8 @@ "benchmark": "^2.1.4", "chai-string": "^1.5.0", "ts-node": "^10.9.1", - "ttypescript": "^1.5.15", - "typescript": "^4.9.5" + "ts-patch": "^3.0.2", + "typescript": "^5.2.2" }, "repository": { "type": "git", @@ -86,7 +86,7 @@ ] }, "compile": { - "command": "ttsc -p . --pretty --incremental", + "command": "tspc -p . --pretty --incremental", "files": [ "src/**/*.ts", "tsconfig.json", diff --git a/src/messageTransformer.ts b/src/messageTransformer.ts index 7242ffa26b..789f8dd12d 100644 --- a/src/messageTransformer.ts +++ b/src/messageTransformer.ts @@ -29,7 +29,7 @@ export const messageTransformer = (): ts.TransformerFactory => { if (ts.isExpressionStatement(node) && node.getText().includes('importMessagesDirectory')) { // importMessagesDirectory now happens at compile, not in runtime // returning undefined removes the node - return undefined; + return ts.factory.createEmptyStatement(); } if ( // transform a runtime load call into hardcoded messages values @@ -57,7 +57,7 @@ export const messageTransformer = (): ts.TransformerFactory => { // it might be a node that contains one of the things we're interested in, so keep digging return ts.visitEachChild(node, visitor, context); }; - return ts.visitNode(sourceFile, visitor); + return ts.visitNode(sourceFile, visitor, ts.isSourceFile); }; return transformerFactory; }; diff --git a/yarn.lock b/yarn.lock index 1995683d6d..5a6d56b8a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1292,7 +1292,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2416,6 +2416,15 @@ global-dirs@^0.1.1: dependencies: ini "^1.3.4" +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2649,7 +2658,7 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.4: +ini@^1.3.4, ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -3149,7 +3158,7 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" -kind-of@^6.0.3: +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -3443,7 +3452,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -4196,7 +4205,7 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve@>=1.9.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.22.2, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -4320,7 +4329,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.5.4: +semver@^7.3.4, semver@^7.3.8, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -4745,6 +4754,18 @@ ts-node@^10.8.1, ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" +ts-patch@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/ts-patch/-/ts-patch-3.0.2.tgz#cbdf88e4dfb596e4dab8f2c8269361d33270a0ba" + integrity sha512-iTg8euqiNsNM1VDfOsVIsP0bM4kAVXU38n7TGQSkky7YQX/syh6sDPIRkvSS0HjT8ZOr0pq1h+5Le6jdB3hiJQ== + dependencies: + chalk "^4.1.2" + global-prefix "^3.0.0" + minimist "^1.2.8" + resolve "^1.22.2" + semver "^7.3.8" + strip-ansi "^6.0.1" + ts-retry-promise@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ts-retry-promise/-/ts-retry-promise-0.7.1.tgz#176d6eee6415f07b6c7c286d3657355e284a6906" @@ -4770,13 +4791,6 @@ tslib@^2.0.3, tslib@^2.6.1, tslib@^2.6.2: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -ttypescript@^1.5.15: - version "1.5.15" - resolved "https://registry.yarnpkg.com/ttypescript/-/ttypescript-1.5.15.tgz#e45550ad69289d06d3bc3fd4a3c87e7c1ef3eba7" - integrity sha512-48ykDNHzFnPMnv4hYX1P8Q84TvCZyL1QlFxeuxsuZ48X2+ameBgPenvmCkHJtoOSxpoWTWi8NcgNrRnVDOmfSg== - dependencies: - resolve ">=1.9.0" - tunnel-agent@*: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -4887,6 +4901,11 @@ typescript@^4.6.4, typescript@^4.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -5041,6 +5060,13 @@ which-typed-array@^1.1.11, which-typed-array@^1.1.13: gopd "^1.0.1" has-tostringtag "^1.0.0" +which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"