Create abstract client steps infrastracture to externalize the ap modules client configurations#6965
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
We detected some changes at Caution DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release. |
packages/app/src/cli/services/generate/fetch-extension-specifications.ts
Outdated
Show resolved
Hide resolved
16768f3 to
59f0139
Compare
59f0139 to
f9f9e63
Compare
7b68eb7 to
c3ee349
Compare
f9f9e63 to
59dcaa7
Compare
|
These findings are in files not modified by this PR and cannot be posted as inline comments.
The integration test calls Evidence: await executeStep({ ..., type: 'include_assets', ... }, context)
...
expect(await fileExists(joinPath(outputDir, 'logo.png'))).toBe(true)Impact:
|
|
🤖 Code Review · #projects-dev-ai for questions ✅ Complete - No issues 📋 History❌ Failed → ❌ Failed → ❌ Failed → ✅ 2 findings → ✅ No issues → ❌ Failed → ❌ Failed → ✅ No issues → ✅ No issues |
59dcaa7 to
fb4c01d
Compare
|
These findings are in files not modified by this PR and cannot be posted as inline comments.
BuildConfig.mode includes 'hosted_app_home', but ExtensionInstance.build() does not handle it. The extension may not be built, producing missing artifacts. Impact: Specs setting mode=hosted_app_home can lead to deploy failures or missing runtime resources. |
fb4c01d to
68f4751
Compare
24fb214 to
ecf7d0f
Compare
9257821 to
596be94
Compare
5647756 to
dcffdf5
Compare
e5c297b to
63f01da
Compare
dcffdf5 to
b7dd050
Compare
63f01da to
576d4ea
Compare
b7dd050 to
a8cf663
Compare
70b51d3 to
f140406
Compare
a8cf663 to
40c8534
Compare
6b7f418 to
3c9a3bb
Compare
3c9a3bb to
bc8f04a
Compare
40c8534 to
72e5cc8
Compare
bc8f04a to
35aaabb
Compare
72e5cc8 to
2151198
Compare
35aaabb to
906c43e
Compare
2151198 to
3dcf026
Compare
| schema: TaxCalculationsSchema, | ||
| appModuleFeatures: (_) => [], | ||
| buildConfig: {mode: 'tax_calculation'}, | ||
| getOutputRelativePath: (extension: ExtensionInstance<TaxCalculationsConfigType>) => `dist/${extension.handle}.js`, |
There was a problem hiding this comment.
use joinPath in all of these
isaacroldan
left a comment
There was a problem hiding this comment.
just a minor comment
906c43e to
4e75f4d
Compare
4e75f4d to
313c611
Compare

WHY are these changes introduced?
This introduces a new client-side build pipeline system to replace the existing buildConfig approach for extensions. The current system is limited and doesn't provide enough flexibility for complex build scenarios.
WHAT is this pull request doing?
ClientStepsinterface that defines build steps as configuration objects with execution handled separatelyBuildContextto pass data through the step pipeline and store resultsbuild_function,build_theme,bundle_theme, andbundle_uioperationsinclude_assetsstep type with support for pattern-based and config-key-based file inclusionsExtensionSpecificationto include optionalclientStepsfield alongside existingbuildConfigbuildForBundlemethod to handle app config extensions differently by using the extension UID as the output pathfilePatternsandignoredFilePatternsare not definedHow to test your changes?
clientStepsconfigurationinclude_assetsstep with both pattern and configKey inclusion typescontinueOnErrorflagbuildConfigcontinue to work unchangedMeasuring impact
How do we know this change was effective? Please choose one:
Checklist