@vibgrate/cli 2026.807.1 → 2026.813.1
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/dist/{agent-K3J6EHLI.js → agent-N3CP3SPI.js} +10 -10
- package/dist/{agent-K3J6EHLI.js.map → agent-N3CP3SPI.js.map} +1 -1
- package/dist/baseline-ZMRZRGFI.js +9 -0
- package/dist/{baseline-IAFWF2ET.js.map → baseline-ZMRZRGFI.js.map} +1 -1
- package/dist/{chunk-5ESL76CM.js → chunk-3WUTQYRY.js} +7 -7
- package/dist/{chunk-5ESL76CM.js.map → chunk-3WUTQYRY.js.map} +1 -1
- package/dist/{chunk-NWX4VUFS.js → chunk-5JJBGBP2.js} +8 -8
- package/dist/{chunk-NWX4VUFS.js.map → chunk-5JJBGBP2.js.map} +1 -1
- package/dist/{chunk-Y4JO6LYP.js → chunk-5ROZODMW.js} +302 -11
- package/dist/chunk-5ROZODMW.js.map +1 -0
- package/dist/{chunk-G4KO5W6H.js → chunk-6423BHLN.js} +7 -7
- package/dist/{chunk-G4KO5W6H.js.map → chunk-6423BHLN.js.map} +1 -1
- package/dist/{chunk-GQ2EQXBG.js → chunk-6GQLEDVK.js} +5 -5
- package/dist/{chunk-GQ2EQXBG.js.map → chunk-6GQLEDVK.js.map} +1 -1
- package/dist/{chunk-JFCCJWXD.js → chunk-7ZHSSGUF.js} +3 -3
- package/dist/{chunk-JFCCJWXD.js.map → chunk-7ZHSSGUF.js.map} +1 -1
- package/dist/{chunk-FOKURZL3.js → chunk-CJNWHXQD.js} +12 -10
- package/dist/chunk-CJNWHXQD.js.map +1 -0
- package/dist/{chunk-2M6B5V2U.js → chunk-EWZKOU66.js} +3 -3
- package/dist/{chunk-2M6B5V2U.js.map → chunk-EWZKOU66.js.map} +1 -1
- package/dist/{chunk-EJUMV5HU.js → chunk-FBVKQXBH.js} +3 -3
- package/dist/{chunk-EJUMV5HU.js.map → chunk-FBVKQXBH.js.map} +1 -1
- package/dist/{chunk-EXOYSXH6.js → chunk-GOPANQZT.js} +3 -3
- package/dist/{chunk-EXOYSXH6.js.map → chunk-GOPANQZT.js.map} +1 -1
- package/dist/{chunk-VNAOFA6X.js → chunk-IJQOZ6ZD.js} +8 -8
- package/dist/{chunk-VNAOFA6X.js.map → chunk-IJQOZ6ZD.js.map} +1 -1
- package/dist/{chunk-2HAJCW7Z.js → chunk-JYM4QT6F.js} +4 -4
- package/dist/{chunk-2HAJCW7Z.js.map → chunk-JYM4QT6F.js.map} +1 -1
- package/dist/{chunk-LS7GZBKP.js → chunk-KBP7GJV6.js} +3 -3
- package/dist/{chunk-LS7GZBKP.js.map → chunk-KBP7GJV6.js.map} +1 -1
- package/dist/{chunk-XSHGXGVJ.js → chunk-KF2QT6RY.js} +4 -4
- package/dist/{chunk-XSHGXGVJ.js.map → chunk-KF2QT6RY.js.map} +1 -1
- package/dist/{chunk-INIULQEP.js → chunk-N6ZMZ5AI.js} +11 -2
- package/dist/chunk-N6ZMZ5AI.js.map +1 -0
- package/dist/{chunk-N5EP5ZR2.js → chunk-OYHAF2J2.js} +4 -4
- package/dist/{chunk-N5EP5ZR2.js.map → chunk-OYHAF2J2.js.map} +1 -1
- package/dist/{chunk-VQVLY63G.js → chunk-RHKJPTON.js} +13 -12
- package/dist/chunk-RHKJPTON.js.map +1 -0
- package/dist/chunk-RT7P5AYU.js +6 -0
- package/dist/{chunk-ITY2NPIQ.js.map → chunk-RT7P5AYU.js.map} +1 -1
- package/dist/{chunk-QXIWQ2WG.js → chunk-UZP623Y4.js} +4 -4
- package/dist/{chunk-QXIWQ2WG.js.map → chunk-UZP623Y4.js.map} +1 -1
- package/dist/{chunk-7CYFCSY2.js → chunk-YJU7S7N6.js} +24 -6
- package/dist/chunk-YJU7S7N6.js.map +1 -0
- package/dist/{chunk-PT2XQTSK.js → chunk-Z3AYOZ3C.js} +6 -5
- package/dist/chunk-Z3AYOZ3C.js.map +1 -0
- package/dist/{chunk-KEIMMCS5.js → chunk-Z3MUWXP3.js} +4 -4
- package/dist/{chunk-KEIMMCS5.js.map → chunk-Z3MUWXP3.js.map} +1 -1
- package/dist/cli.js +93 -66
- package/dist/cli.js.map +1 -1
- package/dist/embed-worker-main.js +3 -3
- package/dist/{ensure-map-TYMYYIJE.js → ensure-map-PHAJACFF.js} +13 -13
- package/dist/{ensure-map-TYMYYIJE.js.map → ensure-map-PHAJACFF.js.map} +1 -1
- package/dist/graph-backend-4B3MTVIW.js +13 -0
- package/dist/{graph-backend-5YOWNHHG.js.map → graph-backend-4B3MTVIW.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +12 -12
- package/dist/{interactive-YEMXHGBO.js → interactive-WUXMXFNM.js} +22 -22
- package/dist/{interactive-YEMXHGBO.js.map → interactive-WUXMXFNM.js.map} +1 -1
- package/dist/load-EUZSV73H.js +9 -0
- package/dist/{load-IIWVYUN7.js.map → load-EUZSV73H.js.map} +1 -1
- package/dist/{run-outcome-2JO55QCC.js → run-outcome-O5PR7ZCK.js} +5 -5
- package/dist/{run-outcome-2JO55QCC.js.map → run-outcome-O5PR7ZCK.js.map} +1 -1
- package/dist/runtime-session-PPQDTFIK.js +20 -0
- package/dist/{runtime-session-HFKGKQV7.js.map → runtime-session-PPQDTFIK.js.map} +1 -1
- package/dist/{session-5LFX4U2E.js → session-WS7SOVJE.js} +8 -8
- package/dist/{session-5LFX4U2E.js.map → session-WS7SOVJE.js.map} +1 -1
- package/dist/{stream-json-DUCFTBUF.js → stream-json-7MK3QQYG.js} +10 -10
- package/dist/{stream-json-DUCFTBUF.js.map → stream-json-7MK3QQYG.js.map} +1 -1
- package/dist/{vg-mcp-bridge-4KPDQUFN.js → vg-mcp-bridge-DQLCHBI6.js} +9 -9
- package/dist/{vg-mcp-bridge-4KPDQUFN.js.map → vg-mcp-bridge-DQLCHBI6.js.map} +1 -1
- package/dist/{vgd-LFHQ4GWC.js → vgd-Y25XSQGZ.js} +8 -8
- package/dist/vgd-Y25XSQGZ.js.map +1 -0
- package/package.json +6 -6
- package/dist/baseline-IAFWF2ET.js +0 -9
- package/dist/chunk-7CYFCSY2.js.map +0 -1
- package/dist/chunk-FOKURZL3.js.map +0 -1
- package/dist/chunk-INIULQEP.js.map +0 -1
- package/dist/chunk-ITY2NPIQ.js +0 -6
- package/dist/chunk-PT2XQTSK.js.map +0 -1
- package/dist/chunk-VQVLY63G.js.map +0 -1
- package/dist/chunk-Y4JO6LYP.js.map +0 -1
- package/dist/graph-backend-5YOWNHHG.js +0 -13
- package/dist/load-IIWVYUN7.js +0 -9
- package/dist/runtime-session-HFKGKQV7.js +0 -20
- package/dist/vgd-LFHQ4GWC.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { runCoreScan, compactUiPurpose } from './chunk-
|
|
2
|
-
import { findPackageJsonFiles, readJsonFile, findFiles, readTextFile, pathExists } from './chunk-DT4KIVRI.js';
|
|
1
|
+
import { runCoreScan, compactUiPurpose } from './chunk-N6ZMZ5AI.js';
|
|
2
|
+
import { findPackageJsonFiles, readJsonFile, findFiles, readTextFile, pathExists, isSkippedDirName } from './chunk-DT4KIVRI.js';
|
|
3
3
|
import { writeJsonFile } from './chunk-CRAMOEBE.js';
|
|
4
4
|
import * as path3 from 'path';
|
|
5
5
|
import { Command } from 'commander';
|
|
@@ -2130,7 +2130,61 @@ var PATH_RULES = [
|
|
|
2130
2130
|
// ── Serverless-specific ──
|
|
2131
2131
|
{ pattern: /\/functions\//, layer: "routing", confidence: 0.8, signal: "functions/ directory", archetypes: ["serverless"] },
|
|
2132
2132
|
{ pattern: /\/lambdas\//, layer: "routing", confidence: 0.85, signal: "lambdas/ directory", archetypes: ["serverless"] },
|
|
2133
|
-
{ pattern: /\/layers\//, layer: "shared", confidence: 0.7, signal: "Lambda layers/ directory", archetypes: ["serverless"] }
|
|
2133
|
+
{ pattern: /\/layers\//, layer: "shared", confidence: 0.7, signal: "Lambda layers/ directory", archetypes: ["serverless"] },
|
|
2134
|
+
// ── .NET conventions ──
|
|
2135
|
+
// Directory rules above already cover Controllers/, Services/, Models/,
|
|
2136
|
+
// Views/, Migrations/, Middleware/ … because matching is case-insensitive.
|
|
2137
|
+
{ pattern: /\.tests?\//, layer: "testing", confidence: 0.9, signal: "*.Tests project directory" },
|
|
2138
|
+
// Layer-named project directories (`Company.Product.Domain/`,
|
|
2139
|
+
// `Company.Product.Database/`) — the dotted segment carries the layer.
|
|
2140
|
+
{ pattern: /\.domain\//, layer: "domain", confidence: 0.85, signal: "*.Domain project" },
|
|
2141
|
+
{ pattern: /\.(database|data|persistence)\//, layer: "data-access", confidence: 0.85, signal: "*.Database project" },
|
|
2142
|
+
{ pattern: /\.(infrastructure|infra)\//, layer: "infrastructure", confidence: 0.85, signal: "*.Infrastructure project" },
|
|
2143
|
+
{ pattern: /\.worker\//, layer: "infrastructure", confidence: 0.8, signal: "*.Worker project" },
|
|
2144
|
+
{ pattern: /\.(webapi|api)\//, layer: "routing", confidence: 0.8, signal: "*.WebApi project" },
|
|
2145
|
+
{ pattern: /\.(webapp|web|ui)\//, layer: "presentation", confidence: 0.75, signal: "*.WebApp project" },
|
|
2146
|
+
{ pattern: /\.(services?|application)\//, layer: "services", confidence: 0.8, signal: "*.Services project" },
|
|
2147
|
+
{ pattern: /\/wwwroot\//, layer: "presentation", confidence: 0.85, signal: "wwwroot/ static assets" },
|
|
2148
|
+
{ pattern: /\/properties\//, layer: "config", confidence: 0.85, signal: "Properties/ directory" },
|
|
2149
|
+
{ pattern: /\/program\.cs$/, layer: "config", confidence: 0.9, signal: "Program.cs entry point" },
|
|
2150
|
+
{ pattern: /\/startup\.cs$/, layer: "config", confidence: 0.9, signal: "Startup.cs" },
|
|
2151
|
+
{ pattern: /\.(cshtml|razor)$/, layer: "presentation", confidence: 0.9, signal: "Razor view" },
|
|
2152
|
+
// ── JVM (Maven/Gradle standard layout + Spring package conventions) ──
|
|
2153
|
+
{ pattern: /\/src\/(test|androidtest|integrationtest)\//, layer: "testing", confidence: 0.95, signal: "src/test source set" },
|
|
2154
|
+
{ pattern: /\/controller\//, layer: "routing", confidence: 0.8, signal: "controller/ package" },
|
|
2155
|
+
{ pattern: /\/resource\//, layer: "routing", confidence: 0.7, signal: "resource/ package (JAX-RS)" },
|
|
2156
|
+
{ pattern: /\/model\//, layer: "domain", confidence: 0.75, signal: "model/ package" },
|
|
2157
|
+
{ pattern: /\/entity\//, layer: "domain", confidence: 0.85, signal: "entity/ package" },
|
|
2158
|
+
{ pattern: /\/dto\//, layer: "domain", confidence: 0.85, signal: "dto/ package" },
|
|
2159
|
+
{ pattern: /\/mappers?\//, layer: "data-access", confidence: 0.75, signal: "mapper/ package" },
|
|
2160
|
+
// ── Python (Django/Flask/FastAPI module conventions) ──
|
|
2161
|
+
{ pattern: /\/(test_[^/]*|conftest)\.py$/, layer: "testing", confidence: 0.95, signal: "pytest test module" },
|
|
2162
|
+
{ pattern: /\/urls\.py$/, layer: "routing", confidence: 0.95, signal: "Django urls.py" },
|
|
2163
|
+
{ pattern: /\/views\.py$/, layer: "routing", confidence: 0.9, signal: "Django views.py (request handlers)" },
|
|
2164
|
+
{ pattern: /\/models\.py$/, layer: "domain", confidence: 0.9, signal: "Django models.py" },
|
|
2165
|
+
{ pattern: /\/serializers\.py$/, layer: "domain", confidence: 0.85, signal: "DRF serializers.py" },
|
|
2166
|
+
{ pattern: /\/forms\.py$/, layer: "presentation", confidence: 0.8, signal: "Django forms.py" },
|
|
2167
|
+
{ pattern: /\/(settings|admin)\.py$/, layer: "config", confidence: 0.85, signal: "Django settings/admin module" },
|
|
2168
|
+
{ pattern: /\/middleware\.py$/, layer: "middleware", confidence: 0.9, signal: "middleware.py" },
|
|
2169
|
+
{ pattern: /\/(tasks|celery)\.py$/, layer: "services", confidence: 0.8, signal: "task queue module" },
|
|
2170
|
+
// ── Go / Rust / Dart / Ruby / Elixir test conventions ──
|
|
2171
|
+
{ pattern: /_(test|spec)\.[a-z]+$/, layer: "testing", confidence: 0.95, signal: "_test/_spec file" },
|
|
2172
|
+
{ pattern: /\/spec\//, layer: "testing", confidence: 0.85, signal: "spec/ directory (RSpec)" },
|
|
2173
|
+
{ pattern: /\/cmd\//, layer: "routing", confidence: 0.7, signal: "cmd/ entry points (Go)" },
|
|
2174
|
+
// ── Ruby on Rails ──
|
|
2175
|
+
{ pattern: /\/migrate\//, layer: "data-access", confidence: 0.9, signal: "db/migrate/ directory" },
|
|
2176
|
+
{ pattern: /\/mailers\//, layer: "infrastructure", confidence: 0.8, signal: "mailers/ directory" },
|
|
2177
|
+
{ pattern: /\.erb$/, layer: "presentation", confidence: 0.85, signal: "ERB view template" },
|
|
2178
|
+
// ── PHP (Laravel/Symfony) ──
|
|
2179
|
+
{ pattern: /\.blade\.php$/, layer: "presentation", confidence: 0.9, signal: "Blade view template" },
|
|
2180
|
+
// ── Elixir (Phoenix) ──
|
|
2181
|
+
{ pattern: /\/channels\//, layer: "routing", confidence: 0.7, signal: "channels/ directory" },
|
|
2182
|
+
{ pattern: /_controller\.exs?$/, layer: "routing", confidence: 0.9, signal: "Phoenix controller" },
|
|
2183
|
+
{ pattern: /_(view|live|html|component)\.exs?$/, layer: "presentation", confidence: 0.85, signal: "Phoenix view module" },
|
|
2184
|
+
{ pattern: /\/repo\.exs?$/, layer: "data-access", confidence: 0.9, signal: "Ecto repo" },
|
|
2185
|
+
{ pattern: /\.(eex|heex)$/, layer: "presentation", confidence: 0.85, signal: "EEx/HEEx template" },
|
|
2186
|
+
// ── Flutter / mobile ──
|
|
2187
|
+
{ pattern: /\/screens\//, layer: "presentation", confidence: 0.85, signal: "screens/ directory" }
|
|
2134
2188
|
];
|
|
2135
2189
|
var SUFFIX_RULES = [
|
|
2136
2190
|
{ suffix: ".controller", layer: "routing", confidence: 0.85, signal: "controller suffix" },
|
|
@@ -2163,6 +2217,41 @@ var SUFFIX_RULES = [
|
|
|
2163
2217
|
{ suffix: ".helper", layer: "shared", confidence: 0.7, signal: "helper suffix" },
|
|
2164
2218
|
{ suffix: ".constant", layer: "shared", confidence: 0.7, signal: "constant suffix" }
|
|
2165
2219
|
];
|
|
2220
|
+
var PASCAL_SUFFIX_RULES = [
|
|
2221
|
+
{ suffix: "Controller", layer: "routing", confidence: 0.9, signal: "Controller class" },
|
|
2222
|
+
{ suffix: "Endpoint", layer: "routing", confidence: 0.85, signal: "Endpoint class" },
|
|
2223
|
+
{ suffix: "Middleware", layer: "middleware", confidence: 0.9, signal: "Middleware class" },
|
|
2224
|
+
{ suffix: "Filter", layer: "middleware", confidence: 0.75, signal: "Filter class" },
|
|
2225
|
+
{ suffix: "Service", layer: "services", confidence: 0.85, signal: "Service class" },
|
|
2226
|
+
{ suffix: "Handler", layer: "services", confidence: 0.75, signal: "Handler class" },
|
|
2227
|
+
{ suffix: "UseCase", layer: "services", confidence: 0.85, signal: "UseCase class" },
|
|
2228
|
+
{ suffix: "Entity", layer: "domain", confidence: 0.85, signal: "Entity class" },
|
|
2229
|
+
{ suffix: "Dto", layer: "domain", confidence: 0.8, signal: "DTO class" },
|
|
2230
|
+
{ suffix: "Validator", layer: "domain", confidence: 0.75, signal: "Validator class" },
|
|
2231
|
+
{ suffix: "ViewModel", layer: "presentation", confidence: 0.85, signal: "ViewModel class" },
|
|
2232
|
+
{ suffix: "Repository", layer: "data-access", confidence: 0.9, signal: "Repository class" },
|
|
2233
|
+
{ suffix: "DbContext", layer: "data-access", confidence: 0.95, signal: "EF Core DbContext" },
|
|
2234
|
+
{ suffix: "Migration", layer: "data-access", confidence: 0.85, signal: "Migration class" },
|
|
2235
|
+
{ suffix: "Client", layer: "infrastructure", confidence: 0.7, signal: "Client class" },
|
|
2236
|
+
{ suffix: "Tests", layer: "testing", confidence: 0.95, signal: "Tests class" },
|
|
2237
|
+
{ suffix: "Test", layer: "testing", confidence: 0.9, signal: "Test class" },
|
|
2238
|
+
// JVM (Spring/JEE/Android)
|
|
2239
|
+
{ suffix: "ServiceImpl", layer: "services", confidence: 0.9, signal: "ServiceImpl class" },
|
|
2240
|
+
{ suffix: "Dao", layer: "data-access", confidence: 0.9, signal: "DAO class" },
|
|
2241
|
+
{ suffix: "Mapper", layer: "data-access", confidence: 0.75, signal: "Mapper class" },
|
|
2242
|
+
{ suffix: "Resource", layer: "routing", confidence: 0.75, signal: "JAX-RS resource class" },
|
|
2243
|
+
{ suffix: "Configuration", layer: "config", confidence: 0.85, signal: "Configuration class" },
|
|
2244
|
+
{ suffix: "Config", layer: "config", confidence: 0.8, signal: "Config class" },
|
|
2245
|
+
{ suffix: "Interceptor", layer: "middleware", confidence: 0.85, signal: "Interceptor class" },
|
|
2246
|
+
{ suffix: "Activity", layer: "presentation", confidence: 0.85, signal: "Android Activity" },
|
|
2247
|
+
{ suffix: "Fragment", layer: "presentation", confidence: 0.85, signal: "Android Fragment" },
|
|
2248
|
+
// Swift / iOS — higher confidence than the generic Controller→routing rule
|
|
2249
|
+
// so FooViewController lands in presentation, not routing.
|
|
2250
|
+
{ suffix: "ViewController", layer: "presentation", confidence: 0.95, signal: "UIKit ViewController" },
|
|
2251
|
+
// Flutter
|
|
2252
|
+
{ suffix: "Screen", layer: "presentation", confidence: 0.85, signal: "Screen widget" },
|
|
2253
|
+
{ suffix: "Widget", layer: "presentation", confidence: 0.75, signal: "Widget class" }
|
|
2254
|
+
];
|
|
2166
2255
|
var PACKAGE_LAYER_MAP = {
|
|
2167
2256
|
// Routing/controllers
|
|
2168
2257
|
"express": "routing",
|
|
@@ -2251,10 +2340,204 @@ var PACKAGE_LAYER_MAP = {
|
|
|
2251
2340
|
"@opentelemetry/api": "infrastructure",
|
|
2252
2341
|
"pino": "infrastructure",
|
|
2253
2342
|
"winston": "infrastructure",
|
|
2254
|
-
"dd-trace": "infrastructure"
|
|
2343
|
+
"dd-trace": "infrastructure",
|
|
2344
|
+
// ── .NET (NuGet package ids) ──
|
|
2345
|
+
"Microsoft.EntityFrameworkCore": "data-access",
|
|
2346
|
+
"Dapper": "data-access",
|
|
2347
|
+
"Npgsql": "data-access",
|
|
2348
|
+
"Microsoft.Data.SqlClient": "data-access",
|
|
2349
|
+
"System.Data.SqlClient": "data-access",
|
|
2350
|
+
"MongoDB.Driver": "data-access",
|
|
2351
|
+
"StackExchange.Redis": "data-access",
|
|
2352
|
+
"MediatR": "services",
|
|
2353
|
+
"Hangfire": "services",
|
|
2354
|
+
"Quartz": "services",
|
|
2355
|
+
"FluentValidation": "domain",
|
|
2356
|
+
"AutoMapper": "domain",
|
|
2357
|
+
"Microsoft.AspNetCore.Authentication.JwtBearer": "middleware",
|
|
2358
|
+
"Swashbuckle.AspNetCore": "routing",
|
|
2359
|
+
"Serilog": "infrastructure",
|
|
2360
|
+
"NLog": "infrastructure",
|
|
2361
|
+
"Polly": "infrastructure",
|
|
2362
|
+
"RabbitMQ.Client": "infrastructure",
|
|
2363
|
+
"MassTransit": "infrastructure",
|
|
2364
|
+
"Confluent.Kafka": "infrastructure",
|
|
2365
|
+
"Azure.Storage.Blobs": "infrastructure",
|
|
2366
|
+
"AWSSDK.S3": "infrastructure",
|
|
2367
|
+
"Newtonsoft.Json": "shared",
|
|
2368
|
+
"xunit": "testing",
|
|
2369
|
+
"NUnit": "testing",
|
|
2370
|
+
"MSTest.TestFramework": "testing",
|
|
2371
|
+
"Moq": "testing",
|
|
2372
|
+
"NSubstitute": "testing",
|
|
2373
|
+
"FluentAssertions": "testing",
|
|
2374
|
+
// ── Python (PyPI) ──
|
|
2375
|
+
"django": "routing",
|
|
2376
|
+
"flask": "routing",
|
|
2377
|
+
"fastapi": "routing",
|
|
2378
|
+
"starlette": "routing",
|
|
2379
|
+
"sqlalchemy": "data-access",
|
|
2380
|
+
"alembic": "data-access",
|
|
2381
|
+
"psycopg2": "data-access",
|
|
2382
|
+
"psycopg2-binary": "data-access",
|
|
2383
|
+
"pymongo": "data-access",
|
|
2384
|
+
"pydantic": "domain",
|
|
2385
|
+
"marshmallow": "domain",
|
|
2386
|
+
"celery": "services",
|
|
2387
|
+
"pytest": "testing",
|
|
2388
|
+
"boto3": "infrastructure",
|
|
2389
|
+
"httpx": "infrastructure",
|
|
2390
|
+
"requests": "infrastructure",
|
|
2391
|
+
"gunicorn": "infrastructure",
|
|
2392
|
+
"uvicorn": "infrastructure",
|
|
2393
|
+
"structlog": "infrastructure",
|
|
2394
|
+
// ── JVM (Maven groupId:artifactId, as the Java scanner keys them) ──
|
|
2395
|
+
"org.springframework.boot:spring-boot-starter-web": "routing",
|
|
2396
|
+
"org.springframework:spring-webmvc": "routing",
|
|
2397
|
+
"io.ktor:ktor-server-core": "routing",
|
|
2398
|
+
"io.quarkus:quarkus-resteasy": "routing",
|
|
2399
|
+
"org.springframework.boot:spring-boot-starter-data-jpa": "data-access",
|
|
2400
|
+
"org.hibernate:hibernate-core": "data-access",
|
|
2401
|
+
"org.hibernate.orm:hibernate-core": "data-access",
|
|
2402
|
+
"org.mybatis:mybatis": "data-access",
|
|
2403
|
+
"com.zaxxer:HikariCP": "data-access",
|
|
2404
|
+
"org.jetbrains.exposed:exposed-core": "data-access",
|
|
2405
|
+
"org.springframework.boot:spring-boot-starter-security": "middleware",
|
|
2406
|
+
"jakarta.validation:jakarta.validation-api": "domain",
|
|
2407
|
+
"com.fasterxml.jackson.core:jackson-databind": "shared",
|
|
2408
|
+
"org.projectlombok:lombok": "shared",
|
|
2409
|
+
"junit:junit": "testing",
|
|
2410
|
+
"org.junit.jupiter:junit-jupiter": "testing",
|
|
2411
|
+
"org.mockito:mockito-core": "testing",
|
|
2412
|
+
"org.testng:testng": "testing",
|
|
2413
|
+
"ch.qos.logback:logback-classic": "infrastructure",
|
|
2414
|
+
"org.slf4j:slf4j-api": "infrastructure",
|
|
2415
|
+
"org.apache.kafka:kafka-clients": "infrastructure",
|
|
2416
|
+
"com.squareup.okhttp3:okhttp": "infrastructure",
|
|
2417
|
+
// ── Go (module paths) ──
|
|
2418
|
+
"github.com/gin-gonic/gin": "routing",
|
|
2419
|
+
"github.com/labstack/echo/v4": "routing",
|
|
2420
|
+
"github.com/gorilla/mux": "routing",
|
|
2421
|
+
"github.com/go-chi/chi/v5": "routing",
|
|
2422
|
+
"github.com/gofiber/fiber/v2": "routing",
|
|
2423
|
+
"github.com/spf13/cobra": "routing",
|
|
2424
|
+
"gorm.io/gorm": "data-access",
|
|
2425
|
+
"github.com/jmoiron/sqlx": "data-access",
|
|
2426
|
+
"github.com/jackc/pgx/v5": "data-access",
|
|
2427
|
+
"go.mongodb.org/mongo-driver": "data-access",
|
|
2428
|
+
"github.com/redis/go-redis/v9": "data-access",
|
|
2429
|
+
"github.com/spf13/viper": "config",
|
|
2430
|
+
"github.com/stretchr/testify": "testing",
|
|
2431
|
+
"go.uber.org/zap": "infrastructure",
|
|
2432
|
+
"github.com/sirupsen/logrus": "infrastructure",
|
|
2433
|
+
"google.golang.org/grpc": "infrastructure",
|
|
2434
|
+
// ── Rust (crates) ──
|
|
2435
|
+
"actix-web": "routing",
|
|
2436
|
+
"axum": "routing",
|
|
2437
|
+
"rocket": "routing",
|
|
2438
|
+
"warp": "routing",
|
|
2439
|
+
"clap": "routing",
|
|
2440
|
+
"diesel": "data-access",
|
|
2441
|
+
"sqlx": "data-access",
|
|
2442
|
+
"sea-orm": "data-access",
|
|
2443
|
+
"serde": "domain",
|
|
2444
|
+
"tokio": "infrastructure",
|
|
2445
|
+
"reqwest": "infrastructure",
|
|
2446
|
+
"tracing": "infrastructure",
|
|
2447
|
+
// ── Ruby (gems) ──
|
|
2448
|
+
"rails": "routing",
|
|
2449
|
+
"sinatra": "routing",
|
|
2450
|
+
"activerecord": "data-access",
|
|
2451
|
+
"sequel": "data-access",
|
|
2452
|
+
"devise": "middleware",
|
|
2453
|
+
"pundit": "middleware",
|
|
2454
|
+
"sidekiq": "services",
|
|
2455
|
+
"rspec": "testing",
|
|
2456
|
+
"rspec-rails": "testing",
|
|
2457
|
+
"minitest": "testing",
|
|
2458
|
+
"puma": "infrastructure",
|
|
2459
|
+
"faraday": "infrastructure",
|
|
2460
|
+
// ── PHP (Composer vendor/package) ──
|
|
2461
|
+
"laravel/framework": "routing",
|
|
2462
|
+
"symfony/http-kernel": "routing",
|
|
2463
|
+
"slim/slim": "routing",
|
|
2464
|
+
"doctrine/orm": "data-access",
|
|
2465
|
+
"illuminate/database": "data-access",
|
|
2466
|
+
"phpunit/phpunit": "testing",
|
|
2467
|
+
"pestphp/pest": "testing",
|
|
2468
|
+
"guzzlehttp/guzzle": "infrastructure",
|
|
2469
|
+
"monolog/monolog": "infrastructure",
|
|
2470
|
+
// ── Swift (SPM) ──
|
|
2471
|
+
"Alamofire": "infrastructure",
|
|
2472
|
+
"vapor": "routing",
|
|
2473
|
+
"Vapor": "routing",
|
|
2474
|
+
// ── Dart (pub) ──
|
|
2475
|
+
"dio": "infrastructure",
|
|
2476
|
+
"sqflite": "data-access",
|
|
2477
|
+
"flutter_bloc": "services",
|
|
2478
|
+
"riverpod": "services",
|
|
2479
|
+
"flutter_riverpod": "services",
|
|
2480
|
+
"go_router": "routing",
|
|
2481
|
+
"auto_route": "routing",
|
|
2482
|
+
"flutter_test": "testing",
|
|
2483
|
+
"mockito": "testing",
|
|
2484
|
+
// ── Elixir (Hex) ──
|
|
2485
|
+
"phoenix": "routing",
|
|
2486
|
+
"phoenix_live_view": "presentation",
|
|
2487
|
+
"ecto": "data-access",
|
|
2488
|
+
"ecto_sql": "data-access",
|
|
2489
|
+
"postgrex": "data-access",
|
|
2490
|
+
"oban": "services",
|
|
2491
|
+
"ex_machina": "testing",
|
|
2492
|
+
"tesla": "infrastructure",
|
|
2493
|
+
"httpoison": "infrastructure",
|
|
2494
|
+
"finch": "infrastructure",
|
|
2495
|
+
"jason": "shared"
|
|
2255
2496
|
};
|
|
2256
|
-
var SOURCE_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
2257
|
-
|
|
2497
|
+
var SOURCE_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
2498
|
+
".ts",
|
|
2499
|
+
".tsx",
|
|
2500
|
+
".js",
|
|
2501
|
+
".jsx",
|
|
2502
|
+
".mts",
|
|
2503
|
+
".mjs",
|
|
2504
|
+
".cts",
|
|
2505
|
+
".cjs",
|
|
2506
|
+
".svelte",
|
|
2507
|
+
".vue",
|
|
2508
|
+
// .NET — layer detection works off the same directory/suffix conventions
|
|
2509
|
+
".cs",
|
|
2510
|
+
".vb",
|
|
2511
|
+
".fs",
|
|
2512
|
+
".cshtml",
|
|
2513
|
+
".razor",
|
|
2514
|
+
// JVM
|
|
2515
|
+
".java",
|
|
2516
|
+
".kt",
|
|
2517
|
+
".kts",
|
|
2518
|
+
".scala",
|
|
2519
|
+
".groovy",
|
|
2520
|
+
// Python
|
|
2521
|
+
".py",
|
|
2522
|
+
".pyi",
|
|
2523
|
+
// Go / Rust
|
|
2524
|
+
".go",
|
|
2525
|
+
".rs",
|
|
2526
|
+
// Ruby (incl. ERB view templates)
|
|
2527
|
+
".rb",
|
|
2528
|
+
".rake",
|
|
2529
|
+
".erb",
|
|
2530
|
+
// PHP (incl. Blade — extname is still .php)
|
|
2531
|
+
".php",
|
|
2532
|
+
// Swift / Dart
|
|
2533
|
+
".swift",
|
|
2534
|
+
".dart",
|
|
2535
|
+
// Elixir (incl. EEx/HEEx view templates)
|
|
2536
|
+
".ex",
|
|
2537
|
+
".exs",
|
|
2538
|
+
".eex",
|
|
2539
|
+
".heex"
|
|
2540
|
+
]);
|
|
2258
2541
|
async function walkSourceFiles(rootDir, cache) {
|
|
2259
2542
|
if (cache) {
|
|
2260
2543
|
const entries = await cache.walkDir(rootDir);
|
|
@@ -2278,7 +2561,7 @@ async function walkSourceFiles(rootDir, cache) {
|
|
|
2278
2561
|
if (entry.name.startsWith(".") && entry.name !== ".") continue;
|
|
2279
2562
|
const fullPath = path3.join(dir, entry.name);
|
|
2280
2563
|
if (entry.isDirectory()) {
|
|
2281
|
-
if (!
|
|
2564
|
+
if (!isSkippedDirName(entry.name)) {
|
|
2282
2565
|
await walk(fullPath);
|
|
2283
2566
|
}
|
|
2284
2567
|
} else if (entry.isFile()) {
|
|
@@ -2293,13 +2576,14 @@ async function walkSourceFiles(rootDir, cache) {
|
|
|
2293
2576
|
return files;
|
|
2294
2577
|
}
|
|
2295
2578
|
function classifyFile(filePath, archetype) {
|
|
2296
|
-
const normalised = filePath.replace(/\\/g, "/");
|
|
2579
|
+
const normalised = "/" + filePath.replace(/\\/g, "/").replace(/^\/+/, "");
|
|
2580
|
+
const lowered = normalised.toLowerCase();
|
|
2297
2581
|
let bestMatch = null;
|
|
2298
2582
|
for (const rule of PATH_RULES) {
|
|
2299
2583
|
if (rule.archetypes && rule.archetypes.length > 0 && !rule.archetypes.includes(archetype)) {
|
|
2300
2584
|
continue;
|
|
2301
2585
|
}
|
|
2302
|
-
if (rule.pattern.test(
|
|
2586
|
+
if (rule.pattern.test(lowered)) {
|
|
2303
2587
|
const boost = rule.archetypes ? 0.05 : 0;
|
|
2304
2588
|
const adjustedConfidence = Math.min(rule.confidence + boost, 1);
|
|
2305
2589
|
if (!bestMatch || adjustedConfidence > bestMatch.confidence) {
|
|
@@ -2317,6 +2601,13 @@ function classifyFile(filePath, archetype) {
|
|
|
2317
2601
|
}
|
|
2318
2602
|
}
|
|
2319
2603
|
}
|
|
2604
|
+
for (const rule of PASCAL_SUFFIX_RULES) {
|
|
2605
|
+
if (cleanBase.endsWith(rule.suffix)) {
|
|
2606
|
+
if (!bestMatch || rule.confidence > bestMatch.confidence) {
|
|
2607
|
+
bestMatch = { layer: rule.layer, confidence: rule.confidence, signal: rule.signal };
|
|
2608
|
+
}
|
|
2609
|
+
}
|
|
2610
|
+
}
|
|
2320
2611
|
}
|
|
2321
2612
|
if (bestMatch) {
|
|
2322
2613
|
return {
|
|
@@ -4373,5 +4664,5 @@ var baselineCommand = new Command("baseline").description("Create a drift baseli
|
|
|
4373
4664
|
});
|
|
4374
4665
|
|
|
4375
4666
|
export { baselineCommand, loadAdvancedScanHook, runBaseline };
|
|
4376
|
-
//# sourceMappingURL=chunk-
|
|
4377
|
-
//# sourceMappingURL=chunk-
|
|
4667
|
+
//# sourceMappingURL=chunk-5ROZODMW.js.map
|
|
4668
|
+
//# sourceMappingURL=chunk-5ROZODMW.js.map
|