Skip to content

Add manifest generation to include_assets build step#7016

Open
alfonso-noriega wants to merge 2 commits into02-wire-build-config-into-extension-specsfrom
add_manifest_to_include_files_step
Open

Add manifest generation to include_assets build step#7016
alfonso-noriega wants to merge 2 commits into02-wire-build-config-into-extension-specsfrom
add_manifest_to_include_files_step

Conversation

@alfonso-noriega
Copy link
Contributor

@alfonso-noriega alfonso-noriega commented Mar 16, 2026

WHY are these changes introduced?

Fixes #0000

WHAT is this pull request doing?

How to test your changes?

Post-release steps

Measuring impact

How do we know this change was effective? Please choose one:

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
  • Existing analytics will cater for this addition
  • PR includes analytics changes to measure impact

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

@alfonso-noriega alfonso-noriega requested a review from a team as a code owner March 16, 2026 14:33
@github-actions
Copy link
Contributor

We detected some changes at packages/*/src and there are no updates in the .changeset.
If the changes are user-facing, run pnpm changeset add to track your changes and include them in the next release CHANGELOG.

Caution

DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release.

Copy link
Contributor Author

alfonso-noriega commented Mar 16, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Contributor

Differences in type declarations

We detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:

  • Some seemingly private modules might be re-exported through public modules.
  • If the branch is behind main you might see odd diffs, rebase main into this branch.

New type declarations

We found no new type declarations in this PR

Existing type declarations

packages/cli-kit/dist/public/node/themes/api.d.ts
@@ -5,7 +5,6 @@ export type ThemeParams = Partial<Pick<Theme, 'name' | 'role' | 'processing' | '
 export type AssetParams = Pick<ThemeAsset, 'key'> & Partial<Pick<ThemeAsset, 'value' | 'attachment'>>;
 export declare function fetchTheme(id: number, session: AdminSession): Promise<Theme | undefined>;
 export declare function fetchThemes(session: AdminSession): Promise<Theme[]>;
-export declare function findDevelopmentThemeByName(name: string, session: AdminSession): Promise<Theme | undefined>;
 export declare function themeCreate(params: ThemeParams, session: AdminSession): Promise<Theme | undefined>;
 export declare function fetchThemeAssets(id: number, filenames: Key[], session: AdminSession): Promise<ThemeAsset[]>;
 export declare function deleteThemeAssets(id: number, filenames: Key[], session: AdminSession): Promise<Result[]>;
packages/cli-kit/dist/public/node/themes/theme-manager.d.ts
@@ -8,8 +8,8 @@ export declare abstract class ThemeManager {
     protected abstract removeTheme(): void;
     protected abstract context: string;
     constructor(adminSession: AdminSession);
-    findOrCreate(name?: string, role?: Role): Promise<Theme>;
-    fetch(name?: string, role?: Role): Promise<Theme | undefined>;
+    findOrCreate(): Promise<Theme>;
+    fetch(): Promise<Theme | undefined>;
     generateThemeName(context: string): string;
     create(themeRole?: Role, themeName?: string): Promise<Theme>;
 }
\ No newline at end of file

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 82.15% 14893/18128
🟡 Branches 74.41% 7372/9907
🟢 Functions 81.33% 3764/4628
🟢 Lines 82.59% 14079/17047

Test suite run success

3891 tests passing in 1510 suites.

Report generated by 🧪jest coverage report action from 6c8a52b

@alfonso-noriega alfonso-noriega force-pushed the add_manifest_to_include_files_step branch from ffcfa99 to 0fd3c26 Compare March 17, 2026 10:08
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 1d5c873 to 912e7f4 Compare March 17, 2026 10:08
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 912e7f4 to 0da8073 Compare March 17, 2026 11:02
@alfonso-noriega alfonso-noriega force-pushed the add_manifest_to_include_files_step branch from 0fd3c26 to 141233b Compare March 17, 2026 11:03
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 0da8073 to 8cc8f2f Compare March 17, 2026 11:07
@alfonso-noriega alfonso-noriega force-pushed the add_manifest_to_include_files_step branch from 141233b to 06bccee Compare March 17, 2026 11:07
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 8cc8f2f to 5068d26 Compare March 17, 2026 11:19
@alfonso-noriega alfonso-noriega force-pushed the add_manifest_to_include_files_step branch 2 times, most recently from d13b2b2 to ef2ca4e Compare March 17, 2026 11:20
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 5068d26 to d58c2f4 Compare March 17, 2026 11:20
@alfonso-noriega alfonso-noriega force-pushed the add_manifest_to_include_files_step branch from ef2ca4e to 9c06d65 Compare March 17, 2026 15:51
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from d58c2f4 to a10faf5 Compare March 17, 2026 15:51
- Add generateManifest boolean to IncludeAssetsConfigSchema (default false)
- Add anchor and groupBy fields to ConfigKeyEntrySchema for grouped manifest entries
- Track copy operations in pathMap to resolve output-relative paths
- Deduplicate source paths to prevent indexed suffixes on shared files
- Use sequential copy loop to prevent findUniqueDestPath race conditions
- resolveManifestPaths walks manifest tree using pathMap; non-path strings pass through unchanged
- 33 tests passing
- Rename short identifiers (k, v, p) to satisfy id-length rule
- Add eslint-disable for intentional no-await-in-loop in sequential copy loop
- Add null guard for head in buildRelativeEntry to fix TS18048
- Run prettier fixes
@alfonso-noriega alfonso-noriega changed the base branch from 02-wire-build-config-into-extension-specs to graphite-base/7016 March 18, 2026 10:43
@alfonso-noriega alfonso-noriega force-pushed the add_manifest_to_include_files_step branch from 9c06d65 to 6c8a52b Compare March 18, 2026 10:45
@alfonso-noriega alfonso-noriega changed the base branch from graphite-base/7016 to 02-wire-build-config-into-extension-specs March 18, 2026 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant