@justmpm/deps-consult 1.0.0
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/README.md +227 -0
- package/build/cache/package-cache.d.ts +39 -0
- package/build/cache/package-cache.d.ts.map +1 -0
- package/build/cache/package-cache.js +90 -0
- package/build/cache/package-cache.js.map +1 -0
- package/build/extractors/api-extractor.d.ts +6 -0
- package/build/extractors/api-extractor.d.ts.map +1 -0
- package/build/extractors/api-extractor.js +191 -0
- package/build/extractors/api-extractor.js.map +1 -0
- package/build/extractors/examples-extractor.d.ts +16 -0
- package/build/extractors/examples-extractor.d.ts.map +1 -0
- package/build/extractors/examples-extractor.js +224 -0
- package/build/extractors/examples-extractor.js.map +1 -0
- package/build/extractors/jsdoc-extractor.d.ts +11 -0
- package/build/extractors/jsdoc-extractor.d.ts.map +1 -0
- package/build/extractors/jsdoc-extractor.js +115 -0
- package/build/extractors/jsdoc-extractor.js.map +1 -0
- package/build/extractors/readme-extractor.d.ts +6 -0
- package/build/extractors/readme-extractor.d.ts.map +1 -0
- package/build/extractors/readme-extractor.js +138 -0
- package/build/extractors/readme-extractor.js.map +1 -0
- package/build/formatters/markdown-formatter.d.ts +12 -0
- package/build/formatters/markdown-formatter.d.ts.map +1 -0
- package/build/formatters/markdown-formatter.js +251 -0
- package/build/formatters/markdown-formatter.js.map +1 -0
- package/build/index.d.ts +12 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +226 -0
- package/build/index.js.map +1 -0
- package/build/pipeline.d.ts +31 -0
- package/build/pipeline.d.ts.map +1 -0
- package/build/pipeline.js +203 -0
- package/build/pipeline.js.map +1 -0
- package/build/resolvers/exports-resolver.d.ts +12 -0
- package/build/resolvers/exports-resolver.d.ts.map +1 -0
- package/build/resolvers/exports-resolver.js +235 -0
- package/build/resolvers/exports-resolver.js.map +1 -0
- package/build/resolvers/package-resolver.d.ts +25 -0
- package/build/resolvers/package-resolver.d.ts.map +1 -0
- package/build/resolvers/package-resolver.js +189 -0
- package/build/resolvers/package-resolver.js.map +1 -0
- package/build/resolvers/types-resolver.d.ts +19 -0
- package/build/resolvers/types-resolver.d.ts.map +1 -0
- package/build/resolvers/types-resolver.js +155 -0
- package/build/resolvers/types-resolver.js.map +1 -0
- package/build/schemas/package-json.schema.d.ts +81 -0
- package/build/schemas/package-json.schema.d.ts.map +1 -0
- package/build/schemas/package-json.schema.js +91 -0
- package/build/schemas/package-json.schema.js.map +1 -0
- package/build/test.d.ts +6 -0
- package/build/test.d.ts.map +1 -0
- package/build/test.js.map +1 -0
- package/build/types/index.d.ts +117 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/index.js +14 -0
- package/build/types/index.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve o diretório de um pacote no node_modules.
|
|
3
|
+
* Suporta pacotes scoped (@org/pkg), subpaths, workspaces e symlinks.
|
|
4
|
+
*/
|
|
5
|
+
import { readFile, stat, realpath } from 'node:fs/promises';
|
|
6
|
+
import { existsSync } from 'node:fs';
|
|
7
|
+
import { join, dirname } from 'node:path';
|
|
8
|
+
import { createRequire } from 'node:module';
|
|
9
|
+
import { PackageJsonSchema } from '../schemas/package-json.schema.js';
|
|
10
|
+
/**
|
|
11
|
+
* Cria um require resolver no contexto do projeto do usuário.
|
|
12
|
+
*/
|
|
13
|
+
function createProjectResolver(projectDir) {
|
|
14
|
+
// Precisa de um arquivo .js dentro do projectDir para o createRequire
|
|
15
|
+
const proxyFile = join(projectDir, 'package.json');
|
|
16
|
+
return createRequire(proxyFile);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolve o diretório de um pacote instalado.
|
|
20
|
+
*/
|
|
21
|
+
export async function resolvePackage(packageName, projectDir) {
|
|
22
|
+
const projectResolve = createProjectResolver(projectDir);
|
|
23
|
+
const nodeModulesDir = join(projectDir, 'node_modules');
|
|
24
|
+
let packageDir;
|
|
25
|
+
// Abordagem 1: require.resolve para encontrar o entry point
|
|
26
|
+
try {
|
|
27
|
+
const entryPath = projectResolve.resolve(packageName);
|
|
28
|
+
packageDir = findPackageDirFromPath(entryPath, nodeModulesDir);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Fallback: caminho manual
|
|
32
|
+
}
|
|
33
|
+
// Abordagem 2: Construir caminho manualmente no node_modules
|
|
34
|
+
if (!packageDir || !existsSync(join(packageDir, 'package.json'))) {
|
|
35
|
+
const segments = packageName.split('/');
|
|
36
|
+
const manualDir = join(nodeModulesDir, ...segments);
|
|
37
|
+
if (existsSync(join(manualDir, 'package.json'))) {
|
|
38
|
+
packageDir = manualDir;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error(`Pacote '${packageName}' não encontrado no node_modules de '${projectDir}'. ` +
|
|
42
|
+
`Verifique se o pacote está instalado.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Resolver symlinks (importante para monorepos com workspaces)
|
|
46
|
+
try {
|
|
47
|
+
const realDir = await realpath(packageDir);
|
|
48
|
+
packageDir = realDir;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Se não conseguir resolver symlink, usa o caminho original
|
|
52
|
+
}
|
|
53
|
+
// Ler e validar package.json
|
|
54
|
+
const pkgJsonPath = join(packageDir, 'package.json');
|
|
55
|
+
const pkgJsonContent = await readFile(pkgJsonPath, 'utf-8');
|
|
56
|
+
let packageJson;
|
|
57
|
+
try {
|
|
58
|
+
const raw = JSON.parse(pkgJsonContent);
|
|
59
|
+
const parsed = PackageJsonSchema.safeParse(raw);
|
|
60
|
+
packageJson = parsed.success ? parsed.data : raw;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
throw new Error(`package.json do pacote '${packageName}' está malformado.`);
|
|
64
|
+
}
|
|
65
|
+
if (!packageJson.name) {
|
|
66
|
+
packageJson.name = packageName;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
packageDir,
|
|
70
|
+
packageJson,
|
|
71
|
+
nodeModulesDir,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Lista todos os pacotes instalados no node_modules do projeto.
|
|
76
|
+
*/
|
|
77
|
+
export async function listInstalledPackages(projectDir) {
|
|
78
|
+
const nodeModulesDir = join(projectDir, 'node_modules');
|
|
79
|
+
const packages = [];
|
|
80
|
+
if (!existsSync(nodeModulesDir)) {
|
|
81
|
+
return packages;
|
|
82
|
+
}
|
|
83
|
+
const { readdir } = await import('node:fs/promises');
|
|
84
|
+
const entries = await readdir(nodeModulesDir, { withFileTypes: true });
|
|
85
|
+
for (const entry of entries) {
|
|
86
|
+
if (!entry.isDirectory())
|
|
87
|
+
continue;
|
|
88
|
+
if (entry.name.startsWith('@')) {
|
|
89
|
+
const scopeDir = join(nodeModulesDir, entry.name);
|
|
90
|
+
try {
|
|
91
|
+
const scopeEntries = await readdir(scopeDir, { withFileTypes: true });
|
|
92
|
+
for (const subEntry of scopeEntries) {
|
|
93
|
+
if (!subEntry.isDirectory())
|
|
94
|
+
continue;
|
|
95
|
+
const pkgName = `${entry.name}/${subEntry.name}`;
|
|
96
|
+
const version = await readPackageVersion(join(scopeDir, subEntry.name));
|
|
97
|
+
packages.push({ name: pkgName, version });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// Sem permissão
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if (!entry.name.startsWith('.')) {
|
|
105
|
+
const version = await readPackageVersion(join(nodeModulesDir, entry.name));
|
|
106
|
+
packages.push({ name: entry.name, version });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return packages;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Calcula o tamanho no disco de um diretório de pacote.
|
|
113
|
+
*/
|
|
114
|
+
export async function computePackageSize(packageDir) {
|
|
115
|
+
let totalSize = 0;
|
|
116
|
+
try {
|
|
117
|
+
const { readdir } = await import('node:fs/promises');
|
|
118
|
+
async function walk(dir) {
|
|
119
|
+
const entries = await readdir(dir, { withFileTypes: true });
|
|
120
|
+
for (const entry of entries) {
|
|
121
|
+
const fullPath = join(dir, entry.name);
|
|
122
|
+
if (entry.isDirectory() && entry.name !== 'node_modules') {
|
|
123
|
+
await walk(fullPath);
|
|
124
|
+
}
|
|
125
|
+
else if (entry.isFile()) {
|
|
126
|
+
try {
|
|
127
|
+
const fileStat = await stat(fullPath);
|
|
128
|
+
totalSize += fileStat.size;
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Arquivo deletado
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
await walk(packageDir);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Diretório inacessível
|
|
140
|
+
}
|
|
141
|
+
return totalSize;
|
|
142
|
+
}
|
|
143
|
+
// ─────────────────────────────────────────
|
|
144
|
+
// Helpers
|
|
145
|
+
// ─────────────────────────────────────────
|
|
146
|
+
/**
|
|
147
|
+
* Encontra o diretório raiz do pacote a partir de um arquivo resolvido.
|
|
148
|
+
* Para @scope/pkg, sobe até node_modules/@scope/pkg/.
|
|
149
|
+
*/
|
|
150
|
+
function findPackageDirFromPath(resolvedPath, nodeModulesDir) {
|
|
151
|
+
const normalizedPath = resolvedPath.replace(/\\/g, '/');
|
|
152
|
+
const nmIndex = normalizedPath.indexOf('/node_modules/');
|
|
153
|
+
if (nmIndex === -1)
|
|
154
|
+
return dirname(resolvedPath);
|
|
155
|
+
// Pega tudo após /node_modules/
|
|
156
|
+
const afterNm = normalizedPath.substring(nmIndex + '/node_modules/'.length);
|
|
157
|
+
// Para @scope/pkg/subpath, pega @scope/pkg
|
|
158
|
+
const segments = afterNm.split('/');
|
|
159
|
+
let pkgSegments;
|
|
160
|
+
if (segments[0]?.startsWith('@')) {
|
|
161
|
+
// Scoped: @scope/pkg
|
|
162
|
+
pkgSegments = segments.slice(0, 2);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// Normal: pkg
|
|
166
|
+
pkgSegments = segments.slice(0, 1);
|
|
167
|
+
}
|
|
168
|
+
const packageDir = join(nodeModulesDir, ...pkgSegments);
|
|
169
|
+
// Verificar se tem package.json
|
|
170
|
+
if (existsSync(join(packageDir, 'package.json'))) {
|
|
171
|
+
return packageDir;
|
|
172
|
+
}
|
|
173
|
+
// Fallback: dirname do arquivo
|
|
174
|
+
return dirname(resolvedPath);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Lê a versão do package.json de um diretório.
|
|
178
|
+
*/
|
|
179
|
+
async function readPackageVersion(dir) {
|
|
180
|
+
try {
|
|
181
|
+
const content = await readFile(join(dir, 'package.json'), 'utf-8');
|
|
182
|
+
const pkg = JSON.parse(content);
|
|
183
|
+
return pkg.version;
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=package-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-resolver.js","sourceRoot":"","sources":["../../src/resolvers/package-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PackageJsonData } from '../schemas/package-json.schema.js';
|
|
2
|
+
import type { ResolvedEntrypoint } from '../types/index.js';
|
|
3
|
+
export interface TypesResolution {
|
|
4
|
+
/** Arquivos .d.ts encontrados para o entry point solicitado */
|
|
5
|
+
typeFiles: ReadonlyArray<string>;
|
|
6
|
+
/** Se conseguiu encontrar tipos */
|
|
7
|
+
hasTypes: boolean;
|
|
8
|
+
/** Origem dos tipos */
|
|
9
|
+
source: 'exports' | 'package-json' | 'at-types' | 'source-ts' | 'inferred' | 'none';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Resolve todos os arquivos de tipos para um entry point específico.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveTypes(packageDir: string, packageJson: PackageJsonData, entrypoint?: ResolvedEntrypoint): TypesResolution;
|
|
15
|
+
/**
|
|
16
|
+
* Coleta TODOS os arquivos de tipos de TODOS os entry points.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveAllTypeFiles(packageDir: string, packageJson: PackageJsonData): ReadonlyArray<string>;
|
|
19
|
+
//# sourceMappingURL=types-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-resolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/types-resolver.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB;IACvB,MAAM,EAAE,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;CACrF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,eAAe,EAC5B,UAAU,CAAC,EAAE,kBAAkB,GAC9B,eAAe,CAoDjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,eAAe,GAC3B,aAAa,CAAC,MAAM,CAAC,CAUvB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve arquivos de tipos (.d.ts) de um pacote.
|
|
3
|
+
* Segue a ordem: exports.types > package.json types > @types/* > source .ts
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync } from 'node:fs';
|
|
6
|
+
import { join, resolve, dirname } from 'node:path';
|
|
7
|
+
import { compact, uniq } from 'es-toolkit';
|
|
8
|
+
import { resolveEntrypoints } from './exports-resolver.js';
|
|
9
|
+
/**
|
|
10
|
+
* Resolve todos os arquivos de tipos para um entry point específico.
|
|
11
|
+
*/
|
|
12
|
+
export function resolveTypes(packageDir, packageJson, entrypoint) {
|
|
13
|
+
const candidates = [];
|
|
14
|
+
// 1. Types do exports (já resolvidos pelo exports-resolver)
|
|
15
|
+
if (entrypoint?.typesPath) {
|
|
16
|
+
candidates.push({
|
|
17
|
+
files: [entrypoint.typesPath],
|
|
18
|
+
source: 'exports',
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
// 2. Types do package.json (campo types/typings)
|
|
22
|
+
const pkgTypesFiles = resolveFromPackageJson(packageDir, packageJson);
|
|
23
|
+
if (pkgTypesFiles.length > 0) {
|
|
24
|
+
candidates.push({ files: pkgTypesFiles, source: 'package-json' });
|
|
25
|
+
}
|
|
26
|
+
// 3. @types/<pacote>
|
|
27
|
+
const atTypesFiles = resolveFromAtTypes(packageDir, packageJson);
|
|
28
|
+
if (atTypesFiles.length > 0) {
|
|
29
|
+
candidates.push({ files: atTypesFiles, source: 'at-types' });
|
|
30
|
+
}
|
|
31
|
+
// 4. Source .ts (pacotes que distribuem source)
|
|
32
|
+
const sourceFiles = resolveFromSourceTs(packageDir, packageJson);
|
|
33
|
+
if (sourceFiles.length > 0) {
|
|
34
|
+
candidates.push({ files: sourceFiles, source: 'source-ts' });
|
|
35
|
+
}
|
|
36
|
+
// 5. Inferir do JS (tentar index.d.ts, etc)
|
|
37
|
+
const inferredFiles = resolveByInference(packageDir, packageJson);
|
|
38
|
+
if (inferredFiles.length > 0) {
|
|
39
|
+
candidates.push({ files: inferredFiles, source: 'inferred' });
|
|
40
|
+
}
|
|
41
|
+
// Retornar o primeiro que tiver resultados
|
|
42
|
+
for (const candidate of candidates) {
|
|
43
|
+
const existing = candidate.files.filter(f => existsSync(f));
|
|
44
|
+
if (existing.length > 0) {
|
|
45
|
+
return {
|
|
46
|
+
typeFiles: uniq(existing),
|
|
47
|
+
hasTypes: true,
|
|
48
|
+
source: candidate.source,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
typeFiles: [],
|
|
54
|
+
hasTypes: false,
|
|
55
|
+
source: 'none',
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Coleta TODOS os arquivos de tipos de TODOS os entry points.
|
|
60
|
+
*/
|
|
61
|
+
export function resolveAllTypeFiles(packageDir, packageJson) {
|
|
62
|
+
const entrypoints = resolveEntrypoints(packageDir, packageJson);
|
|
63
|
+
const allFiles = [];
|
|
64
|
+
for (const ep of entrypoints) {
|
|
65
|
+
const typesRes = resolveTypes(packageDir, packageJson, ep);
|
|
66
|
+
allFiles.push(...typesRes.typeFiles);
|
|
67
|
+
}
|
|
68
|
+
return uniq(compact(allFiles));
|
|
69
|
+
}
|
|
70
|
+
// ─────────────────────────────────────────
|
|
71
|
+
// Estratégias de resolução
|
|
72
|
+
// ─────────────────────────────────────────
|
|
73
|
+
function resolveFromPackageJson(packageDir, pkgJson) {
|
|
74
|
+
const candidates = [];
|
|
75
|
+
if (pkgJson.types) {
|
|
76
|
+
candidates.push(resolve(packageDir, pkgJson.types));
|
|
77
|
+
}
|
|
78
|
+
if (pkgJson.typings && !pkgJson.types) {
|
|
79
|
+
candidates.push(resolve(packageDir, pkgJson.typings));
|
|
80
|
+
}
|
|
81
|
+
return candidates.filter(existsSync);
|
|
82
|
+
}
|
|
83
|
+
function resolveFromAtTypes(packageDir, pkgJson) {
|
|
84
|
+
const pkgName = pkgJson.name;
|
|
85
|
+
if (!pkgName)
|
|
86
|
+
return [];
|
|
87
|
+
// @types/ para pacotes não-scoped
|
|
88
|
+
// @types/scope__pkg para pacotes scoped (@org/pkg -> @types/org__pkg)
|
|
89
|
+
let typesPkgName;
|
|
90
|
+
if (pkgName.startsWith('@')) {
|
|
91
|
+
const [scope, name] = pkgName.split('/');
|
|
92
|
+
typesPkgName = `@types/${scope.slice(1)}__${name}`;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
typesPkgName = `@types/${pkgName}`;
|
|
96
|
+
}
|
|
97
|
+
// Buscar no node_modules pai (node_modules/@types/...)
|
|
98
|
+
// packageDir é algo como .../node_modules/pkg ou .../node_modules/@scope/pkg
|
|
99
|
+
const nodeModulesDir = packageDir.includes('node_modules')
|
|
100
|
+
? packageDir.substring(0, packageDir.lastIndexOf('node_modules')) + 'node_modules'
|
|
101
|
+
: join(dirname(packageDir), 'node_modules');
|
|
102
|
+
const typesDir = join(nodeModulesDir, ...typesPkgName.split('/'));
|
|
103
|
+
const typesPkgJsonPath = join(typesDir, 'package.json');
|
|
104
|
+
if (!existsSync(typesPkgJsonPath))
|
|
105
|
+
return [];
|
|
106
|
+
try {
|
|
107
|
+
const content = require('node:fs').readFileSync(typesPkgJsonPath, 'utf-8');
|
|
108
|
+
const typesPkg = JSON.parse(content);
|
|
109
|
+
const indexFile = typesPkg.types || typesPkg.typings || typesPkg.main || 'index.d.ts';
|
|
110
|
+
const fullPath = resolve(typesDir, indexFile);
|
|
111
|
+
return existsSync(fullPath) ? [fullPath] : [];
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function resolveFromSourceTs(packageDir, pkgJson) {
|
|
118
|
+
const candidates = [];
|
|
119
|
+
// Se o main aponta para .ts, o pacote distribui source
|
|
120
|
+
if (pkgJson.main?.endsWith('.ts')) {
|
|
121
|
+
candidates.push(resolve(packageDir, pkgJson.main));
|
|
122
|
+
}
|
|
123
|
+
// Se o exports aponta para .ts
|
|
124
|
+
if (pkgJson.exports && typeof pkgJson.exports === 'object') {
|
|
125
|
+
for (const [, value] of Object.entries(pkgJson.exports)) {
|
|
126
|
+
if (typeof value === 'string' && value.endsWith('.ts')) {
|
|
127
|
+
candidates.push(resolve(packageDir, value));
|
|
128
|
+
}
|
|
129
|
+
if (typeof value === 'object' && value !== null) {
|
|
130
|
+
for (const [, v] of Object.entries(value)) {
|
|
131
|
+
if (typeof v === 'string' && v.endsWith('.ts')) {
|
|
132
|
+
candidates.push(resolve(packageDir, v));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return candidates.filter(existsSync);
|
|
139
|
+
}
|
|
140
|
+
function resolveByInference(packageDir, pkgJson) {
|
|
141
|
+
const candidates = [];
|
|
142
|
+
// Tentar index.d.ts na raiz
|
|
143
|
+
candidates.push(join(packageDir, 'index.d.ts'));
|
|
144
|
+
// Tentar dist/index.d.ts
|
|
145
|
+
candidates.push(join(packageDir, 'dist', 'index.d.ts'));
|
|
146
|
+
// Tentar baseado no main
|
|
147
|
+
if (pkgJson.main) {
|
|
148
|
+
const mainDir = dirname(pkgJson.main);
|
|
149
|
+
const mainBase = pkgJson.main.replace(/\.\w+$/, '.d.ts');
|
|
150
|
+
candidates.push(resolve(packageDir, mainBase));
|
|
151
|
+
candidates.push(resolve(packageDir, mainDir, 'index.d.ts'));
|
|
152
|
+
}
|
|
153
|
+
return candidates.filter(existsSync);
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=types-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-resolver.js","sourceRoot":"","sources":["../../src/resolvers/types-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Zod v4 para validar o package.json de pacotes instalados.
|
|
3
|
+
* Lida com todas as variações possíveis de formato.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
export declare const PackageJsonSchema: z.ZodObject<{
|
|
7
|
+
name: z.ZodOptional<z.ZodString>;
|
|
8
|
+
version: z.ZodOptional<z.ZodString>;
|
|
9
|
+
description: z.ZodOptional<z.ZodString>;
|
|
10
|
+
license: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
11
|
+
type: z.ZodString;
|
|
12
|
+
}, z.core.$strip>]>>;
|
|
13
|
+
main: z.ZodOptional<z.ZodString>;
|
|
14
|
+
module: z.ZodOptional<z.ZodString>;
|
|
15
|
+
browser: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
|
|
16
|
+
types: z.ZodOptional<z.ZodString>;
|
|
17
|
+
typings: z.ZodOptional<z.ZodString>;
|
|
18
|
+
exports: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodType<string | Record<string, unknown>, unknown, z.core.$ZodTypeInternals<string | Record<string, unknown>, unknown>>>]>]>>]>>;
|
|
19
|
+
typesVersions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
|
|
20
|
+
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
21
|
+
peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
22
|
+
devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
23
|
+
optionalDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
24
|
+
files: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
25
|
+
include: z.ZodArray<z.ZodString>;
|
|
26
|
+
exclude: z.ZodArray<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>]>>>;
|
|
28
|
+
sideEffects: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
|
|
29
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"module">, z.ZodLiteral<"commonjs">]>>;
|
|
30
|
+
bin: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
|
|
31
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
homepage: z.ZodOptional<z.ZodString>;
|
|
33
|
+
repository: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
34
|
+
url: z.ZodOptional<z.ZodString>;
|
|
35
|
+
type: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, z.core.$strip>]>>;
|
|
37
|
+
}, z.core.$loose>;
|
|
38
|
+
export type PackageJsonData = z.infer<typeof PackageJsonSchema>;
|
|
39
|
+
export declare const DepsInfoInputSchema: {
|
|
40
|
+
package: z.ZodString;
|
|
41
|
+
projectDir: z.ZodOptional<z.ZodString>;
|
|
42
|
+
};
|
|
43
|
+
export declare const DepsApiInputSchema: {
|
|
44
|
+
package: z.ZodString;
|
|
45
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
46
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
47
|
+
types: "types";
|
|
48
|
+
all: "all";
|
|
49
|
+
functions: "functions";
|
|
50
|
+
classes: "classes";
|
|
51
|
+
interfaces: "interfaces";
|
|
52
|
+
enums: "enums";
|
|
53
|
+
variables: "variables";
|
|
54
|
+
}>>;
|
|
55
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
};
|
|
57
|
+
export declare const DepsSearchInputSchema: {
|
|
58
|
+
package: z.ZodString;
|
|
59
|
+
query: z.ZodString;
|
|
60
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
61
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
62
|
+
types: "types";
|
|
63
|
+
all: "all";
|
|
64
|
+
functions: "functions";
|
|
65
|
+
classes: "classes";
|
|
66
|
+
interfaces: "interfaces";
|
|
67
|
+
enums: "enums";
|
|
68
|
+
variables: "variables";
|
|
69
|
+
}>>;
|
|
70
|
+
};
|
|
71
|
+
export declare const DepsUsageInputSchema: {
|
|
72
|
+
package: z.ZodString;
|
|
73
|
+
symbol: z.ZodString;
|
|
74
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
75
|
+
};
|
|
76
|
+
export declare const DepsExamplesInputSchema: {
|
|
77
|
+
package: z.ZodString;
|
|
78
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
79
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=package-json.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/package-json.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2Cd,CAAC;AAEjB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMhE,eAAO,MAAM,mBAAmB;;;CAG/B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAO9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAMjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;CAInC,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Zod v4 para validar o package.json de pacotes instalados.
|
|
3
|
+
* Lida com todas as variações possíveis de formato.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
// ─────────────────────────────────────────
|
|
7
|
+
// Exports condicional (pode ser profundamente aninhado)
|
|
8
|
+
// ─────────────────────────────────────────
|
|
9
|
+
const ExportTargetSchema = z.union([
|
|
10
|
+
z.string(),
|
|
11
|
+
z.record(z.string(), z.unknown()),
|
|
12
|
+
]);
|
|
13
|
+
const ConditionalExportsSchema = z.union([
|
|
14
|
+
z.string(),
|
|
15
|
+
z.record(z.string(), ExportTargetSchema),
|
|
16
|
+
]);
|
|
17
|
+
const ExportsSchema = z.union([
|
|
18
|
+
z.string(),
|
|
19
|
+
z.null(),
|
|
20
|
+
z.record(z.string(), z.union([z.string(), ConditionalExportsSchema])),
|
|
21
|
+
]);
|
|
22
|
+
// ─────────────────────────────────────────
|
|
23
|
+
// Schema principal do package.json
|
|
24
|
+
// ─────────────────────────────────────────
|
|
25
|
+
export const PackageJsonSchema = z.object({
|
|
26
|
+
name: z.string().optional(),
|
|
27
|
+
version: z.string().optional(),
|
|
28
|
+
description: z.string().optional(),
|
|
29
|
+
license: z.union([z.string(), z.object({ type: z.string() })]).optional(),
|
|
30
|
+
// Entry points clássicos
|
|
31
|
+
main: z.string().optional(),
|
|
32
|
+
module: z.string().optional(),
|
|
33
|
+
browser: z.union([z.string(), z.record(z.string(), z.string())]).optional(),
|
|
34
|
+
// Tipos
|
|
35
|
+
types: z.string().optional(),
|
|
36
|
+
typings: z.string().optional(),
|
|
37
|
+
// Exports modernos
|
|
38
|
+
exports: ExportsSchema.optional(),
|
|
39
|
+
// Types versions (para múltiplas versões de TS)
|
|
40
|
+
typesVersions: z.record(z.string(), z.record(z.string(), z.array(z.string()))).optional(),
|
|
41
|
+
// Dependências
|
|
42
|
+
dependencies: z.record(z.string(), z.string()).optional(),
|
|
43
|
+
peerDependencies: z.record(z.string(), z.string()).optional(),
|
|
44
|
+
devDependencies: z.record(z.string(), z.string()).optional(),
|
|
45
|
+
optionalDependencies: z.record(z.string(), z.string()).optional(),
|
|
46
|
+
// Files incluídos no pacote
|
|
47
|
+
files: z.array(z.union([z.string(), z.object({ include: z.array(z.string()), exclude: z.array(z.string()) })])).optional(),
|
|
48
|
+
// Side effects
|
|
49
|
+
sideEffects: z.union([z.boolean(), z.array(z.string())]).optional(),
|
|
50
|
+
// Type (module/commonjs)
|
|
51
|
+
type: z.union([z.literal('module'), z.literal('commonjs')]).optional(),
|
|
52
|
+
// Bin
|
|
53
|
+
bin: z.union([z.string(), z.record(z.string(), z.string())]).optional(),
|
|
54
|
+
// Keywords e homepage
|
|
55
|
+
keywords: z.array(z.string()).optional(),
|
|
56
|
+
homepage: z.string().optional(),
|
|
57
|
+
repository: z.union([z.string(), z.object({ url: z.string().optional(), type: z.string().optional() })]).optional(),
|
|
58
|
+
}).passthrough(); // Permite campos extras não mapeados
|
|
59
|
+
// ─────────────────────────────────────────
|
|
60
|
+
// Input schemas das tools MCP
|
|
61
|
+
// ─────────────────────────────────────────
|
|
62
|
+
export const DepsInfoInputSchema = {
|
|
63
|
+
package: z.string().describe('Nome do pacote (ex: zod, @mui/material, react)'),
|
|
64
|
+
projectDir: z.string().optional().describe('Diretório raiz do projeto. Default: process.cwd()'),
|
|
65
|
+
};
|
|
66
|
+
export const DepsApiInputSchema = {
|
|
67
|
+
package: z.string().describe('Nome do pacote'),
|
|
68
|
+
entrypoint: z.string().optional().describe('Subpath do entry point (ex: "hooks", "utils"). Default: entry principal'),
|
|
69
|
+
kind: z.enum(['all', 'functions', 'classes', 'interfaces', 'types', 'enums', 'variables']).optional()
|
|
70
|
+
.describe('Filtrar por tipo de símbolo. Default: all'),
|
|
71
|
+
limit: z.number().min(1).max(200).optional()
|
|
72
|
+
.describe('Máximo de símbolos por categoria. Default: 50'),
|
|
73
|
+
};
|
|
74
|
+
export const DepsSearchInputSchema = {
|
|
75
|
+
package: z.string().describe('Nome do pacote'),
|
|
76
|
+
query: z.string().describe('Termo de busca (suporta wildcards: Button, Button*, *Button*)'),
|
|
77
|
+
entrypoint: z.string().optional().describe('Subpath para limitar a busca'),
|
|
78
|
+
kind: z.enum(['all', 'functions', 'classes', 'interfaces', 'types', 'enums', 'variables']).optional()
|
|
79
|
+
.describe('Filtrar por tipo. Default: all'),
|
|
80
|
+
};
|
|
81
|
+
export const DepsUsageInputSchema = {
|
|
82
|
+
package: z.string().describe('Nome do pacote'),
|
|
83
|
+
symbol: z.string().describe('Nome exato do símbolo (ex: generateContent, Button, useAuth)'),
|
|
84
|
+
entrypoint: z.string().optional().describe('Subpath onde o símbolo está'),
|
|
85
|
+
};
|
|
86
|
+
export const DepsExamplesInputSchema = {
|
|
87
|
+
package: z.string().describe('Nome do pacote'),
|
|
88
|
+
symbol: z.string().optional().describe('Símbolo específico. Default: exemplos gerais do pacote'),
|
|
89
|
+
entrypoint: z.string().optional().describe('Subpath'),
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=package-json.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json.schema.js","sourceRoot":"","sources":["../../src/schemas/package-json.schema.ts"],"names":[],"mappings":"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"}
|
package/build/test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|