-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Add some TS component blueprint tests#20771
Conversation
While looking into #20511 I noticed there weren't any tests for the --typescript version of the blueprints.
This adds a some ts tests for the component blueprint. We can add tests for other blueprint in follow up PRs.
I included a pnpm patch for the ember-cli/ember-cli-blueprint-test-helpers package since it doesn't accept any extra cli arguments for ember new in its current state: ember-cli/ember-cli-blueprint-test-helpers#391
This also fixes a bug where ember g component foo.ts would generate .ts.hbs files since .ts wasn't normalized yet.
An extra bonus is that CI now runs a bit faster since the blueprint tests run in parallel.
Partially solves: #20362
| '@babel/core': | ||
| specifier: ^7.24.4 | ||
| version: 7.24.4 | ||
| version: 7.24.4(supports-color@8.1.1) |
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.
There are a lot of lock changes, but I used the pnpm version that was listed in the package.json (8.10). I guess it's possible someone else used a different version in the past?
This comment was marked as resolved.
This comment was marked as resolved.
c992cd1 to
70fc841
Compare
70fc841 to
bdf2e75
Compare
f8d59f1 to
dff3a4f
Compare
the user added the extension to the cli command: `ember g component
foo.ts`
dff3a4f to
f41d8ae
Compare
| "test:blueprints:js": "EMBER_TYPESCRIPT_BLUEPRINTS=false pnpm test:blueprints:js-from-ts", | ||
| "test:blueprints:js-from-ts": "mocha node-tests/blueprints/**/*-test.js", | ||
| "test:blueprints:ts": "mocha node-tests/blueprints-ts/**/*-test.js", | ||
| "test:blueprints": "npm-run-all test:blueprints:*", |
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.
We can remove this one now since we no longer use it in CI, and I don't expect anyone to run all of them like this locally either.
NullVoxPopuli
left a comment
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.
Do you have a pr for the test-helpers as well?
| normalizeEntityName(entityName) { | ||
| return normalizeEntityName( | ||
| entityName.replace(/\.js$/, '') //Prevent generation of ".js.js" files | ||
| entityName.replace(/\.(js|ts)$/, '') //Prevent generation of ".js.js" and ".ts.ts" files |
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.
Why does js.js happen?
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.
When people add an extension when generating a component: ember g component-class foo.js. I just noticed when copying one of the tests and adjusting it for .ts.
Other ts blueprints will have the same issue.
Sorry, It seems I'm a bit slow after a 2 week holiday I haven't created a PR yet no, I can open one if the patch in this PR seems ok. |
|
@NullVoxPopuli Is creating a PR in the helpers repo and getting that merged / released a blocker for this one, or can we merge with the patch? That repo doesn't seem to be maintained and it has no Github actions setup either. I don't really have the time to get that repo in a good state so PRs can be merged I'm afraid. Other than that I think I should split off the .ts.ts fix into a separate one (and fix it for all the .ts blueprints at the same time maybe?), and resolve the merge conflicts, but then this should be good to go. |
|
Going to close this since it's outdated and we can just use |