@beignet/cli 0.0.40 → 0.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +139 -17
- package/dist/analysis/source-index.d.ts +38 -0
- package/dist/analysis/source-index.d.ts.map +1 -0
- package/dist/analysis/source-index.js +271 -0
- package/dist/analysis/source-index.js.map +1 -0
- package/dist/analysis/workspace.d.ts +16 -0
- package/dist/analysis/workspace.d.ts.map +1 -0
- package/dist/analysis/workspace.js +134 -0
- package/dist/analysis/workspace.js.map +1 -0
- package/dist/app-map-schema.d.ts +5 -0
- package/dist/app-map-schema.d.ts.map +1 -0
- package/dist/app-map-schema.js +26 -0
- package/dist/app-map-schema.js.map +1 -0
- package/dist/app-map.d.ts +96 -0
- package/dist/app-map.d.ts.map +1 -0
- package/dist/app-map.js +1141 -0
- package/dist/app-map.js.map +1 -0
- package/dist/check.d.ts +7 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +20 -5
- package/dist/check.js.map +1 -1
- package/dist/choices.d.ts +18 -0
- package/dist/choices.d.ts.map +1 -1
- package/dist/choices.js +35 -0
- package/dist/choices.js.map +1 -1
- package/dist/db.d.ts +49 -13
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +202 -21
- package/dist/db.js.map +1 -1
- package/dist/doctor-fixes.d.ts +64 -0
- package/dist/doctor-fixes.d.ts.map +1 -0
- package/dist/doctor-fixes.js +142 -0
- package/dist/doctor-fixes.js.map +1 -0
- package/dist/explain.d.ts +100 -0
- package/dist/explain.d.ts.map +1 -0
- package/dist/explain.js +606 -0
- package/dist/explain.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +165 -21
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts +33 -9
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +406 -119
- package/dist/inspect.js.map +1 -1
- package/dist/lib.d.ts +10 -2
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +5 -2
- package/dist/lib.js.map +1 -1
- package/dist/make/shared.js +3 -3
- package/dist/make/shared.js.map +1 -1
- package/dist/make.d.ts.map +1 -1
- package/dist/make.js +63 -2
- package/dist/make.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +188 -12
- package/dist/mcp.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +10 -0
- package/dist/preflight.js.map +1 -1
- package/dist/provider-add.d.ts.map +1 -1
- package/dist/provider-add.js +167 -13
- package/dist/provider-add.js.map +1 -1
- package/dist/provider-audit.d.ts +6 -0
- package/dist/provider-audit.d.ts.map +1 -1
- package/dist/provider-audit.js +63 -15
- package/dist/provider-audit.js.map +1 -1
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +35 -6
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/base.d.ts.map +1 -1
- package/dist/templates/base.js +13 -7
- package/dist/templates/base.js.map +1 -1
- package/dist/templates/index.d.ts +1 -1
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +8 -1
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/server.d.ts +3 -0
- package/dist/templates/server.d.ts.map +1 -1
- package/dist/templates/server.js +55 -1
- package/dist/templates/server.js.map +1 -1
- package/dist/templates/shared.d.ts +2 -1
- package/dist/templates/shared.d.ts.map +1 -1
- package/dist/templates/shared.js +8 -5
- package/dist/templates/shared.js.map +1 -1
- package/package.json +3 -2
- package/skills/app-structure/SKILL.md +48 -6
- package/src/analysis/source-index.ts +395 -0
- package/src/analysis/workspace.ts +180 -0
- package/src/app-map-schema.ts +28 -0
- package/src/app-map.ts +1705 -0
- package/src/check.ts +27 -4
- package/src/choices.ts +57 -0
- package/src/db.ts +276 -28
- package/src/doctor-fixes.ts +252 -0
- package/src/explain.ts +894 -0
- package/src/index.ts +237 -31
- package/src/inspect.ts +567 -147
- package/src/lib.ts +64 -1
- package/src/make/shared.ts +3 -3
- package/src/make.ts +90 -2
- package/src/mcp.ts +292 -12
- package/src/preflight.ts +14 -0
- package/src/provider-add.ts +211 -12
- package/src/provider-audit.ts +127 -22
- package/src/templates/agents.ts +35 -6
- package/src/templates/base.ts +25 -6
- package/src/templates/index.ts +18 -1
- package/src/templates/server.ts +58 -1
- package/src/templates/shared.ts +15 -7
package/dist/provider-add.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
1
|
+
import { mkdir, readdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { providerPresetChoices, } from "./choices.js";
|
|
4
4
|
import { directoryPath, loadBeignetConfig, } from "./config.js";
|
|
5
|
+
import { aliasModule } from "./make/shared.js";
|
|
5
6
|
import { appendToArrayExpression, appendToNamedArray, arrayInitializerInfo, identifiersFromArrayExpression, insertAfterImports, matchingDelimiterIndex, } from "./registry-edits.js";
|
|
6
7
|
import { externalVersions, json } from "./templates/shared.js";
|
|
7
8
|
const presets = {
|
|
@@ -88,7 +89,7 @@ const presets = {
|
|
|
88
89
|
displayName: "Inngest jobs",
|
|
89
90
|
importName: "createInngestJobsProvider",
|
|
90
91
|
importFrom: "@beignet/provider-jobs-inngest",
|
|
91
|
-
providerEntry: "createInngestJobsProvider()",
|
|
92
|
+
providerEntry: "createInngestJobsProvider({ client: inngest })",
|
|
92
93
|
dependencies: (packageJson) => ({
|
|
93
94
|
"@beignet/provider-jobs-inngest": beignetDependencyVersion(packageJson),
|
|
94
95
|
inngest: externalVersions.inngest,
|
|
@@ -99,11 +100,20 @@ const presets = {
|
|
|
99
100
|
importName: "JobDispatcherPort",
|
|
100
101
|
importFrom: "@beignet/core/ports",
|
|
101
102
|
},
|
|
102
|
-
envVars: [
|
|
103
|
+
envVars: [
|
|
104
|
+
"INNGEST_APP_NAME",
|
|
105
|
+
"INNGEST_DEV",
|
|
106
|
+
"INNGEST_EVENT_KEY",
|
|
107
|
+
"INNGEST_SIGNING_KEY",
|
|
108
|
+
"INNGEST_SIGNING_KEY_FALLBACK",
|
|
109
|
+
],
|
|
103
110
|
envExample: [
|
|
104
111
|
"# Inngest jobs provider",
|
|
105
112
|
"INNGEST_APP_NAME=beignet-app",
|
|
113
|
+
"INNGEST_DEV=1",
|
|
106
114
|
"# INNGEST_EVENT_KEY=",
|
|
115
|
+
"# INNGEST_SIGNING_KEY=",
|
|
116
|
+
"# INNGEST_SIGNING_KEY_FALLBACK=",
|
|
107
117
|
"",
|
|
108
118
|
].join("\n"),
|
|
109
119
|
docs: [
|
|
@@ -111,16 +121,16 @@ const presets = {
|
|
|
111
121
|
"",
|
|
112
122
|
"- Package: `@beignet/provider-jobs-inngest`",
|
|
113
123
|
"- Peer dependency: `inngest`",
|
|
114
|
-
"- The preset
|
|
124
|
+
"- The preset creates one shared Inngest client, a central Beignet job registry, and wires that client into `server/providers.ts`.",
|
|
115
125
|
"- Define jobs with `defineJob(...)` and dispatch them through `ctx.ports.jobs.dispatch(...)`.",
|
|
116
|
-
"-
|
|
126
|
+
"- Next.js apps receive `app/api/inngest/route.ts`; other runtimes receive `createAppInngestFunctions(...)` so their host can bind an app-owned service context.",
|
|
117
127
|
"- Use `ctx.ports.inngest` only as an escape hatch for Inngest-specific workflow APIs; prefer `ctx.ports.jobs.dispatch(...)` for Beignet jobs.",
|
|
118
128
|
"",
|
|
119
129
|
].join("\n"),
|
|
120
130
|
nextSteps: [
|
|
121
131
|
"Run your package manager install command.",
|
|
122
|
-
"
|
|
123
|
-
"
|
|
132
|
+
"Use INNGEST_DEV=1 only with the local dev server. Set INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY in production.",
|
|
133
|
+
"For non-Next runtimes, call createAppInngestFunctions(...) after creating the app server, then mount the result with Inngest's host adapter.",
|
|
124
134
|
"Run beignet provider audit and beignet doctor --strict.",
|
|
125
135
|
],
|
|
126
136
|
conflictingProviderEntries: ["createBullMQJobsProvider"],
|
|
@@ -655,7 +665,7 @@ export async function addProviderPreset(options) {
|
|
|
655
665
|
const targetDir = path.resolve(options.cwd ?? process.cwd());
|
|
656
666
|
const config = await loadBeignetConfig(targetDir);
|
|
657
667
|
const readSource = (filePath) => readOptionalAppFile(targetDir, filePath);
|
|
658
|
-
const filesToPlan = await providerPresetFiles(preset, config, readSource);
|
|
668
|
+
const filesToPlan = await providerPresetFiles(preset, config, readSource, targetDir);
|
|
659
669
|
const plannedFiles = await planFiles(filesToPlan, readSource);
|
|
660
670
|
if (!options.dryRun) {
|
|
661
671
|
for (const file of plannedFiles) {
|
|
@@ -678,7 +688,7 @@ export async function planProviderPresetsForCreate(options) {
|
|
|
678
688
|
};
|
|
679
689
|
for (const name of options.names) {
|
|
680
690
|
const preset = presets[name];
|
|
681
|
-
const filesToPlan = await providerPresetFiles(preset, config, readSource);
|
|
691
|
+
const filesToPlan = await providerPresetFiles(preset, config, readSource, options.targetDir);
|
|
682
692
|
const plannedFiles = await planFiles(filesToPlan, readSource);
|
|
683
693
|
for (const file of plannedFiles) {
|
|
684
694
|
sources.set(file.path, file.content);
|
|
@@ -693,13 +703,21 @@ export async function planProviderPresetsForCreate(options) {
|
|
|
693
703
|
presets: presetResults,
|
|
694
704
|
};
|
|
695
705
|
}
|
|
696
|
-
async function providerPresetFiles(preset, config, readSource) {
|
|
706
|
+
async function providerPresetFiles(preset, config, readSource, targetDir) {
|
|
697
707
|
const packageJsonPath = "package.json";
|
|
698
708
|
const providersPath = serverProvidersPath(config);
|
|
699
709
|
const providersDocsPath = "docs/providers.md";
|
|
700
710
|
const packageJsonSource = await readRequiredSource(readSource, packageJsonPath);
|
|
701
711
|
const packageJson = parsePackageJson(packageJsonSource);
|
|
702
712
|
const envExampleContent = updateEnvExample(await readSource(".env.example"), preset);
|
|
713
|
+
const effectivePreset = preset.name === "jobs-inngest"
|
|
714
|
+
? {
|
|
715
|
+
...preset,
|
|
716
|
+
additionalImports: [
|
|
717
|
+
`import { inngest } from "${aliasModule(path.posix.join(directoryPath(path.posix.dirname(config.paths.portWiring)), "inngest.ts"))}";`,
|
|
718
|
+
],
|
|
719
|
+
}
|
|
720
|
+
: preset;
|
|
703
721
|
const files = [
|
|
704
722
|
{
|
|
705
723
|
path: packageJsonPath,
|
|
@@ -707,7 +725,7 @@ async function providerPresetFiles(preset, config, readSource) {
|
|
|
707
725
|
},
|
|
708
726
|
{
|
|
709
727
|
path: providersPath,
|
|
710
|
-
content: updateServerProviders(await readRequiredSource(readSource, providersPath),
|
|
728
|
+
content: updateServerProviders(await readRequiredSource(readSource, providersPath), effectivePreset),
|
|
711
729
|
},
|
|
712
730
|
{
|
|
713
731
|
path: config.paths.ports,
|
|
@@ -728,8 +746,139 @@ async function providerPresetFiles(preset, config, readSource) {
|
|
|
728
746
|
content: envExampleContent,
|
|
729
747
|
});
|
|
730
748
|
}
|
|
749
|
+
if (preset.name === "jobs-inngest") {
|
|
750
|
+
files.push(...(await inngestProviderFiles({ targetDir, config, readSource })));
|
|
751
|
+
}
|
|
731
752
|
return files;
|
|
732
753
|
}
|
|
754
|
+
async function inngestProviderFiles(options) {
|
|
755
|
+
const infrastructurePath = directoryPath(path.posix.dirname(options.config.paths.portWiring));
|
|
756
|
+
const serverPath = directoryPath(path.posix.dirname(options.config.paths.server));
|
|
757
|
+
const clientPath = path.posix.join(infrastructurePath, "inngest.ts");
|
|
758
|
+
const registryPath = path.posix.join(serverPath, "inngest.ts");
|
|
759
|
+
const jobRegistries = await discoverJobRegistries(options.targetDir, options.config);
|
|
760
|
+
const imports = jobRegistries
|
|
761
|
+
.map(({ name, file }) => `import { ${name} } from "${aliasModule(file)}";`)
|
|
762
|
+
.join("\n");
|
|
763
|
+
const entries = jobRegistries.map(({ name }) => `\t...${name},`).join("\n");
|
|
764
|
+
const files = [];
|
|
765
|
+
if ((await options.readSource(clientPath)) === undefined) {
|
|
766
|
+
files.push({
|
|
767
|
+
path: clientPath,
|
|
768
|
+
content: `import { Inngest } from "inngest";
|
|
769
|
+
|
|
770
|
+
/** Shared by the Beignet jobs provider and the Inngest serve endpoint. */
|
|
771
|
+
export const inngest = new Inngest({
|
|
772
|
+
\tid: process.env.INNGEST_APP_NAME ?? "beignet-app",
|
|
773
|
+
});
|
|
774
|
+
`,
|
|
775
|
+
});
|
|
776
|
+
}
|
|
777
|
+
if ((await options.readSource(registryPath)) === undefined) {
|
|
778
|
+
files.push({
|
|
779
|
+
path: registryPath,
|
|
780
|
+
content: options.config.framework === "next"
|
|
781
|
+
? `import { createServiceActor } from "@beignet/core/ports";
|
|
782
|
+
import { createInngestJobFunctions } from "@beignet/provider-jobs-inngest";
|
|
783
|
+
import type { AppContext } from "${aliasModule(options.config.paths.appContext)}";
|
|
784
|
+
import { inngest } from "${aliasModule(clientPath)}";
|
|
785
|
+
${imports ? `${imports}\n` : ""}import { getServer } from "${aliasModule(options.config.paths.server)}";
|
|
786
|
+
|
|
787
|
+
/** Central registry updated by \`beignet make job\`. */
|
|
788
|
+
export const inngestJobs = [
|
|
789
|
+
${entries}
|
|
790
|
+
] as const;
|
|
791
|
+
|
|
792
|
+
export const inngestFunctions = createInngestJobFunctions<AppContext>({
|
|
793
|
+
\tclient: inngest,
|
|
794
|
+
\tjobs: inngestJobs,
|
|
795
|
+
\tctx: async () => {
|
|
796
|
+
\t\tconst server = await getServer();
|
|
797
|
+
\t\treturn server.createServiceContext({
|
|
798
|
+
\t\t\tactor: createServiceActor("beignet-inngest"),
|
|
799
|
+
\t\t});
|
|
800
|
+
\t},
|
|
801
|
+
\tinstrumentation: async () => (await getServer()).ports,
|
|
802
|
+
\terrorReporter: async () => (await getServer()).ports.errorReporter,
|
|
803
|
+
});
|
|
804
|
+
`
|
|
805
|
+
: `import {
|
|
806
|
+
\tcreateInngestJobFunctions,
|
|
807
|
+
\ttype CreateInngestJobFunctionsOptions,
|
|
808
|
+
} from "@beignet/provider-jobs-inngest";
|
|
809
|
+
import type { AppContext } from "${aliasModule(options.config.paths.appContext)}";
|
|
810
|
+
import { inngest } from "${aliasModule(clientPath)}";
|
|
811
|
+
${imports ? `${imports}\n` : ""}
|
|
812
|
+
/** Central registry updated by \`beignet make job\`. */
|
|
813
|
+
export const inngestJobs = [
|
|
814
|
+
${entries}
|
|
815
|
+
] as const;
|
|
816
|
+
|
|
817
|
+
export type AppInngestFunctionOptions = Omit<
|
|
818
|
+
\tCreateInngestJobFunctionsOptions<AppContext>,
|
|
819
|
+
\t"client" | "jobs" | "ctx"
|
|
820
|
+
> & {
|
|
821
|
+
\tctx: NonNullable<CreateInngestJobFunctionsOptions<AppContext>["ctx"]>;
|
|
822
|
+
};
|
|
823
|
+
|
|
824
|
+
/** Bind the app-owned runtime context when mounting an Inngest host adapter. */
|
|
825
|
+
export function createAppInngestFunctions(
|
|
826
|
+
\toptions: AppInngestFunctionOptions,
|
|
827
|
+
) {
|
|
828
|
+
\treturn createInngestJobFunctions<AppContext>({
|
|
829
|
+
\t\t...options,
|
|
830
|
+
\t\tclient: inngest,
|
|
831
|
+
\t\tjobs: inngestJobs,
|
|
832
|
+
\t});
|
|
833
|
+
}
|
|
834
|
+
`,
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
if (options.config.framework === "next") {
|
|
838
|
+
const routePath = path.posix.join(directoryPath(options.config.paths.routes), "inngest/route.ts");
|
|
839
|
+
if ((await options.readSource(routePath)) === undefined) {
|
|
840
|
+
files.push({
|
|
841
|
+
path: routePath,
|
|
842
|
+
content: `import { serve } from "inngest/next";
|
|
843
|
+
import { inngest } from "${aliasModule(clientPath)}";
|
|
844
|
+
import { inngestFunctions } from "${aliasModule(registryPath)}";
|
|
845
|
+
|
|
846
|
+
export const { GET, POST, PUT } = serve({
|
|
847
|
+
\tclient: inngest,
|
|
848
|
+
\tfunctions: inngestFunctions,
|
|
849
|
+
});
|
|
850
|
+
`,
|
|
851
|
+
});
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
return files;
|
|
855
|
+
}
|
|
856
|
+
async function discoverJobRegistries(targetDir, config) {
|
|
857
|
+
const featuresDir = path.join(targetDir, directoryPath(config.paths.features));
|
|
858
|
+
let entries;
|
|
859
|
+
try {
|
|
860
|
+
entries = await readdir(featuresDir, { recursive: true, encoding: "utf8" });
|
|
861
|
+
}
|
|
862
|
+
catch {
|
|
863
|
+
return [];
|
|
864
|
+
}
|
|
865
|
+
const registries = [];
|
|
866
|
+
for (const entry of entries) {
|
|
867
|
+
const normalized = entry.replaceAll(path.sep, "/");
|
|
868
|
+
if (!normalized.endsWith("/jobs/index.ts"))
|
|
869
|
+
continue;
|
|
870
|
+
const absolutePath = path.join(featuresDir, entry);
|
|
871
|
+
const source = await readFile(absolutePath, "utf8");
|
|
872
|
+
const match = source.match(/export const\s+([A-Za-z_$][\w$]*Jobs)\s*=/);
|
|
873
|
+
if (!match?.[1])
|
|
874
|
+
continue;
|
|
875
|
+
registries.push({
|
|
876
|
+
name: match[1],
|
|
877
|
+
file: path.posix.join(directoryPath(config.paths.features), normalized),
|
|
878
|
+
});
|
|
879
|
+
}
|
|
880
|
+
return registries.sort((left, right) => left.file.localeCompare(right.file));
|
|
881
|
+
}
|
|
733
882
|
function providerPresetResult(preset, targetDir, dryRun, plannedFiles) {
|
|
734
883
|
return {
|
|
735
884
|
schemaVersion: 1,
|
|
@@ -801,14 +950,19 @@ function updatePackageJson(source, packageJson, preset) {
|
|
|
801
950
|
}
|
|
802
951
|
function updateServerProviders(source, preset) {
|
|
803
952
|
assertNoConflictingProviders(source, preset);
|
|
953
|
+
let next = source;
|
|
954
|
+
for (const importLine of preset.additionalImports ?? []) {
|
|
955
|
+
if (!next.includes(importLine))
|
|
956
|
+
next = insertAfterImports(next, importLine);
|
|
957
|
+
}
|
|
804
958
|
const importLine = `import { ${preset.importName} } from "${preset.importFrom}";`;
|
|
805
|
-
const result = appendToNamedArray(
|
|
959
|
+
const result = appendToNamedArray(next, "providers", preset.providerEntry, hasNamedImport(source, preset.importName, preset.importFrom)
|
|
806
960
|
? undefined
|
|
807
961
|
: importLine);
|
|
808
962
|
if (result.kind === "missing") {
|
|
809
963
|
throw new Error("Could not find `export const providers = [...]` in server/providers.ts.");
|
|
810
964
|
}
|
|
811
|
-
return result.kind === "updated" ? result.source :
|
|
965
|
+
return result.kind === "updated" ? result.source : next;
|
|
812
966
|
}
|
|
813
967
|
function assertNoConflictingProviders(source, preset) {
|
|
814
968
|
const registry = arrayInitializerInfo(source, "providers");
|
package/dist/provider-add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-add.js","sourceRoot":"","sources":["../src/provider-add.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-add.js","sourceRoot":"","sources":["../src/provider-add.ts"],"names":[],"mappings":"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"}
|
package/dist/provider-audit.d.ts
CHANGED
|
@@ -37,6 +37,11 @@ export type ProviderAuditOptions = {
|
|
|
37
37
|
};
|
|
38
38
|
export type ProviderAuditStatus = "present" | "missing" | "none" | "inactive";
|
|
39
39
|
export type ProviderRegistrationStatus = "registered" | "missing" | "optional-missing" | "not-required";
|
|
40
|
+
export type ProviderRegistrationSource = {
|
|
41
|
+
file: string;
|
|
42
|
+
line: number;
|
|
43
|
+
column: number;
|
|
44
|
+
};
|
|
40
45
|
export type ProviderMetadataAudit = {
|
|
41
46
|
status: "valid";
|
|
42
47
|
source: string;
|
|
@@ -82,6 +87,7 @@ export type ProviderAuditEntry = {
|
|
|
82
87
|
declared: boolean;
|
|
83
88
|
metadata: ProviderMetadataAudit;
|
|
84
89
|
registration: ProviderRegistrationStatus;
|
|
90
|
+
registrationSources: ProviderRegistrationSource[];
|
|
85
91
|
requiredEnv: ProviderRequirementAudit;
|
|
86
92
|
requiredTables: ProviderRequirementAudit;
|
|
87
93
|
appPorts: ProviderAppPortsAudit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-audit.d.ts","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider-audit.d.ts","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"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"}
|
package/dist/provider-audit.js
CHANGED
|
@@ -11,7 +11,8 @@ export async function auditProviders(options = {}) {
|
|
|
11
11
|
const packageJson = await readPackageJson(targetDir, files);
|
|
12
12
|
const packageNames = await providerAuditPackageNames(targetDir, packageJson);
|
|
13
13
|
const sourceCache = new Map();
|
|
14
|
-
const
|
|
14
|
+
const providerEntryRecords = await readProviderListEntryRecords(targetDir, files, config, sourceCache);
|
|
15
|
+
const providerEntries = providerEntryRecords.flatMap((entry) => entry.searchableText);
|
|
15
16
|
const configFiles = providerOperationalConfigFiles(files, config);
|
|
16
17
|
const portsSource = files.includes(config.paths.ports)
|
|
17
18
|
? await readCachedSource(targetDir, config.paths.ports, sourceCache)
|
|
@@ -40,6 +41,7 @@ export async function auditProviders(options = {}) {
|
|
|
40
41
|
sourceCache,
|
|
41
42
|
portsSource,
|
|
42
43
|
providerEntries,
|
|
44
|
+
providerEntryRecords,
|
|
43
45
|
sourceFile: source.file,
|
|
44
46
|
packageJson,
|
|
45
47
|
rule: providerDoctorRuleFromMetadata(packageName, parsed.metadata),
|
|
@@ -150,13 +152,24 @@ export function providerVariantRegistrationSeverity(variants) {
|
|
|
150
152
|
return undefined;
|
|
151
153
|
}
|
|
152
154
|
export async function readProviderListEntries(targetDir, files, config, sourceCache) {
|
|
155
|
+
const records = await readProviderListEntryRecords(targetDir, files, config, sourceCache);
|
|
156
|
+
return records.flatMap((entry) => entry.searchableText);
|
|
157
|
+
}
|
|
158
|
+
async function readProviderListEntryRecords(targetDir, files, config, sourceCache) {
|
|
153
159
|
const providerFiles = serverProviderFiles(files, config);
|
|
154
|
-
const
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
+
const records = [];
|
|
161
|
+
for (const file of providerFiles) {
|
|
162
|
+
const providerSource = await readCachedSource(targetDir, file, sourceCache);
|
|
163
|
+
for (const list of extractProviderLists(providerSource)) {
|
|
164
|
+
for (const entry of providerListEntries(list.source)) {
|
|
165
|
+
records.push({
|
|
166
|
+
searchableText: expandProviderEntryIdentifiers([entry.source], providerSource),
|
|
167
|
+
source: sourceLocation(file, providerSource, list.start + entry.start),
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return records;
|
|
160
173
|
}
|
|
161
174
|
/**
|
|
162
175
|
* Resolve identifiers referenced by provider list entries to their `const`
|
|
@@ -684,6 +697,8 @@ async function providerAuditEntryForRule(options) {
|
|
|
684
697
|
requiredTables,
|
|
685
698
|
appPorts,
|
|
686
699
|
});
|
|
700
|
+
const registrationTokens = options.rule.variants?.flatMap((variant) => variant.tokens) ??
|
|
701
|
+
options.rule.tokens;
|
|
687
702
|
return {
|
|
688
703
|
packageName: options.rule.packageName,
|
|
689
704
|
displayName: options.rule.displayName,
|
|
@@ -694,6 +709,9 @@ async function providerAuditEntryForRule(options) {
|
|
|
694
709
|
issues: [],
|
|
695
710
|
},
|
|
696
711
|
registration,
|
|
712
|
+
registrationSources: registration === "registered"
|
|
713
|
+
? registrationSourcesForTokens(registrationTokens, options.providerEntryRecords)
|
|
714
|
+
: [],
|
|
697
715
|
requiredEnv,
|
|
698
716
|
requiredTables,
|
|
699
717
|
appPorts,
|
|
@@ -728,6 +746,7 @@ function providerAuditEntryForMissingMetadata(packageName, packageJson) {
|
|
|
728
746
|
declared: installedPackageNames(packageJson).has(packageName),
|
|
729
747
|
metadata: { status: "missing", issues: [] },
|
|
730
748
|
registration: "not-required",
|
|
749
|
+
registrationSources: [],
|
|
731
750
|
requiredEnv: emptyRequirement(),
|
|
732
751
|
requiredTables: emptyRequirement(),
|
|
733
752
|
appPorts: emptyAppPorts(),
|
|
@@ -747,6 +766,7 @@ function providerAuditEntryForInvalidMetadata(packageName, packageJson, source,
|
|
|
747
766
|
issues: [...issues],
|
|
748
767
|
},
|
|
749
768
|
registration: "not-required",
|
|
769
|
+
registrationSources: [],
|
|
750
770
|
requiredEnv: emptyRequirement(),
|
|
751
771
|
requiredTables: emptyRequirement(),
|
|
752
772
|
appPorts: emptyAppPorts(),
|
|
@@ -765,6 +785,14 @@ function registrationAudit(tokens, severity, providerEntries) {
|
|
|
765
785
|
return "optional-missing";
|
|
766
786
|
return "not-required";
|
|
767
787
|
}
|
|
788
|
+
function registrationSourcesForTokens(tokens, entries) {
|
|
789
|
+
const sources = entries
|
|
790
|
+
.filter((entry) => tokens.some((token) => entry.searchableText.some((text) => text.includes(token))))
|
|
791
|
+
.map((entry) => entry.source);
|
|
792
|
+
return sources.filter((source, index) => sources.findIndex((candidate) => candidate.file === source.file &&
|
|
793
|
+
candidate.line === source.line &&
|
|
794
|
+
candidate.column === source.column) === index);
|
|
795
|
+
}
|
|
768
796
|
function variantRegistrationAudit(variants, detectedVariants) {
|
|
769
797
|
if (detectedVariants.length > 0)
|
|
770
798
|
return "registered";
|
|
@@ -924,18 +952,20 @@ export function serverProviderFiles(files, config) {
|
|
|
924
952
|
const candidates = [`${serverDir}/providers.ts`, config.paths.server];
|
|
925
953
|
return candidates.filter((file) => files.includes(file));
|
|
926
954
|
}
|
|
927
|
-
function
|
|
955
|
+
function extractProviderLists(source) {
|
|
928
956
|
const listMatches = [
|
|
929
957
|
...source.matchAll(/\bproviders\s*=\s*\[([\s\S]*?)\]\s*(?:;|as const)/g),
|
|
930
958
|
...source.matchAll(/\bproviders\s*:\s*\[([\s\S]*?)\]/g),
|
|
931
|
-
];
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
959
|
+
].sort((left, right) => (left.index ?? 0) - (right.index ?? 0));
|
|
960
|
+
return listMatches.map((match) => ({
|
|
961
|
+
source: match[1] ?? "",
|
|
962
|
+
start: (match.index ?? 0) + match[0].indexOf("[") + 1,
|
|
963
|
+
}));
|
|
935
964
|
}
|
|
936
965
|
function providerListEntries(source) {
|
|
937
966
|
const entries = [];
|
|
938
967
|
let current = "";
|
|
968
|
+
let currentStart;
|
|
939
969
|
let depth = 0;
|
|
940
970
|
let quote;
|
|
941
971
|
let escaped = false;
|
|
@@ -959,6 +989,9 @@ function providerListEntries(source) {
|
|
|
959
989
|
continue;
|
|
960
990
|
}
|
|
961
991
|
if (quote) {
|
|
992
|
+
if (currentStart === undefined && !/\s/.test(char)) {
|
|
993
|
+
currentStart = index;
|
|
994
|
+
}
|
|
962
995
|
current += char;
|
|
963
996
|
if (escaped) {
|
|
964
997
|
escaped = false;
|
|
@@ -985,9 +1018,13 @@ function providerListEntries(source) {
|
|
|
985
1018
|
}
|
|
986
1019
|
if (char === '"' || char === "'" || char === "`") {
|
|
987
1020
|
quote = char;
|
|
1021
|
+
currentStart ??= index;
|
|
988
1022
|
current += char;
|
|
989
1023
|
continue;
|
|
990
1024
|
}
|
|
1025
|
+
if (currentStart === undefined && !/\s/.test(char)) {
|
|
1026
|
+
currentStart = index;
|
|
1027
|
+
}
|
|
991
1028
|
if (char === "(" || char === "[" || char === "{") {
|
|
992
1029
|
depth += 1;
|
|
993
1030
|
}
|
|
@@ -997,17 +1034,28 @@ function providerListEntries(source) {
|
|
|
997
1034
|
if (char === "," && depth === 0) {
|
|
998
1035
|
const entry = current.trim();
|
|
999
1036
|
if (entry)
|
|
1000
|
-
entries.push(entry);
|
|
1037
|
+
entries.push({ source: entry, start: currentStart ?? index });
|
|
1001
1038
|
current = "";
|
|
1039
|
+
currentStart = undefined;
|
|
1002
1040
|
continue;
|
|
1003
1041
|
}
|
|
1004
1042
|
current += char;
|
|
1005
1043
|
}
|
|
1006
1044
|
const entry = current.trim();
|
|
1007
|
-
if (entry)
|
|
1008
|
-
entries.push(entry);
|
|
1045
|
+
if (entry) {
|
|
1046
|
+
entries.push({ source: entry, start: currentStart ?? source.length });
|
|
1047
|
+
}
|
|
1009
1048
|
return entries;
|
|
1010
1049
|
}
|
|
1050
|
+
function sourceLocation(file, source, index) {
|
|
1051
|
+
const prefix = source.slice(0, index);
|
|
1052
|
+
const lastNewline = prefix.lastIndexOf("\n");
|
|
1053
|
+
return {
|
|
1054
|
+
file,
|
|
1055
|
+
line: prefix.split("\n").length,
|
|
1056
|
+
column: index - lastNewline,
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1011
1059
|
function metadataSourcePath(targetDir, file) {
|
|
1012
1060
|
const targetRelative = normalizePath(path.relative(targetDir, file));
|
|
1013
1061
|
if (!targetRelative.startsWith("../"))
|