Skip to content

[DNM] Generate and store a combined extension schema #5609

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

Draft
wants to merge 1 commit into
base: shauns/04-04-output-debug-friendly-schema
Choose a base branch
from

Conversation

shauns
Copy link
Contributor

@shauns shauns commented Apr 4, 2025

As downstack, but for extensions.

This produces a good JSON schema for extensions (it only covers UI extensions & functions right now though). But, the most common LSP for TOML will struggle with this schema as it is oriented around a union/anyOf. So as-is, this is a demonstration of what may be possible, but today isn't.

Copy link
Contributor Author

shauns commented Apr 4, 2025

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.

Copy link
Contributor

github-actions bot commented Apr 4, 2025

Unused exports (1)

Filename exports
packages/app/src/cli/models/extensions/schemas.ts MetafieldSchemaAsJson

@shauns shauns force-pushed the shauns/04-04-output-debug-friendly-schema branch from b8bf9d8 to d98aa8b Compare April 4, 2025 14:06
@shauns shauns force-pushed the shauns/04-04-_dnm_generate_and_store_a_combined_extension_schema branch from 557d371 to 41ee024 Compare April 4, 2025 14:06
Copy link
Contributor

github-actions bot commented Apr 4, 2025

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/fs.d.ts
@@ -103,13 +103,13 @@ export declare function writeFile(path: string, data: string | Buffer, options?:
  */
 export declare function writeFileSync(path: string, data: string): void;
 /**
- * Creates a directory at the given path.
+ * Creates a directory at the given path. Directories are created recursively if needed.
  *
  * @param path - Path to the directory to be created.
  */
 export declare function mkdir(path: string): Promise<void>;
 /**
- * Synchronously creates a directory at the given path.
+ * Synchronously creates a directory at the given path. Directories are created recursively if needed.
  *
  * @param path - Path to the directory to be created.
  */
@@ -263,6 +263,13 @@ interface GenerateRandomDirectoryOptions {
  * @returns It returns the name of the directory.
  */
 export declare function generateRandomNameForSubdirectory(options: GenerateRandomDirectoryOptions): Promise<string>;
+/**
+ * Read the contents of a directory.
+ *
+ * @param path - Path to the directory.
+ * @returns A promise that resolves to an array of the names of the files in the directory.
+ */
+export declare function readdir(path: string): Promise<string[]>;
 /**
  * Traverse the file system and return pathnames that match the given pattern.
  *

1 similar comment
Copy link
Contributor

github-actions bot commented Apr 4, 2025

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/fs.d.ts
@@ -103,13 +103,13 @@ export declare function writeFile(path: string, data: string | Buffer, options?:
  */
 export declare function writeFileSync(path: string, data: string): void;
 /**
- * Creates a directory at the given path.
+ * Creates a directory at the given path. Directories are created recursively if needed.
  *
  * @param path - Path to the directory to be created.
  */
 export declare function mkdir(path: string): Promise<void>;
 /**
- * Synchronously creates a directory at the given path.
+ * Synchronously creates a directory at the given path. Directories are created recursively if needed.
  *
  * @param path - Path to the directory to be created.
  */
@@ -263,6 +263,13 @@ interface GenerateRandomDirectoryOptions {
  * @returns It returns the name of the directory.
  */
 export declare function generateRandomNameForSubdirectory(options: GenerateRandomDirectoryOptions): Promise<string>;
+/**
+ * Read the contents of a directory.
+ *
+ * @param path - Path to the directory.
+ * @returns A promise that resolves to an array of the names of the files in the directory.
+ */
+export declare function readdir(path: string): Promise<string[]>;
 /**
  * Traverse the file system and return pathnames that match the given pattern.
  *

Copy link
Contributor

github-actions bot commented Apr 4, 2025

Coverage report

St.
Category Percentage Covered / Total
🟡 Statements 76.64% 9457/12339
🟡 Branches 71.75% 4623/6443
🟡 Functions 76.37% 2450/3208
🟡 Lines 77.17% 8943/11588

Test suite run success

2182 tests passing in 954 suites.

Report generated by 🧪jest coverage report action from 41ee024

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