Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ts] Add support for template interpolations in types #12131

Merged
merged 5 commits into from Oct 14, 2020

Conversation

@nicolo-ribaudo
Copy link
Member

@nicolo-ribaudo nicolo-ribaudo commented Oct 1, 2020

Q                       A
Fixed Issues?
Patch: Bug Fix?
Major: Breaking Change?
Minor: New Feature? Yes
Tests Added + Pass? Yes
Documentation PR Link
Any Dependency Changes?
License MIT

https://devblogs.microsoft.com/typescript/announcing-typescript-4-1-beta/#template-literal-types

@babel-bot
Copy link
Collaborator

@babel-bot babel-bot commented Oct 1, 2020

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/29203/

@codesandbox
Copy link

@codesandbox codesandbox bot commented Oct 1, 2020

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 0648b48:

Sandbox Source
babel-repl-custom-plugin Configuration
babel-plugin-multi-config Configuration
@@ -1605,14 +1605,19 @@ export default class ExpressionParser extends LValParser {
node.quasis = [curElt];
while (!curElt.tail) {
this.expect(tt.dollarBraceL);
node.expressions.push(this.parseExpression());
node.expressions.push(this.parseTemplateInterpolation());

This comment has been minimized.

@JLHwung

JLHwung Oct 1, 2020
Contributor

Can we extend parseTemplate in typescript plugin? since it seems to me that TemplateInterpolation is a TS-only concept.

This comment has been minimized.

@nicolo-ribaudo

nicolo-ribaudo Oct 1, 2020
Author Member

Isn't it the same concept as for js? i.e. a${x}b is valid both in TS and in JS.
Maybe if I call it parseTemplateSubstitution, which is the language used in the spec?

@@ -226,6 +226,7 @@ gettersAndSettersErrors.ts
giant.ts
globalThisDeclarationEmit.ts
globalThisDeclarationEmit2.ts
hugeDeclarationOutputGetsTruncatedWithError.ts

This comment has been minimized.

@nicolo-ribaudo

nicolo-ribaudo Oct 1, 2020
Author Member

This is a type analysis error, it can't be caught at parse time.

typo
Co-authored-by: Brian Ng <bng412@gmail.com>
@JLHwung
JLHwung approved these changes Oct 8, 2020
@nicolo-ribaudo nicolo-ribaudo merged commit 3fd963f into babel:main Oct 14, 2020
15 of 16 checks passed
15 of 16 checks passed
Prepare Cache
Details
Test on Node.js Latest
Details
Build Babel Artifacts
Details
Test on Node.js (13)
Details
Test on Node.js (12)
Details
Test on Node.js (10)
Details
Test on Node.js (8)
Details
Test on Node.js (6)
Details
test262-pr Workflow: test262-pr
Details
Gitpod Open an online workspace in Gitpod
Details
Travis CI - Pull Request Build Passed
Details
babel/repl REPL preview is available
Details
build-standalone Workflow: build-standalone
Details
ci/codesandbox Building packages succeeded.
Details
codecov/project Codecov Report
Details
e2e Workflow: e2e
Details
@nicolo-ribaudo nicolo-ribaudo deleted the nicolo-ribaudo:ts-template-types branch Oct 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.