-
Notifications
You must be signed in to change notification settings - Fork 122
test: add test for optimized output #373
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
Conversation
e28d7b0 to
3109d97
Compare
3109d97 to
f4830db
Compare
| 'guessed boolean negation') | ||
|
|
||
| // Default values for types: | ||
| deepEqual( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This assertion fails before #371.
f4830db to
5e46c91
Compare
| @@ -0,0 +1 @@ | |||
| ../../lib No newline at end of file | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I needed to add a symlink so that we both get a fresh project root and not have generated closure namespaces with .. in them.
test/tscc/package.json
Outdated
| "name": "optimized-test", | ||
| "version": "0.0.0", | ||
| "dependencies": { | ||
| "@tscc/tscc": "^0.6.4" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The bad news here: It's using a slightly different version of TypeScript (3.9?) right now.
5e46c91 to
394d64e
Compare
394d64e to
1cb035b
Compare
|
@jkrems awesome, thank you for adding this test 👍 |
|
Would you want to combine the two PRs into one? Or is there anything missing on my end to enable landing this? |
This adds a test that optimizes the TypeScript using
@tscc/tsccwhich combines tsickle and closure compiler with advanced optimizations. The test acts as a rough validation that the library doesn't break when properties are renamed.Closure compiler will aggressively strip fields or rename them if it thinks they are unused or that it knows all possible use sites. The TypeScript types can already take care of most of the issues but a big exception is meta programming: Dynamic property lookups and -writes need to happen via quoted or bracketed access.