-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
[FEATURE] Strict component blueprint support #20862
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
base: main
Are you sure you want to change the base?
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Naming proposal from the tooling team meeting discussion: can we use the edition setting in package.json to control both component and route blueprint generation? "ember": {
"edition": "polaris" // causes all components and routes to generate with template tag
}, Also, if separate settings for each feature are also desirable, the value could be "polaris" vs "octane"
|
@ef4 I think we can use that edition value to flip the defaults, but I wouldn't use it as the only option. The RFC explicitly mentioned a Checking the edition value feels a bit out of scope for this PR though, since it would require other code changes (and the merge of #20863). The wider ecosystem might also not be ready yet for a value other than My preference would be to stick with the My question about the argument name wasn't for this PR, but the route one 😄, but using |
002d101
to
3c84d82
Compare
This comment was marked as resolved.
This comment was marked as resolved.
Add failing test for strict flag Add file name mapping for strict flag Add gjs template blueprint Filter files depending on loose/strict flag Add gjs test fixture fix component import path Add component-test strict blueprint filter blueprint files for component-test Add strict component test test (no typo) Add component test strict fixture Use authoringFormat option instead of explicit flags Use authoringFormat option instead of flags in component Revert explicit fileMapTokens for strict format Only log skippedJsFiles in loose mode Don't store filteresJsFiles for authoring format do not log skippedJsFiles in component-test either fix afterInstall param location Fix blueprint closing tags Remove log fix: add components to import path Add yield to template-only gjs Make component blueprint ts by default Add js blueprints Move test to outside of pod remove default template test gjs check rfc fixture fix: nested component invocation remove log feat: add template tag aliasses chore: rename param to component-authoring-format fix: remove assert on test chore: update test doc comments to reflect new test waiter api chore: update doc help
ember-cli is used in the tests, and some tests need the newer features to work as expected. We also need a version that uses the `babel-remove-types` package that includes the fixes for .gts detyping to work. Because of this update, some slight adjustments are needed to some pod related tests. The `usePods` option of ember-cli-blueprint-test-helpers' `setupPodConfig` util isn't compatible with newer ember-cli versions. As a workaround we use the `--pod` argument when generating files.
This applies the same changes as ember-cli/ember-cli#10659 so we don't need to wait for a new ember-cli release.
- add gts - make the gjs consistent.
6.3.0 hasn't been released yet, but we need the content-tag v3 dependency to fix an issue when detyping the blueprint files.
The .gts type removal is buggy at the moment, and causes this PR to be blocked. We now add .gjs blueprints and strip the version we don't need, which bypasses the detyping problems.
We no longer need it since we don't depend on the type removal feature.
The component-test.js file was using the old, ember-cli-qunit based setup and we didn't add the new test files there.
48a8940
to
e9ba9d4
Compare
That folder is no longer used.
This is in line with the PR that cleans up ember-cli-qunit tests
I decided to work around all the different .gts detyping issues by simply adding .gjs blueprint files and selecting the correct one based on the host project. This allows us to drop all the workarounds and also means we are no longer blocked by the ember-cli backport PR. I think this is the best way forward, and we can always refactor later if needed. |
We now use the addon name instead of the modulePrefix.
Development AssetsDiff Details
|
This implements the blueprint work of RFC #779.
I squashed all the work from #20511 into a single commit to make rebases easier.
Closes #20511
Current status:
Should be good to review. I'll clean up the git history once I know if the current approach is fine and I no longer need the option to revert individual commits.