@hyperfrontend/project-scope 0.2.1 → 0.2.3
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 +14 -1
- package/README.md +3 -4
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.cjs.js +13 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.esm.js +8 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.cjs.js +10 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.esm.js +8 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.cjs.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.cjs.js +9 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.esm.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.cjs.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.esm.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js +15 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js +9 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/logging/index.cjs.js +191 -0
- package/_dependencies/@hyperfrontend/logging/index.d.ts +151 -0
- package/_dependencies/@hyperfrontend/logging/index.esm.js +186 -0
- package/_shared/core/cache/index.cjs.js +135 -0
- package/_shared/core/cache/index.esm.js +128 -0
- package/_shared/core/errors/structured-errors/index.cjs.js +28 -0
- package/_shared/core/errors/structured-errors/index.esm.js +23 -0
- package/_shared/core/fs/guard/index.cjs.js +7 -0
- package/_shared/core/fs/guard/index.esm.js +5 -0
- package/_shared/core/fs/stat/index.cjs.js +47 -0
- package/_shared/core/fs/stat/index.esm.js +41 -0
- package/_shared/core/path/confine/index.cjs.js +22 -0
- package/_shared/core/path/confine/index.esm.js +19 -0
- package/_shared/core/path/join/index.cjs.js +13 -0
- package/_shared/core/path/join/index.esm.js +10 -0
- package/_shared/core/path/normalize/index.cjs.js +37 -0
- package/_shared/core/path/normalize/index.esm.js +31 -0
- package/_shared/core/path/resolve/index.cjs.js +47 -0
- package/_shared/core/path/resolve/index.esm.js +41 -0
- package/_shared/core/path/segments/index.cjs.js +38 -0
- package/_shared/core/path/segments/index.esm.js +31 -0
- package/_shared/core/patterns/glob/index.cjs.js +145 -0
- package/_shared/core/patterns/glob/index.esm.js +136 -0
- package/_shared/core/platform/detect/index.cjs.js +103 -0
- package/_shared/core/platform/detect/index.esm.js +95 -0
- package/_shared/core/platform/line-endings/index.cjs.js +52 -0
- package/_shared/core/platform/line-endings/index.esm.js +44 -0
- package/_shared/project/config/patterns/index.cjs.js +172 -0
- package/_shared/project/config/patterns/index.esm.js +169 -0
- package/_shared/tech/monorepo/pnpm-workspaces/index.cjs.js +33 -0
- package/_shared/tech/monorepo/pnpm-workspaces/index.esm.js +31 -0
- package/_shared/tech/shared-utils/detector-helpers/index.cjs.js +48 -0
- package/_shared/tech/shared-utils/detector-helpers/index.esm.js +43 -0
- package/_shared/vfs/types/index.cjs.js +14 -0
- package/_shared/vfs/types/index.esm.js +12 -0
- package/cli/index.cjs.js +1706 -1910
- package/cli/index.d.ts +273 -7
- package/cli/index.d.ts.map +1 -1
- package/cli/index.esm.js +1593 -1797
- package/core/encoding/index.cjs.js +86 -401
- package/core/encoding/index.d.ts +186 -3
- package/core/encoding/index.d.ts.map +1 -1
- package/core/encoding/index.esm.js +78 -392
- package/core/fs/index.cjs.js +243 -583
- package/core/fs/index.d.ts +479 -6
- package/core/fs/index.d.ts.map +1 -1
- package/core/fs/index.esm.js +233 -573
- package/core/index.cjs.js +526 -1746
- package/core/index.d.ts +486 -9
- package/core/index.d.ts.map +1 -1
- package/core/index.esm.js +515 -1732
- package/core/path/index.cjs.js +8 -234
- package/core/path/index.d.ts +327 -5
- package/core/path/index.d.ts.map +1 -1
- package/core/path/index.esm.js +8 -235
- package/core/platform/index.cjs.js +5 -216
- package/core/platform/index.d.ts +185 -3
- package/core/platform/index.d.ts.map +1 -1
- package/core/platform/index.esm.js +3 -212
- package/heuristics/dependencies/index.cjs.js +105 -493
- package/heuristics/dependencies/index.d.ts +99 -2
- package/heuristics/dependencies/index.d.ts.map +1 -1
- package/heuristics/dependencies/index.esm.js +81 -469
- package/heuristics/entry-points/index.cjs.js +93 -796
- package/heuristics/entry-points/index.d.ts +123 -2
- package/heuristics/entry-points/index.d.ts.map +1 -1
- package/heuristics/entry-points/index.esm.js +74 -777
- package/heuristics/framework/index.cjs.js +1483 -1411
- package/heuristics/framework/index.d.ts +104 -2
- package/heuristics/framework/index.d.ts.map +1 -1
- package/heuristics/framework/index.esm.js +1419 -1347
- package/heuristics/index.cjs.js +3220 -3306
- package/heuristics/index.d.ts +4 -5
- package/heuristics/index.d.ts.map +1 -1
- package/heuristics/index.esm.js +3244 -3330
- package/heuristics/project-type/index.cjs.js +1489 -1438
- package/heuristics/project-type/index.d.ts +64 -2
- package/heuristics/project-type/index.d.ts.map +1 -1
- package/heuristics/project-type/index.esm.js +1419 -1368
- package/index.cjs.js +3058 -3532
- package/index.d.ts +44 -10
- package/index.d.ts.map +1 -1
- package/index.esm.js +2914 -3376
- package/models/index.cjs.js +0 -1
- package/models/index.d.ts +20 -14
- package/models/index.d.ts.map +1 -1
- package/models/index.esm.js +0 -1
- package/nx/index.cjs.js +166 -579
- package/nx/index.d.ts +279 -4
- package/nx/index.d.ts.map +1 -1
- package/nx/index.esm.js +148 -556
- package/package.json +13 -12
- package/project/config/index.cjs.js +127 -1063
- package/project/config/index.d.ts +202 -4
- package/project/config/index.d.ts.map +1 -1
- package/project/config/index.esm.js +110 -1044
- package/project/index.cjs.js +328 -1101
- package/project/index.d.ts +4 -5
- package/project/index.d.ts.map +1 -1
- package/project/index.esm.js +307 -1077
- package/project/package/index.cjs.js +196 -473
- package/project/package/index.d.ts +280 -3
- package/project/package/index.d.ts.map +1 -1
- package/project/package/index.esm.js +183 -459
- package/project/root/index.cjs.js +109 -417
- package/project/root/index.d.ts +83 -2
- package/project/root/index.d.ts.map +1 -1
- package/project/root/index.esm.js +98 -406
- package/project/traversal/index.cjs.js +96 -622
- package/project/traversal/index.d.ts +165 -3
- package/project/traversal/index.d.ts.map +1 -1
- package/project/traversal/index.esm.js +82 -608
- package/tech/backend/index.cjs.js +223 -508
- package/tech/backend/index.d.ts +205 -8
- package/tech/backend/index.d.ts.map +1 -1
- package/tech/backend/index.esm.js +202 -487
- package/tech/build/index.cjs.js +350 -636
- package/tech/build/index.d.ts +276 -10
- package/tech/build/index.d.ts.map +1 -1
- package/tech/build/index.esm.js +328 -614
- package/tech/frontend/index.cjs.js +507 -685
- package/tech/frontend/index.d.ts +379 -15
- package/tech/frontend/index.d.ts.map +1 -1
- package/tech/frontend/index.esm.js +483 -661
- package/tech/index.cjs.js +1581 -1420
- package/tech/index.d.ts +55 -32
- package/tech/index.d.ts.map +1 -1
- package/tech/index.esm.js +1515 -1354
- package/tech/legacy/index.cjs.js +99 -449
- package/tech/legacy/index.d.ts +125 -7
- package/tech/legacy/index.d.ts.map +1 -1
- package/tech/legacy/index.esm.js +81 -431
- package/tech/linting/index.cjs.js +138 -523
- package/tech/linting/index.d.ts +129 -7
- package/tech/linting/index.d.ts.map +1 -1
- package/tech/linting/index.esm.js +118 -503
- package/tech/monorepo/index.cjs.js +246 -573
- package/tech/monorepo/index.d.ts +241 -10
- package/tech/monorepo/index.d.ts.map +1 -1
- package/tech/monorepo/index.esm.js +226 -553
- package/tech/testing/index.cjs.js +216 -571
- package/tech/testing/index.d.ts +176 -8
- package/tech/testing/index.d.ts.map +1 -1
- package/tech/testing/index.esm.js +198 -553
- package/tech/types/index.cjs.js +123 -506
- package/tech/types/index.d.ts +120 -2
- package/tech/types/index.d.ts.map +1 -1
- package/tech/types/index.esm.js +101 -484
- package/vfs/index.cjs.js +647 -1142
- package/vfs/index.d.ts +360 -6
- package/vfs/index.d.ts.map +1 -1
- package/vfs/index.esm.js +672 -1167
- package/ARCHITECTURE.md +0 -370
- package/analyze.d.ts +0 -33
- package/analyze.d.ts.map +0 -1
- package/cli/commands/analyze.d.ts +0 -28
- package/cli/commands/analyze.d.ts.map +0 -1
- package/cli/commands/config.d.ts +0 -27
- package/cli/commands/config.d.ts.map +0 -1
- package/cli/commands/deps.d.ts +0 -24
- package/cli/commands/deps.d.ts.map +0 -1
- package/cli/commands/tree.d.ts +0 -36
- package/cli/commands/tree.d.ts.map +0 -1
- package/cli/index.cjs.js.map +0 -1
- package/cli/index.esm.js.map +0 -1
- package/cli/run.d.ts +0 -25
- package/cli/run.d.ts.map +0 -1
- package/cli/types.d.ts +0 -55
- package/cli/types.d.ts.map +0 -1
- package/core/cache.d.ts +0 -158
- package/core/cache.d.ts.map +0 -1
- package/core/encoding/convert.d.ts +0 -32
- package/core/encoding/convert.d.ts.map +0 -1
- package/core/encoding/detect.d.ts +0 -91
- package/core/encoding/detect.d.ts.map +0 -1
- package/core/encoding/index.cjs.js.map +0 -1
- package/core/encoding/index.esm.js.map +0 -1
- package/core/errors/structured-errors.d.ts +0 -66
- package/core/errors/structured-errors.d.ts.map +0 -1
- package/core/fs/directory.d.ts +0 -91
- package/core/fs/directory.d.ts.map +0 -1
- package/core/fs/index.cjs.js.map +0 -1
- package/core/fs/index.esm.js.map +0 -1
- package/core/fs/read.d.ts +0 -94
- package/core/fs/read.d.ts.map +0 -1
- package/core/fs/stat.d.ts +0 -58
- package/core/fs/stat.d.ts.map +0 -1
- package/core/fs/traversal.d.ts +0 -26
- package/core/fs/traversal.d.ts.map +0 -1
- package/core/fs/write.d.ts +0 -75
- package/core/fs/write.d.ts.map +0 -1
- package/core/index.cjs.js.map +0 -1
- package/core/index.esm.js.map +0 -1
- package/core/logger.d.ts +0 -111
- package/core/logger.d.ts.map +0 -1
- package/core/path/index.cjs.js.map +0 -1
- package/core/path/index.esm.js.map +0 -1
- package/core/path/join.d.ts +0 -17
- package/core/path/join.d.ts.map +0 -1
- package/core/path/normalize.d.ts +0 -37
- package/core/path/normalize.d.ts.map +0 -1
- package/core/path/resolve.d.ts +0 -52
- package/core/path/resolve.d.ts.map +0 -1
- package/core/path/segments.d.ts +0 -59
- package/core/path/segments.d.ts.map +0 -1
- package/core/patterns/glob.d.ts +0 -42
- package/core/patterns/glob.d.ts.map +0 -1
- package/core/platform/detect.d.ts +0 -66
- package/core/platform/detect.d.ts.map +0 -1
- package/core/platform/index.cjs.js.map +0 -1
- package/core/platform/index.esm.js.map +0 -1
- package/core/platform/line-endings.d.ts +0 -48
- package/core/platform/line-endings.d.ts.map +0 -1
- package/heuristics/dependencies/analyze.d.ts +0 -77
- package/heuristics/dependencies/analyze.d.ts.map +0 -1
- package/heuristics/dependencies/index.cjs.js.map +0 -1
- package/heuristics/dependencies/index.esm.js.map +0 -1
- package/heuristics/entry-points/discover.d.ts +0 -113
- package/heuristics/entry-points/discover.d.ts.map +0 -1
- package/heuristics/entry-points/index.cjs.js.map +0 -1
- package/heuristics/entry-points/index.esm.js.map +0 -1
- package/heuristics/framework/identify.d.ts +0 -84
- package/heuristics/framework/identify.d.ts.map +0 -1
- package/heuristics/framework/index.cjs.js.map +0 -1
- package/heuristics/framework/index.esm.js.map +0 -1
- package/heuristics/index.cjs.js.map +0 -1
- package/heuristics/index.esm.js.map +0 -1
- package/heuristics/project-type/detect.d.ts +0 -61
- package/heuristics/project-type/detect.d.ts.map +0 -1
- package/heuristics/project-type/index.cjs.js.map +0 -1
- package/heuristics/project-type/index.esm.js.map +0 -1
- package/index.cjs.js.map +0 -1
- package/index.esm.js.map +0 -1
- package/models/index.cjs.js.map +0 -1
- package/models/index.esm.js.map +0 -1
- package/nx/detect.d.ts +0 -105
- package/nx/detect.d.ts.map +0 -1
- package/nx/devkit-loader.d.ts +0 -62
- package/nx/devkit-loader.d.ts.map +0 -1
- package/nx/index.cjs.js.map +0 -1
- package/nx/index.esm.js.map +0 -1
- package/nx/project-config.d.ts +0 -111
- package/nx/project-config.d.ts.map +0 -1
- package/project/config/detect.d.ts +0 -77
- package/project/config/detect.d.ts.map +0 -1
- package/project/config/index.cjs.js.map +0 -1
- package/project/config/index.esm.js.map +0 -1
- package/project/config/parse.d.ts +0 -53
- package/project/config/parse.d.ts.map +0 -1
- package/project/config/patterns.d.ts +0 -31
- package/project/config/patterns.d.ts.map +0 -1
- package/project/index.cjs.js.map +0 -1
- package/project/index.esm.js.map +0 -1
- package/project/package/dependencies.d.ts +0 -101
- package/project/package/dependencies.d.ts.map +0 -1
- package/project/package/index.cjs.js.map +0 -1
- package/project/package/index.esm.js.map +0 -1
- package/project/package/read.d.ts +0 -67
- package/project/package/read.d.ts.map +0 -1
- package/project/root/detect.d.ts +0 -65
- package/project/root/detect.d.ts.map +0 -1
- package/project/root/index.cjs.js.map +0 -1
- package/project/root/index.esm.js.map +0 -1
- package/project/traversal/index.cjs.js.map +0 -1
- package/project/traversal/index.esm.js.map +0 -1
- package/project/traversal/search.d.ts +0 -59
- package/project/traversal/search.d.ts.map +0 -1
- package/project/traversal/walk.d.ts +0 -63
- package/project/traversal/walk.d.ts.map +0 -1
- package/tech/backend/detect-all.d.ts +0 -13
- package/tech/backend/detect-all.d.ts.map +0 -1
- package/tech/backend/express.d.ts +0 -11
- package/tech/backend/express.d.ts.map +0 -1
- package/tech/backend/fastify.d.ts +0 -11
- package/tech/backend/fastify.d.ts.map +0 -1
- package/tech/backend/hono.d.ts +0 -11
- package/tech/backend/hono.d.ts.map +0 -1
- package/tech/backend/index.cjs.js.map +0 -1
- package/tech/backend/index.esm.js.map +0 -1
- package/tech/backend/koa.d.ts +0 -11
- package/tech/backend/koa.d.ts.map +0 -1
- package/tech/backend/nestjs.d.ts +0 -11
- package/tech/backend/nestjs.d.ts.map +0 -1
- package/tech/backend/types.d.ts +0 -31
- package/tech/backend/types.d.ts.map +0 -1
- package/tech/build/babel.d.ts +0 -13
- package/tech/build/babel.d.ts.map +0 -1
- package/tech/build/detect-all.d.ts +0 -13
- package/tech/build/detect-all.d.ts.map +0 -1
- package/tech/build/esbuild.d.ts +0 -11
- package/tech/build/esbuild.d.ts.map +0 -1
- package/tech/build/index.cjs.js.map +0 -1
- package/tech/build/index.esm.js.map +0 -1
- package/tech/build/parcel.d.ts +0 -13
- package/tech/build/parcel.d.ts.map +0 -1
- package/tech/build/rollup.d.ts +0 -13
- package/tech/build/rollup.d.ts.map +0 -1
- package/tech/build/swc.d.ts +0 -13
- package/tech/build/swc.d.ts.map +0 -1
- package/tech/build/types.d.ts +0 -31
- package/tech/build/types.d.ts.map +0 -1
- package/tech/build/vite.d.ts +0 -13
- package/tech/build/vite.d.ts.map +0 -1
- package/tech/build/webpack.d.ts +0 -13
- package/tech/build/webpack.d.ts.map +0 -1
- package/tech/frontend/angular.d.ts +0 -11
- package/tech/frontend/angular.d.ts.map +0 -1
- package/tech/frontend/astro.d.ts +0 -11
- package/tech/frontend/astro.d.ts.map +0 -1
- package/tech/frontend/detect-all.d.ts +0 -13
- package/tech/frontend/detect-all.d.ts.map +0 -1
- package/tech/frontend/gatsby.d.ts +0 -11
- package/tech/frontend/gatsby.d.ts.map +0 -1
- package/tech/frontend/index.cjs.js.map +0 -1
- package/tech/frontend/index.esm.js.map +0 -1
- package/tech/frontend/nextjs.d.ts +0 -11
- package/tech/frontend/nextjs.d.ts.map +0 -1
- package/tech/frontend/nuxt.d.ts +0 -11
- package/tech/frontend/nuxt.d.ts.map +0 -1
- package/tech/frontend/qwik.d.ts +0 -11
- package/tech/frontend/qwik.d.ts.map +0 -1
- package/tech/frontend/react.d.ts +0 -11
- package/tech/frontend/react.d.ts.map +0 -1
- package/tech/frontend/remix.d.ts +0 -11
- package/tech/frontend/remix.d.ts.map +0 -1
- package/tech/frontend/solid.d.ts +0 -11
- package/tech/frontend/solid.d.ts.map +0 -1
- package/tech/frontend/svelte.d.ts +0 -11
- package/tech/frontend/svelte.d.ts.map +0 -1
- package/tech/frontend/sveltekit.d.ts +0 -11
- package/tech/frontend/sveltekit.d.ts.map +0 -1
- package/tech/frontend/types.d.ts +0 -35
- package/tech/frontend/types.d.ts.map +0 -1
- package/tech/frontend/vue.d.ts +0 -11
- package/tech/frontend/vue.d.ts.map +0 -1
- package/tech/index.cjs.js.map +0 -1
- package/tech/index.esm.js.map +0 -1
- package/tech/legacy/angularjs.d.ts +0 -12
- package/tech/legacy/angularjs.d.ts.map +0 -1
- package/tech/legacy/backbone.d.ts +0 -11
- package/tech/legacy/backbone.d.ts.map +0 -1
- package/tech/legacy/detect-all.d.ts +0 -13
- package/tech/legacy/detect-all.d.ts.map +0 -1
- package/tech/legacy/ember.d.ts +0 -11
- package/tech/legacy/ember.d.ts.map +0 -1
- package/tech/legacy/index.cjs.js.map +0 -1
- package/tech/legacy/index.esm.js.map +0 -1
- package/tech/legacy/jquery.d.ts +0 -11
- package/tech/legacy/jquery.d.ts.map +0 -1
- package/tech/legacy/types.d.ts +0 -33
- package/tech/legacy/types.d.ts.map +0 -1
- package/tech/linting/biome.d.ts +0 -11
- package/tech/linting/biome.d.ts.map +0 -1
- package/tech/linting/detect-all.d.ts +0 -13
- package/tech/linting/detect-all.d.ts.map +0 -1
- package/tech/linting/eslint.d.ts +0 -13
- package/tech/linting/eslint.d.ts.map +0 -1
- package/tech/linting/index.cjs.js.map +0 -1
- package/tech/linting/index.esm.js.map +0 -1
- package/tech/linting/prettier.d.ts +0 -13
- package/tech/linting/prettier.d.ts.map +0 -1
- package/tech/linting/stylelint.d.ts +0 -13
- package/tech/linting/stylelint.d.ts.map +0 -1
- package/tech/linting/types.d.ts +0 -31
- package/tech/linting/types.d.ts.map +0 -1
- package/tech/monorepo/detect-all.d.ts +0 -13
- package/tech/monorepo/detect-all.d.ts.map +0 -1
- package/tech/monorepo/index.cjs.js.map +0 -1
- package/tech/monorepo/index.esm.js.map +0 -1
- package/tech/monorepo/lerna.d.ts +0 -11
- package/tech/monorepo/lerna.d.ts.map +0 -1
- package/tech/monorepo/npm-workspaces.d.ts +0 -11
- package/tech/monorepo/npm-workspaces.d.ts.map +0 -1
- package/tech/monorepo/nx.d.ts +0 -11
- package/tech/monorepo/nx.d.ts.map +0 -1
- package/tech/monorepo/pnpm-workspaces.d.ts +0 -9
- package/tech/monorepo/pnpm-workspaces.d.ts.map +0 -1
- package/tech/monorepo/rush.d.ts +0 -11
- package/tech/monorepo/rush.d.ts.map +0 -1
- package/tech/monorepo/turborepo.d.ts +0 -11
- package/tech/monorepo/turborepo.d.ts.map +0 -1
- package/tech/monorepo/types.d.ts +0 -39
- package/tech/monorepo/types.d.ts.map +0 -1
- package/tech/monorepo/yarn-workspaces.d.ts +0 -11
- package/tech/monorepo/yarn-workspaces.d.ts.map +0 -1
- package/tech/shared-utils/detector-helpers.d.ts +0 -52
- package/tech/shared-utils/detector-helpers.d.ts.map +0 -1
- package/tech/shared-utils/types.d.ts +0 -41
- package/tech/shared-utils/types.d.ts.map +0 -1
- package/tech/testing/cypress.d.ts +0 -13
- package/tech/testing/cypress.d.ts.map +0 -1
- package/tech/testing/detect-all.d.ts +0 -13
- package/tech/testing/detect-all.d.ts.map +0 -1
- package/tech/testing/index.cjs.js.map +0 -1
- package/tech/testing/index.esm.js.map +0 -1
- package/tech/testing/jest.d.ts +0 -13
- package/tech/testing/jest.d.ts.map +0 -1
- package/tech/testing/mocha.d.ts +0 -13
- package/tech/testing/mocha.d.ts.map +0 -1
- package/tech/testing/playwright.d.ts +0 -13
- package/tech/testing/playwright.d.ts.map +0 -1
- package/tech/testing/types.d.ts +0 -35
- package/tech/testing/types.d.ts.map +0 -1
- package/tech/testing/vitest.d.ts +0 -13
- package/tech/testing/vitest.d.ts.map +0 -1
- package/tech/types/detectors.d.ts +0 -67
- package/tech/types/detectors.d.ts.map +0 -1
- package/tech/types/index.cjs.js.map +0 -1
- package/tech/types/index.esm.js.map +0 -1
- package/vfs/commit.d.ts +0 -32
- package/vfs/commit.d.ts.map +0 -1
- package/vfs/diff.d.ts +0 -73
- package/vfs/diff.d.ts.map +0 -1
- package/vfs/factory.d.ts +0 -37
- package/vfs/factory.d.ts.map +0 -1
- package/vfs/fs-tree.d.ts +0 -13
- package/vfs/fs-tree.d.ts.map +0 -1
- package/vfs/index.cjs.js.map +0 -1
- package/vfs/index.esm.js.map +0 -1
- package/vfs/types.d.ts +0 -179
- package/vfs/types.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [0.2.
|
|
5
|
+
## [0.2.3](https://github.com/AndrewRedican/hyperfrontend/compare/5f116abb8ba6355dfb283fa03b7481e5eb029480...7fb26b6a30c007cd0392f1fc973265c3d25e16dd) - 2026-06-28
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- confine import resolution to the project root
|
|
10
|
+
- reject NUL-byte paths in fs primitives
|
|
11
|
+
|
|
12
|
+
## [0.2.2](https://github.com/AndrewRedican/hyperfrontend/compare/d96fee4d4d3a70178c8a01e5f2e2ae675fa23f37...466c0388c4cd516b9c704214140b4df1004098e6) - 2026-06-23
|
|
13
|
+
|
|
14
|
+
### Other
|
|
15
|
+
|
|
16
|
+
- **@hyperfrontend/workspace:** remove lib-builder and tool-package as implicit dependencies for all lib projects
|
|
17
|
+
|
|
18
|
+
## [0.2.1](https://github.com/AndrewRedican/hyperfrontend/compare/a9185d9b783d7d8d51cc4ad91eb3178eba3e3930...61a93d778d6b84915c51120f315e81b3a16fd67c) - 2026-04-06
|
|
6
19
|
|
|
7
20
|
### Bug Fixes
|
|
8
21
|
|
package/README.md
CHANGED
|
@@ -41,13 +41,13 @@ Comprehensive project analysis, technology stack detection, and transactional vi
|
|
|
41
41
|
|
|
42
42
|
@hyperfrontend/project-scope provides intelligent codebase analysis for JavaScript/TypeScript projects. It uses multi-signal heuristics to classify project types, detect frameworks and build tools, discover entry points, and map dependency graphs - all with confidence scoring and explainable evidence. The library also includes a virtual file system (VFS) for safe, atomic file modifications.
|
|
43
43
|
|
|
44
|
-
Designed for tooling authors building code generators, IDE extensions, CI/CD pipelines, and monorepo tooling.
|
|
44
|
+
Designed for tooling authors building code generators, IDE extensions, CI/CD pipelines, and monorepo tooling. Built-in NX workspace detection reads `nx.json`, `workspace.json`, and `project.json` so tooling can adapt to NX-shaped repos with zero runtime peer dependencies.
|
|
45
45
|
|
|
46
46
|
### Key Features
|
|
47
47
|
|
|
48
48
|
- **Project Classification** - Detect application, library, e2e, tool, or plugin with confidence scoring and evidence tracking
|
|
49
49
|
- **Technology Detection** - Identify 20+ frameworks (React, Vue, Angular, Svelte), build tools (Vite, Webpack, esbuild), and testing frameworks (Jest, Vitest, Cypress)
|
|
50
|
-
- **Virtual File System** - Transaction-aware file operations with atomic commit/rollback
|
|
50
|
+
- **Virtual File System** - Transaction-aware file operations with atomic commit/rollback
|
|
51
51
|
- **Monorepo Intelligence** - Detect NX, Turborepo, Lerna, pnpm/npm/Yarn workspaces; read project configurations
|
|
52
52
|
- **Dependency Graph** - Build internal import graphs from source code with root/leaf node identification
|
|
53
53
|
- **Entry Point Discovery** - Find application entries from package.json exports, bin fields, and convention patterns
|
|
@@ -179,7 +179,6 @@ project-scope tree ./my-project --depth 3
|
|
|
179
179
|
- **`isNxWorkspace(path): boolean`** - Check if directory is NX workspace
|
|
180
180
|
- **`getNxWorkspaceInfo(path): NxWorkspaceInfo`** - Get workspace details
|
|
181
181
|
- **`findNxProjects(path): NxProjectConfig[]`** - Find all projects
|
|
182
|
-
- **`isDevkitAvailable(): boolean`** - Check if `@nx/devkit` is available
|
|
183
182
|
|
|
184
183
|
### Core Utilities
|
|
185
184
|
|
|
@@ -241,4 +240,4 @@ This library is part of the [hyperfrontend](https://github.com/AndrewRedican/hyp
|
|
|
241
240
|
|
|
242
241
|
## License
|
|
243
242
|
|
|
244
|
-
MIT
|
|
243
|
+
[MIT](https://github.com/AndrewRedican/hyperfrontend/blob/main/LICENSE.md)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const _console = globalThis.console;
|
|
4
|
+
const log = _console.log.bind(_console);
|
|
5
|
+
const warn = _console.warn.bind(_console);
|
|
6
|
+
const error = _console.error.bind(_console);
|
|
7
|
+
const info = _console.info.bind(_console);
|
|
8
|
+
const debug = _console.debug.bind(_console);
|
|
9
|
+
exports.debug = debug;
|
|
10
|
+
exports.error = error;
|
|
11
|
+
exports.info = info;
|
|
12
|
+
exports.log = log;
|
|
13
|
+
exports.warn = warn;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const _console = globalThis.console;
|
|
2
|
+
const log = _console.log.bind(_console);
|
|
3
|
+
const warn = _console.warn.bind(_console);
|
|
4
|
+
const error = _console.error.bind(_console);
|
|
5
|
+
const info = _console.info.bind(_console);
|
|
6
|
+
const debug = _console.debug.bind(_console);
|
|
7
|
+
|
|
8
|
+
export { debug, error, info, log, warn };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const _Object = globalThis.Object;
|
|
4
|
+
const freeze = _Object.freeze;
|
|
5
|
+
const keys = _Object.keys;
|
|
6
|
+
const entries = _Object.entries;
|
|
7
|
+
const values = _Object.values;
|
|
8
|
+
const defineProperty = _Object.defineProperty;
|
|
9
|
+
const defineProperties = _Object.defineProperties;
|
|
10
|
+
exports.defineProperties = defineProperties;
|
|
11
|
+
exports.defineProperty = defineProperty;
|
|
12
|
+
exports.entries = entries;
|
|
13
|
+
exports.freeze = freeze;
|
|
14
|
+
exports.keys = keys;
|
|
15
|
+
exports.values = values;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const _Object = globalThis.Object;
|
|
2
|
+
const freeze = _Object.freeze;
|
|
3
|
+
const keys = _Object.keys;
|
|
4
|
+
const entries = _Object.entries;
|
|
5
|
+
const values = _Object.values;
|
|
6
|
+
const defineProperty = _Object.defineProperty;
|
|
7
|
+
const defineProperties = _Object.defineProperties;
|
|
8
|
+
|
|
9
|
+
export { defineProperties, defineProperty, entries, freeze, keys, values };
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { createError } = require('../immutable-api-utils/built-in-copy/error/index.cjs.js');
|
|
4
|
+
const { freeze } = require('../immutable-api-utils/built-in-copy/object/index.cjs.js');
|
|
5
|
+
const { isArray } = require('../immutable-api-utils/built-in-copy/array/index.cjs.js');
|
|
6
|
+
require('../immutable-api-utils/built-in-copy/map/index.cjs.js');
|
|
7
|
+
const { dateNow } = require('../immutable-api-utils/built-in-copy/date/index.cjs.js');
|
|
8
|
+
require('../immutable-api-utils/built-in-copy/math/index.cjs.js');
|
|
9
|
+
require('../immutable-api-utils/built-in-copy/set/index.cjs.js');
|
|
10
|
+
const { debug: debug$1, error: error$1, info: info$1, log: log$1, warn: warn$1 } = require('../immutable-api-utils/built-in-copy/console/index.cjs.js');
|
|
11
|
+
|
|
12
|
+
const logLevels = ['none', 'error', 'warn', 'log', 'info', 'debug'];
|
|
13
|
+
const priority = {
|
|
14
|
+
error: 4,
|
|
15
|
+
warn: 3,
|
|
16
|
+
log: 2,
|
|
17
|
+
info: 1,
|
|
18
|
+
debug: 0,
|
|
19
|
+
};
|
|
20
|
+
function isValidLogLevel(level) {
|
|
21
|
+
return logLevels.includes(level);
|
|
22
|
+
}
|
|
23
|
+
function createLogLevelConfig(level = 'error') {
|
|
24
|
+
if (!isValidLogLevel(level)) {
|
|
25
|
+
throw createError('Cannot create log level configuration with a valid default log level');
|
|
26
|
+
}
|
|
27
|
+
const state = { level };
|
|
28
|
+
const getLogLevel = () => state.level;
|
|
29
|
+
const setLogLevel = (level) => {
|
|
30
|
+
if (!isValidLogLevel(level)) {
|
|
31
|
+
throw createError(`Cannot set value '${level}' level. Expected levels are ${logLevels}.`);
|
|
32
|
+
}
|
|
33
|
+
state.level = level;
|
|
34
|
+
};
|
|
35
|
+
const shouldLog = (level) => {
|
|
36
|
+
if (state.level === 'none' || level === 'none' || !isValidLogLevel(level)) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return priority[level] >= priority[state.level];
|
|
40
|
+
};
|
|
41
|
+
return freeze({
|
|
42
|
+
getLogLevel,
|
|
43
|
+
setLogLevel,
|
|
44
|
+
shouldLog,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const registeredClasses = [];
|
|
49
|
+
|
|
50
|
+
const getType = (target) => {
|
|
51
|
+
if (target === null)
|
|
52
|
+
return 'null';
|
|
53
|
+
const nativeDataType = typeof target;
|
|
54
|
+
if (nativeDataType === 'object') {
|
|
55
|
+
if (isArray(target))
|
|
56
|
+
return 'array';
|
|
57
|
+
for (const registeredClass of registeredClasses) {
|
|
58
|
+
if (target instanceof registeredClass)
|
|
59
|
+
return registeredClass.name;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return nativeDataType;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
function createConditionalExecutionFunction(func, conditionFunc) {
|
|
66
|
+
return function (...args) {
|
|
67
|
+
if (conditionFunc()) {
|
|
68
|
+
return func(...args);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function createErrorIgnoringFunction(func) {
|
|
74
|
+
return function (...args) {
|
|
75
|
+
try {
|
|
76
|
+
func(...args);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const noop = (...args) => {
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
function createLogger(error, warn = noop, log = noop, info = noop, debug = noop) {
|
|
87
|
+
if (notValidLogFn(error)) {
|
|
88
|
+
throw createError(notFnMsg('error'));
|
|
89
|
+
}
|
|
90
|
+
if (notValidLogFn(warn)) {
|
|
91
|
+
throw createError(notFnMsg('warn'));
|
|
92
|
+
}
|
|
93
|
+
if (notValidLogFn(log)) {
|
|
94
|
+
throw createError(notFnMsg('log'));
|
|
95
|
+
}
|
|
96
|
+
if (notValidLogFn(info)) {
|
|
97
|
+
throw createError(notFnMsg('info'));
|
|
98
|
+
}
|
|
99
|
+
if (notValidLogFn(debug)) {
|
|
100
|
+
throw createError(notFnMsg('debug'));
|
|
101
|
+
}
|
|
102
|
+
const { setLogLevel, getLogLevel, shouldLog } = createLogLevelConfig();
|
|
103
|
+
const wrapLogFn = (fn, level) => {
|
|
104
|
+
if (fn === noop)
|
|
105
|
+
return fn;
|
|
106
|
+
const condition = () => shouldLog(level);
|
|
107
|
+
return createConditionalExecutionFunction(createErrorIgnoringFunction(fn), condition);
|
|
108
|
+
};
|
|
109
|
+
const core = {
|
|
110
|
+
error: wrapLogFn(error, 'error'),
|
|
111
|
+
warn: wrapLogFn(warn, 'warn'),
|
|
112
|
+
log: wrapLogFn(log, 'log'),
|
|
113
|
+
info: wrapLogFn(info, 'info'),
|
|
114
|
+
debug: wrapLogFn(debug, 'debug'),
|
|
115
|
+
setLogLevel,
|
|
116
|
+
getLogLevel,
|
|
117
|
+
};
|
|
118
|
+
return createPrefixedLogger(core, '');
|
|
119
|
+
}
|
|
120
|
+
function createPrefixedLogger(core, fullPrefix) {
|
|
121
|
+
const tag = fullPrefix ? `[${fullPrefix}]` : '';
|
|
122
|
+
const prefixed = (fn) => {
|
|
123
|
+
if (!tag)
|
|
124
|
+
return fn;
|
|
125
|
+
return (...data) => fn(tag, ...data);
|
|
126
|
+
};
|
|
127
|
+
const instance = freeze({
|
|
128
|
+
error: prefixed(core.error),
|
|
129
|
+
warn: prefixed(core.warn),
|
|
130
|
+
log: prefixed(core.log),
|
|
131
|
+
info: prefixed(core.info),
|
|
132
|
+
debug: prefixed(core.debug),
|
|
133
|
+
setLogLevel: core.setLogLevel,
|
|
134
|
+
getLogLevel: core.getLogLevel,
|
|
135
|
+
channel: (childPrefix) => createPrefixedLogger(core, fullPrefix ? `${fullPrefix}:${childPrefix}` : childPrefix),
|
|
136
|
+
timed(label, fn) {
|
|
137
|
+
return runTimed(instance, label, fn);
|
|
138
|
+
},
|
|
139
|
+
timedAsync(label, fn) {
|
|
140
|
+
return runTimedAsync(instance, label, fn);
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
return instance;
|
|
144
|
+
}
|
|
145
|
+
function runTimed(logger, label, fn) {
|
|
146
|
+
const start = dateNow();
|
|
147
|
+
try {
|
|
148
|
+
const result = fn();
|
|
149
|
+
const elapsed = dateNow() - start;
|
|
150
|
+
logger.debug(`${label} completed in ${elapsed}ms`);
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
const elapsed = dateNow() - start;
|
|
155
|
+
logger.error(`${label} failed after ${elapsed}ms: ${describeError(error)}`);
|
|
156
|
+
throw error;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async function runTimedAsync(logger, label, fn) {
|
|
160
|
+
const start = dateNow();
|
|
161
|
+
try {
|
|
162
|
+
const result = await fn();
|
|
163
|
+
const elapsed = dateNow() - start;
|
|
164
|
+
logger.debug(`${label} completed in ${elapsed}ms`);
|
|
165
|
+
return result;
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
const elapsed = dateNow() - start;
|
|
169
|
+
logger.error(`${label} failed after ${elapsed}ms: ${describeError(error)}`);
|
|
170
|
+
if (error instanceof Error && error.stack) {
|
|
171
|
+
logger.debug(`Stack trace:\n${error.stack}`);
|
|
172
|
+
}
|
|
173
|
+
throw error;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function describeError(error) {
|
|
177
|
+
return error instanceof Error ? error.message : String(error);
|
|
178
|
+
}
|
|
179
|
+
function notValidLogFn(fn) {
|
|
180
|
+
return getType(fn) !== 'function' && fn !== noop;
|
|
181
|
+
}
|
|
182
|
+
function notFnMsg(label) {
|
|
183
|
+
return `Cannot create a logger when ${label} is not a function`;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const logger = createLogger(error$1, warn$1, log$1, info$1, debug$1);
|
|
187
|
+
|
|
188
|
+
exports.createLogLevelConfig = createLogLevelConfig;
|
|
189
|
+
exports.createLogger = createLogger;
|
|
190
|
+
exports.isValidLogLevel = isValidLogLevel;
|
|
191
|
+
exports.logger = logger;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/** Valid log level values in order of verbosity */
|
|
2
|
+
type LogLevel = 'none' | 'error' | 'warn' | 'log' | 'info' | 'debug';
|
|
3
|
+
/**
|
|
4
|
+
* Encapsulates the current log level state.
|
|
5
|
+
*/
|
|
6
|
+
interface LogLevelState {
|
|
7
|
+
/** The active log level */
|
|
8
|
+
level: LogLevel;
|
|
9
|
+
}
|
|
10
|
+
/** Function to update the log level */
|
|
11
|
+
type SetLogLevel = (level: LogLevel) => void;
|
|
12
|
+
/** Function to retrieve the current log level */
|
|
13
|
+
type GetLogLevel = () => LogLevel;
|
|
14
|
+
/** Predicate to determine if a message should be logged */
|
|
15
|
+
type ShouldLog = (level: LogLevel) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Configuration interface for managing log levels.
|
|
18
|
+
*/
|
|
19
|
+
interface LogLevelConfig {
|
|
20
|
+
/** Updates the log level */
|
|
21
|
+
setLogLevel: SetLogLevel;
|
|
22
|
+
/** Retrieves the current log level */
|
|
23
|
+
getLogLevel: GetLogLevel;
|
|
24
|
+
/** Checks if a given level should be logged */
|
|
25
|
+
shouldLog: ShouldLog;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Validates whether a given string is a valid log level.
|
|
29
|
+
*
|
|
30
|
+
* @param level - The log level to validate
|
|
31
|
+
* @returns True if the level is valid, false otherwise
|
|
32
|
+
*
|
|
33
|
+
* @example Validating log levels
|
|
34
|
+
* ```typescript
|
|
35
|
+
* isValidLogLevel('error') // => true
|
|
36
|
+
* isValidLogLevel('verbose') // => false
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
declare function isValidLogLevel(level: LogLevel): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a log level configuration manager for controlling logging behavior.
|
|
42
|
+
* Provides methods to get, set, and evaluate log levels based on priority.
|
|
43
|
+
*
|
|
44
|
+
* @param level - The initial log level (defaults to 'error')
|
|
45
|
+
* @returns A configuration object with log level management methods
|
|
46
|
+
* @throws {Error} When the provided level is not a valid log level
|
|
47
|
+
*
|
|
48
|
+
* @example Managing log levels with priority checks
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const config = createLogLevelConfig('warn')
|
|
51
|
+
* config.shouldLog('error') // => true (error >= warn)
|
|
52
|
+
* config.shouldLog('debug') // => false (debug < warn)
|
|
53
|
+
* config.setLogLevel('debug')
|
|
54
|
+
* config.shouldLog('debug') // => true
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
declare function createLogLevelConfig(level?: LogLevel): LogLevelConfig;
|
|
58
|
+
|
|
59
|
+
/** Function signature for standard log output */
|
|
60
|
+
type LogLevelFn = (...data: any[]) => void;
|
|
61
|
+
/** Function signature for warning output */
|
|
62
|
+
type WarnLevelFn = (...data: any[]) => void;
|
|
63
|
+
/** Function signature for error output */
|
|
64
|
+
type ErrorLevelFn = (...data: any[]) => void;
|
|
65
|
+
/** Function signature for info output */
|
|
66
|
+
type InfoLevelFn = (...data: any[]) => void;
|
|
67
|
+
/** Function signature for debug output */
|
|
68
|
+
type DebugLevelFn = (...data: any[]) => void;
|
|
69
|
+
/** Returns a sub-logger that prepends `[prefix]` to every message. */
|
|
70
|
+
type ChannelFn = (prefix: string) => Logger;
|
|
71
|
+
/** Wraps a sync call with timing. Logs completion or failure with elapsed ms. */
|
|
72
|
+
type TimedFn = <T>(label: string, fn: () => T) => T;
|
|
73
|
+
/** Wraps a promise-returning call with timing. Dumps stack trace on error to debug log. */
|
|
74
|
+
type TimedAsyncFn = <T>(label: string, fn: () => Promise<T>) => Promise<T>;
|
|
75
|
+
/** Logger interface with level-specific methods and level control */
|
|
76
|
+
interface Logger {
|
|
77
|
+
/** Standard log output */
|
|
78
|
+
log: LogLevelFn;
|
|
79
|
+
/** Warning-level output */
|
|
80
|
+
warn: WarnLevelFn;
|
|
81
|
+
/** Error-level output */
|
|
82
|
+
error: ErrorLevelFn;
|
|
83
|
+
/** Info-level output */
|
|
84
|
+
info: InfoLevelFn;
|
|
85
|
+
/** Debug-level output */
|
|
86
|
+
debug: DebugLevelFn;
|
|
87
|
+
/** Sets the current log level */
|
|
88
|
+
setLogLevel: SetLogLevel;
|
|
89
|
+
/** Gets the current log level */
|
|
90
|
+
getLogLevel: GetLogLevel;
|
|
91
|
+
/** Returns a sub-logger that prepends `[prefix]` to every message. */
|
|
92
|
+
channel: ChannelFn;
|
|
93
|
+
/** Wraps a sync call with timing. Logs completion or failure with elapsed ms. */
|
|
94
|
+
timed: TimedFn;
|
|
95
|
+
/** Wraps a promise-returning call with timing. Dumps stack trace on error to debug log. */
|
|
96
|
+
timedAsync: TimedAsyncFn;
|
|
97
|
+
}
|
|
98
|
+
/** Keys of Logger that represent log functions */
|
|
99
|
+
type LogFnName = Extract<keyof Logger, 'error' | 'warn' | 'log' | 'info' | 'debug'>;
|
|
100
|
+
/** Union type of all log function signatures */
|
|
101
|
+
type LogFunction = Logger[LogFnName];
|
|
102
|
+
/**
|
|
103
|
+
* Creates a logger instance with configurable log level filtering.
|
|
104
|
+
* Each log function is wrapped to respect the current log level setting.
|
|
105
|
+
*
|
|
106
|
+
* @param error - Function to handle error-level logs (required)
|
|
107
|
+
* @param warn - Function to handle warning-level logs (optional, defaults to noop)
|
|
108
|
+
* @param log - Function to handle standard logs (optional, defaults to noop)
|
|
109
|
+
* @param info - Function to handle info-level logs (optional, defaults to noop)
|
|
110
|
+
* @param debug - Function to handle debug-level logs (optional, defaults to noop)
|
|
111
|
+
* @returns A frozen logger object with log methods, level control, channel, and timing helpers
|
|
112
|
+
* @throws {ErrorLevelFn} When any provided log function is invalid
|
|
113
|
+
*
|
|
114
|
+
* @example Creating a logger with log level filtering
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const logger = createLogger(console.error, console.warn, console.log)
|
|
117
|
+
* logger.setLogLevel('warn')
|
|
118
|
+
* logger.warn('Connection timeout') // logs
|
|
119
|
+
* logger.info('Request complete') // suppressed (below 'warn' level)
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* @example Channeling and timing
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const logger = createLogger(console.error, console.warn, console.log, console.info, console.debug)
|
|
125
|
+
* logger.setLogLevel('debug')
|
|
126
|
+
* const build = logger.channel('build')
|
|
127
|
+
* await build.timedAsync('bundle', async () => bundle())
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
declare function createLogger(error: ErrorLevelFn, warn?: WarnLevelFn, log?: LogLevelFn, info?: InfoLevelFn, debug?: DebugLevelFn): Logger;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Validates whether an object is a properly structured Logger instance.
|
|
134
|
+
* Checks for the presence and type of all required logger methods.
|
|
135
|
+
*
|
|
136
|
+
* @param logger - The object to validate
|
|
137
|
+
* @returns True if the object is a valid logger, false otherwise
|
|
138
|
+
*
|
|
139
|
+
* @example Validating a logger instance
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const logger = createLogger(console.error)
|
|
142
|
+
* isValidLogger(logger) // => true
|
|
143
|
+
* isValidLogger({}) // => false
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
declare function isValidLogger(logger: unknown): boolean;
|
|
147
|
+
|
|
148
|
+
declare const logger: Logger;
|
|
149
|
+
|
|
150
|
+
export { createLogLevelConfig, createLogger, isValidLogLevel, isValidLogger, logger };
|
|
151
|
+
export type { ChannelFn, DebugLevelFn, ErrorLevelFn, GetLogLevel, InfoLevelFn, LogFnName, LogFunction, LogLevel, LogLevelConfig, LogLevelFn, LogLevelState, Logger, SetLogLevel, ShouldLog, TimedAsyncFn, TimedFn, WarnLevelFn };
|