@hyperfrontend/project-scope 0.2.0 → 0.2.2
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 +13 -15
- 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/stat/index.cjs.js +46 -0
- package/_shared/core/fs/stat/index.esm.js +40 -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 +1699 -2040
- package/cli/index.d.ts +273 -7
- package/cli/index.d.ts.map +1 -1
- package/cli/index.esm.js +1603 -1944
- package/core/encoding/index.cjs.js +88 -424
- package/core/encoding/index.d.ts +186 -3
- package/core/encoding/index.d.ts.map +1 -1
- package/core/encoding/index.esm.js +80 -415
- package/core/fs/index.cjs.js +231 -595
- package/core/fs/index.d.ts +479 -6
- package/core/fs/index.d.ts.map +1 -1
- package/core/fs/index.esm.js +221 -585
- package/core/index.cjs.js +518 -1804
- package/core/index.d.ts +486 -9
- package/core/index.d.ts.map +1 -1
- package/core/index.esm.js +501 -1784
- package/core/path/index.cjs.js +6 -235
- package/core/path/index.d.ts +306 -5
- package/core/path/index.d.ts.map +1 -1
- package/core/path/index.esm.js +4 -233
- package/core/platform/index.cjs.js +5 -226
- package/core/platform/index.d.ts +185 -3
- package/core/platform/index.d.ts.map +1 -1
- package/core/platform/index.esm.js +3 -222
- package/heuristics/dependencies/index.cjs.js +95 -509
- package/heuristics/dependencies/index.d.ts +99 -2
- package/heuristics/dependencies/index.d.ts.map +1 -1
- package/heuristics/dependencies/index.esm.js +69 -483
- package/heuristics/entry-points/index.cjs.js +93 -825
- 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 -806
- package/heuristics/framework/index.cjs.js +1482 -1473
- package/heuristics/framework/index.d.ts +104 -2
- package/heuristics/framework/index.d.ts.map +1 -1
- package/heuristics/framework/index.esm.js +1418 -1409
- package/heuristics/index.cjs.js +3207 -3383
- package/heuristics/index.d.ts +4 -5
- package/heuristics/index.d.ts.map +1 -1
- package/heuristics/index.esm.js +3234 -3410
- package/heuristics/project-type/index.cjs.js +1488 -1500
- 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 +1417 -1429
- package/index.cjs.js +3064 -3765
- package/index.d.ts +44 -10
- package/index.d.ts.map +1 -1
- package/index.esm.js +2923 -3612
- 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 +163 -606
- package/nx/index.d.ts +279 -4
- package/nx/index.d.ts.map +1 -1
- package/nx/index.esm.js +145 -583
- package/package.json +13 -12
- package/project/config/index.cjs.js +122 -1104
- package/project/config/index.d.ts +202 -4
- package/project/config/index.d.ts.map +1 -1
- package/project/config/index.esm.js +105 -1085
- package/project/index.cjs.js +323 -1143
- package/project/index.d.ts +4 -5
- package/project/index.d.ts.map +1 -1
- package/project/index.esm.js +302 -1119
- package/project/package/index.cjs.js +191 -483
- package/project/package/index.d.ts +280 -3
- package/project/package/index.d.ts.map +1 -1
- package/project/package/index.esm.js +178 -469
- package/project/root/index.cjs.js +107 -427
- package/project/root/index.d.ts +83 -2
- package/project/root/index.d.ts.map +1 -1
- package/project/root/index.esm.js +96 -416
- package/project/traversal/index.cjs.js +94 -645
- package/project/traversal/index.d.ts +165 -3
- package/project/traversal/index.d.ts.map +1 -1
- package/project/traversal/index.esm.js +80 -631
- package/tech/backend/index.cjs.js +221 -524
- package/tech/backend/index.d.ts +205 -8
- package/tech/backend/index.d.ts.map +1 -1
- package/tech/backend/index.esm.js +200 -503
- package/tech/build/index.cjs.js +348 -647
- package/tech/build/index.d.ts +276 -10
- package/tech/build/index.d.ts.map +1 -1
- package/tech/build/index.esm.js +326 -625
- package/tech/frontend/index.cjs.js +505 -700
- package/tech/frontend/index.d.ts +379 -15
- package/tech/frontend/index.d.ts.map +1 -1
- package/tech/frontend/index.esm.js +481 -676
- package/tech/index.cjs.js +1580 -1482
- package/tech/index.d.ts +55 -32
- package/tech/index.d.ts.map +1 -1
- package/tech/index.esm.js +1513 -1415
- package/tech/legacy/index.cjs.js +97 -474
- package/tech/legacy/index.d.ts +125 -7
- package/tech/legacy/index.d.ts.map +1 -1
- package/tech/legacy/index.esm.js +79 -456
- package/tech/linting/index.cjs.js +136 -536
- package/tech/linting/index.d.ts +129 -7
- package/tech/linting/index.d.ts.map +1 -1
- package/tech/linting/index.esm.js +116 -516
- package/tech/monorepo/index.cjs.js +244 -584
- package/tech/monorepo/index.d.ts +241 -10
- package/tech/monorepo/index.d.ts.map +1 -1
- package/tech/monorepo/index.esm.js +224 -564
- package/tech/testing/index.cjs.js +214 -582
- package/tech/testing/index.d.ts +176 -8
- package/tech/testing/index.d.ts.map +1 -1
- package/tech/testing/index.esm.js +196 -564
- package/tech/types/index.cjs.js +121 -532
- package/tech/types/index.d.ts +120 -2
- package/tech/types/index.d.ts.map +1 -1
- package/tech/types/index.esm.js +99 -510
- package/vfs/index.cjs.js +647 -1187
- package/vfs/index.d.ts +360 -6
- package/vfs/index.d.ts.map +1 -1
- package/vfs/index.esm.js +672 -1212
- 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 -20
- package/cli/commands/analyze.d.ts.map +0 -1
- package/cli/commands/config.d.ts +0 -20
- package/cli/commands/config.d.ts.map +0 -1
- package/cli/commands/deps.d.ts +0 -18
- package/cli/commands/deps.d.ts.map +0 -1
- package/cli/commands/tree.d.ts +0 -24
- 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 -157
- 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 -86
- 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 -64
- package/core/errors/structured-errors.d.ts.map +0 -1
- package/core/fs/directory.d.ts +0 -88
- 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 -86
- 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 -46
- 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 -86
- 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 -109
- 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 -66
- 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 -178
- package/vfs/types.d.ts.map +0 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { createError } from '../immutable-api-utils/built-in-copy/error/index.esm.js';
|
|
2
|
+
import { freeze } from '../immutable-api-utils/built-in-copy/object/index.esm.js';
|
|
3
|
+
import { isArray } from '../immutable-api-utils/built-in-copy/array/index.esm.js';
|
|
4
|
+
import '../immutable-api-utils/built-in-copy/map/index.esm.js';
|
|
5
|
+
import { dateNow } from '../immutable-api-utils/built-in-copy/date/index.esm.js';
|
|
6
|
+
import '../immutable-api-utils/built-in-copy/math/index.esm.js';
|
|
7
|
+
import '../immutable-api-utils/built-in-copy/set/index.esm.js';
|
|
8
|
+
import { debug, info, log, warn, error } from '../immutable-api-utils/built-in-copy/console/index.esm.js';
|
|
9
|
+
|
|
10
|
+
const logLevels = ['none', 'error', 'warn', 'log', 'info', 'debug'];
|
|
11
|
+
const priority = {
|
|
12
|
+
error: 4,
|
|
13
|
+
warn: 3,
|
|
14
|
+
log: 2,
|
|
15
|
+
info: 1,
|
|
16
|
+
debug: 0,
|
|
17
|
+
};
|
|
18
|
+
function isValidLogLevel(level) {
|
|
19
|
+
return logLevels.includes(level);
|
|
20
|
+
}
|
|
21
|
+
function createLogLevelConfig(level = 'error') {
|
|
22
|
+
if (!isValidLogLevel(level)) {
|
|
23
|
+
throw createError('Cannot create log level configuration with a valid default log level');
|
|
24
|
+
}
|
|
25
|
+
const state = { level };
|
|
26
|
+
const getLogLevel = () => state.level;
|
|
27
|
+
const setLogLevel = (level) => {
|
|
28
|
+
if (!isValidLogLevel(level)) {
|
|
29
|
+
throw createError(`Cannot set value '${level}' level. Expected levels are ${logLevels}.`);
|
|
30
|
+
}
|
|
31
|
+
state.level = level;
|
|
32
|
+
};
|
|
33
|
+
const shouldLog = (level) => {
|
|
34
|
+
if (state.level === 'none' || level === 'none' || !isValidLogLevel(level)) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return priority[level] >= priority[state.level];
|
|
38
|
+
};
|
|
39
|
+
return freeze({
|
|
40
|
+
getLogLevel,
|
|
41
|
+
setLogLevel,
|
|
42
|
+
shouldLog,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const registeredClasses = [];
|
|
47
|
+
|
|
48
|
+
const getType = (target) => {
|
|
49
|
+
if (target === null)
|
|
50
|
+
return 'null';
|
|
51
|
+
const nativeDataType = typeof target;
|
|
52
|
+
if (nativeDataType === 'object') {
|
|
53
|
+
if (isArray(target))
|
|
54
|
+
return 'array';
|
|
55
|
+
for (const registeredClass of registeredClasses) {
|
|
56
|
+
if (target instanceof registeredClass)
|
|
57
|
+
return registeredClass.name;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return nativeDataType;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
function createConditionalExecutionFunction(func, conditionFunc) {
|
|
64
|
+
return function (...args) {
|
|
65
|
+
if (conditionFunc()) {
|
|
66
|
+
return func(...args);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function createErrorIgnoringFunction(func) {
|
|
72
|
+
return function (...args) {
|
|
73
|
+
try {
|
|
74
|
+
func(...args);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const noop = (...args) => {
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
function createLogger(error, warn = noop, log = noop, info = noop, debug = noop) {
|
|
85
|
+
if (notValidLogFn(error)) {
|
|
86
|
+
throw createError(notFnMsg('error'));
|
|
87
|
+
}
|
|
88
|
+
if (notValidLogFn(warn)) {
|
|
89
|
+
throw createError(notFnMsg('warn'));
|
|
90
|
+
}
|
|
91
|
+
if (notValidLogFn(log)) {
|
|
92
|
+
throw createError(notFnMsg('log'));
|
|
93
|
+
}
|
|
94
|
+
if (notValidLogFn(info)) {
|
|
95
|
+
throw createError(notFnMsg('info'));
|
|
96
|
+
}
|
|
97
|
+
if (notValidLogFn(debug)) {
|
|
98
|
+
throw createError(notFnMsg('debug'));
|
|
99
|
+
}
|
|
100
|
+
const { setLogLevel, getLogLevel, shouldLog } = createLogLevelConfig();
|
|
101
|
+
const wrapLogFn = (fn, level) => {
|
|
102
|
+
if (fn === noop)
|
|
103
|
+
return fn;
|
|
104
|
+
const condition = () => shouldLog(level);
|
|
105
|
+
return createConditionalExecutionFunction(createErrorIgnoringFunction(fn), condition);
|
|
106
|
+
};
|
|
107
|
+
const core = {
|
|
108
|
+
error: wrapLogFn(error, 'error'),
|
|
109
|
+
warn: wrapLogFn(warn, 'warn'),
|
|
110
|
+
log: wrapLogFn(log, 'log'),
|
|
111
|
+
info: wrapLogFn(info, 'info'),
|
|
112
|
+
debug: wrapLogFn(debug, 'debug'),
|
|
113
|
+
setLogLevel,
|
|
114
|
+
getLogLevel,
|
|
115
|
+
};
|
|
116
|
+
return createPrefixedLogger(core, '');
|
|
117
|
+
}
|
|
118
|
+
function createPrefixedLogger(core, fullPrefix) {
|
|
119
|
+
const tag = fullPrefix ? `[${fullPrefix}]` : '';
|
|
120
|
+
const prefixed = (fn) => {
|
|
121
|
+
if (!tag)
|
|
122
|
+
return fn;
|
|
123
|
+
return (...data) => fn(tag, ...data);
|
|
124
|
+
};
|
|
125
|
+
const instance = freeze({
|
|
126
|
+
error: prefixed(core.error),
|
|
127
|
+
warn: prefixed(core.warn),
|
|
128
|
+
log: prefixed(core.log),
|
|
129
|
+
info: prefixed(core.info),
|
|
130
|
+
debug: prefixed(core.debug),
|
|
131
|
+
setLogLevel: core.setLogLevel,
|
|
132
|
+
getLogLevel: core.getLogLevel,
|
|
133
|
+
channel: (childPrefix) => createPrefixedLogger(core, fullPrefix ? `${fullPrefix}:${childPrefix}` : childPrefix),
|
|
134
|
+
timed(label, fn) {
|
|
135
|
+
return runTimed(instance, label, fn);
|
|
136
|
+
},
|
|
137
|
+
timedAsync(label, fn) {
|
|
138
|
+
return runTimedAsync(instance, label, fn);
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
return instance;
|
|
142
|
+
}
|
|
143
|
+
function runTimed(logger, label, fn) {
|
|
144
|
+
const start = dateNow();
|
|
145
|
+
try {
|
|
146
|
+
const result = fn();
|
|
147
|
+
const elapsed = dateNow() - start;
|
|
148
|
+
logger.debug(`${label} completed in ${elapsed}ms`);
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
const elapsed = dateNow() - start;
|
|
153
|
+
logger.error(`${label} failed after ${elapsed}ms: ${describeError(error)}`);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function runTimedAsync(logger, label, fn) {
|
|
158
|
+
const start = dateNow();
|
|
159
|
+
try {
|
|
160
|
+
const result = await fn();
|
|
161
|
+
const elapsed = dateNow() - start;
|
|
162
|
+
logger.debug(`${label} completed in ${elapsed}ms`);
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
const elapsed = dateNow() - start;
|
|
167
|
+
logger.error(`${label} failed after ${elapsed}ms: ${describeError(error)}`);
|
|
168
|
+
if (error instanceof Error && error.stack) {
|
|
169
|
+
logger.debug(`Stack trace:\n${error.stack}`);
|
|
170
|
+
}
|
|
171
|
+
throw error;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function describeError(error) {
|
|
175
|
+
return error instanceof Error ? error.message : String(error);
|
|
176
|
+
}
|
|
177
|
+
function notValidLogFn(fn) {
|
|
178
|
+
return getType(fn) !== 'function' && fn !== noop;
|
|
179
|
+
}
|
|
180
|
+
function notFnMsg(label) {
|
|
181
|
+
return `Cannot create a logger when ${label} is not a function`;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
const logger = createLogger(error, warn, log, info, debug);
|
|
185
|
+
|
|
186
|
+
export { createLogLevelConfig, createLogger, isValidLogLevel, logger };
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js = require('../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js');
|
|
4
|
+
const index_cjs_js$7 = require('../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.cjs.js');
|
|
5
|
+
const index_cjs_js$2 = require('../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js');
|
|
6
|
+
|
|
7
|
+
const cacheRegistry = index_cjs_js.createSet();
|
|
8
|
+
function createCache(options) {
|
|
9
|
+
const { ttl, maxSize } = options ?? {};
|
|
10
|
+
const store = index_cjs_js$7.createMap();
|
|
11
|
+
const insertionOrder = [];
|
|
12
|
+
/**
|
|
13
|
+
* Check if an entry is expired.
|
|
14
|
+
*
|
|
15
|
+
* @param entry - Cache entry to check
|
|
16
|
+
* @returns True if entry is expired
|
|
17
|
+
*/
|
|
18
|
+
function isExpired(entry) {
|
|
19
|
+
if (ttl === undefined)
|
|
20
|
+
return false;
|
|
21
|
+
// eslint-disable-next-line workspace/no-unsafe-builtin-methods -- Date.now() is needed for Jest fake timers compatibility
|
|
22
|
+
return Date.now() - entry.timestamp > ttl;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Evict oldest entries to make room for new ones.
|
|
26
|
+
*/
|
|
27
|
+
function evictIfNeeded() {
|
|
28
|
+
if (maxSize === undefined)
|
|
29
|
+
return;
|
|
30
|
+
while (store.size >= maxSize && insertionOrder.length > 0) {
|
|
31
|
+
const oldestKey = insertionOrder.shift();
|
|
32
|
+
if (oldestKey !== undefined) {
|
|
33
|
+
store.delete(oldestKey);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Remove key from insertion order tracking.
|
|
39
|
+
*
|
|
40
|
+
* @param key - Key to remove from order tracking
|
|
41
|
+
*/
|
|
42
|
+
function removeFromOrder(key) {
|
|
43
|
+
const index = insertionOrder.indexOf(key);
|
|
44
|
+
if (index !== -1) {
|
|
45
|
+
insertionOrder.splice(index, 1);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const cache = {
|
|
49
|
+
get(key) {
|
|
50
|
+
const entry = store.get(key);
|
|
51
|
+
if (!entry)
|
|
52
|
+
return undefined;
|
|
53
|
+
if (isExpired(entry)) {
|
|
54
|
+
store.delete(key);
|
|
55
|
+
removeFromOrder(key);
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
return entry.value;
|
|
59
|
+
},
|
|
60
|
+
set(key, value) {
|
|
61
|
+
if (store.has(key)) {
|
|
62
|
+
removeFromOrder(key);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
evictIfNeeded();
|
|
66
|
+
}
|
|
67
|
+
// eslint-disable-next-line workspace/no-unsafe-builtin-methods -- Date.now() is needed for Jest fake timers compatibility
|
|
68
|
+
store.set(key, { value, timestamp: Date.now() });
|
|
69
|
+
insertionOrder.push(key);
|
|
70
|
+
},
|
|
71
|
+
has(key) {
|
|
72
|
+
const entry = store.get(key);
|
|
73
|
+
if (!entry)
|
|
74
|
+
return false;
|
|
75
|
+
if (isExpired(entry)) {
|
|
76
|
+
store.delete(key);
|
|
77
|
+
removeFromOrder(key);
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
},
|
|
82
|
+
delete(key) {
|
|
83
|
+
removeFromOrder(key);
|
|
84
|
+
return store.delete(key);
|
|
85
|
+
},
|
|
86
|
+
clear() {
|
|
87
|
+
store.clear();
|
|
88
|
+
insertionOrder.length = 0;
|
|
89
|
+
},
|
|
90
|
+
size() {
|
|
91
|
+
return store.size;
|
|
92
|
+
},
|
|
93
|
+
keys() {
|
|
94
|
+
return [...insertionOrder];
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
cacheRegistry.add(cache);
|
|
98
|
+
return index_cjs_js$2.freeze(cache);
|
|
99
|
+
}
|
|
100
|
+
function clearAllCaches() {
|
|
101
|
+
for (const cache of cacheRegistry) {
|
|
102
|
+
cache.clear();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function getCacheCount() {
|
|
106
|
+
return cacheRegistry.size;
|
|
107
|
+
}
|
|
108
|
+
function unregisterCache(cache) {
|
|
109
|
+
return cacheRegistry.delete(cache);
|
|
110
|
+
}
|
|
111
|
+
function memoize(fn, options) {
|
|
112
|
+
const cache = createCache(options);
|
|
113
|
+
const memoized = (key) => {
|
|
114
|
+
const cached = cache.get(key);
|
|
115
|
+
if (cached !== undefined) {
|
|
116
|
+
return cached;
|
|
117
|
+
}
|
|
118
|
+
const result = fn(key);
|
|
119
|
+
cache.set(key, result);
|
|
120
|
+
return result;
|
|
121
|
+
};
|
|
122
|
+
index_cjs_js$2.defineProperty(memoized, 'cache', {
|
|
123
|
+
value: cache,
|
|
124
|
+
writable: false,
|
|
125
|
+
enumerable: true,
|
|
126
|
+
});
|
|
127
|
+
return memoized;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
exports.cacheRegistry = cacheRegistry;
|
|
131
|
+
exports.createCache = createCache;
|
|
132
|
+
exports.clearAllCaches = clearAllCaches;
|
|
133
|
+
exports.getCacheCount = getCacheCount;
|
|
134
|
+
exports.unregisterCache = unregisterCache;
|
|
135
|
+
exports.memoize = memoize;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { createMap } from '../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.esm.js';
|
|
2
|
+
import { keys, freeze, defineProperty } from '../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js';
|
|
3
|
+
import { createSet } from '../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js';
|
|
4
|
+
|
|
5
|
+
const cacheRegistry = createSet();
|
|
6
|
+
function createCache(options) {
|
|
7
|
+
const { ttl, maxSize } = options ?? {};
|
|
8
|
+
const store = createMap();
|
|
9
|
+
const insertionOrder = [];
|
|
10
|
+
/**
|
|
11
|
+
* Check if an entry is expired.
|
|
12
|
+
*
|
|
13
|
+
* @param entry - Cache entry to check
|
|
14
|
+
* @returns True if entry is expired
|
|
15
|
+
*/
|
|
16
|
+
function isExpired(entry) {
|
|
17
|
+
if (ttl === undefined)
|
|
18
|
+
return false;
|
|
19
|
+
// eslint-disable-next-line workspace/no-unsafe-builtin-methods -- Date.now() is needed for Jest fake timers compatibility
|
|
20
|
+
return Date.now() - entry.timestamp > ttl;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Evict oldest entries to make room for new ones.
|
|
24
|
+
*/
|
|
25
|
+
function evictIfNeeded() {
|
|
26
|
+
if (maxSize === undefined)
|
|
27
|
+
return;
|
|
28
|
+
while (store.size >= maxSize && insertionOrder.length > 0) {
|
|
29
|
+
const oldestKey = insertionOrder.shift();
|
|
30
|
+
if (oldestKey !== undefined) {
|
|
31
|
+
store.delete(oldestKey);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Remove key from insertion order tracking.
|
|
37
|
+
*
|
|
38
|
+
* @param key - Key to remove from order tracking
|
|
39
|
+
*/
|
|
40
|
+
function removeFromOrder(key) {
|
|
41
|
+
const index = insertionOrder.indexOf(key);
|
|
42
|
+
if (index !== -1) {
|
|
43
|
+
insertionOrder.splice(index, 1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const cache = {
|
|
47
|
+
get(key) {
|
|
48
|
+
const entry = store.get(key);
|
|
49
|
+
if (!entry)
|
|
50
|
+
return undefined;
|
|
51
|
+
if (isExpired(entry)) {
|
|
52
|
+
store.delete(key);
|
|
53
|
+
removeFromOrder(key);
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
return entry.value;
|
|
57
|
+
},
|
|
58
|
+
set(key, value) {
|
|
59
|
+
if (store.has(key)) {
|
|
60
|
+
removeFromOrder(key);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
evictIfNeeded();
|
|
64
|
+
}
|
|
65
|
+
// eslint-disable-next-line workspace/no-unsafe-builtin-methods -- Date.now() is needed for Jest fake timers compatibility
|
|
66
|
+
store.set(key, { value, timestamp: Date.now() });
|
|
67
|
+
insertionOrder.push(key);
|
|
68
|
+
},
|
|
69
|
+
has(key) {
|
|
70
|
+
const entry = store.get(key);
|
|
71
|
+
if (!entry)
|
|
72
|
+
return false;
|
|
73
|
+
if (isExpired(entry)) {
|
|
74
|
+
store.delete(key);
|
|
75
|
+
removeFromOrder(key);
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return true;
|
|
79
|
+
},
|
|
80
|
+
delete(key) {
|
|
81
|
+
removeFromOrder(key);
|
|
82
|
+
return store.delete(key);
|
|
83
|
+
},
|
|
84
|
+
clear() {
|
|
85
|
+
store.clear();
|
|
86
|
+
insertionOrder.length = 0;
|
|
87
|
+
},
|
|
88
|
+
size() {
|
|
89
|
+
return store.size;
|
|
90
|
+
},
|
|
91
|
+
keys() {
|
|
92
|
+
return [...insertionOrder];
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
cacheRegistry.add(cache);
|
|
96
|
+
return freeze(cache);
|
|
97
|
+
}
|
|
98
|
+
function clearAllCaches() {
|
|
99
|
+
for (const cache of cacheRegistry) {
|
|
100
|
+
cache.clear();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function getCacheCount() {
|
|
104
|
+
return cacheRegistry.size;
|
|
105
|
+
}
|
|
106
|
+
function unregisterCache(cache) {
|
|
107
|
+
return cacheRegistry.delete(cache);
|
|
108
|
+
}
|
|
109
|
+
function memoize(fn, options) {
|
|
110
|
+
const cache = createCache(options);
|
|
111
|
+
const memoized = (key) => {
|
|
112
|
+
const cached = cache.get(key);
|
|
113
|
+
if (cached !== undefined) {
|
|
114
|
+
return cached;
|
|
115
|
+
}
|
|
116
|
+
const result = fn(key);
|
|
117
|
+
cache.set(key, result);
|
|
118
|
+
return result;
|
|
119
|
+
};
|
|
120
|
+
defineProperty(memoized, 'cache', {
|
|
121
|
+
value: cache,
|
|
122
|
+
writable: false,
|
|
123
|
+
enumerable: true,
|
|
124
|
+
});
|
|
125
|
+
return memoized;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export { cacheRegistry, createCache, clearAllCaches, getCacheCount, unregisterCache, memoize };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$6 = require('../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js');
|
|
4
|
+
|
|
5
|
+
function createStructuredError(message, code, context) {
|
|
6
|
+
const error = index_cjs_js$6.createError(message);
|
|
7
|
+
error.code = code;
|
|
8
|
+
error.context = context ?? {};
|
|
9
|
+
return error;
|
|
10
|
+
}
|
|
11
|
+
function createConfigError(message, code, context) {
|
|
12
|
+
return createStructuredError(message, code, { ...context, type: 'config' });
|
|
13
|
+
}
|
|
14
|
+
function createFsError(message, code, context) {
|
|
15
|
+
return createStructuredError(message, code, { ...context, type: 'fs' });
|
|
16
|
+
}
|
|
17
|
+
function createParseError(message, code, context) {
|
|
18
|
+
return createStructuredError(message, code, { ...context, type: 'parse' });
|
|
19
|
+
}
|
|
20
|
+
function createValidationError(message, code, context) {
|
|
21
|
+
return createStructuredError(message, code, { ...context, type: 'validation' });
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.createStructuredError = createStructuredError;
|
|
25
|
+
exports.createConfigError = createConfigError;
|
|
26
|
+
exports.createFsError = createFsError;
|
|
27
|
+
exports.createParseError = createParseError;
|
|
28
|
+
exports.createValidationError = createValidationError;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { error } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.esm.js';
|
|
2
|
+
import { createError } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js';
|
|
3
|
+
|
|
4
|
+
function createStructuredError(message, code, context) {
|
|
5
|
+
const error = createError(message);
|
|
6
|
+
error.code = code;
|
|
7
|
+
error.context = context ?? {};
|
|
8
|
+
return error;
|
|
9
|
+
}
|
|
10
|
+
function createConfigError(message, code, context) {
|
|
11
|
+
return createStructuredError(message, code, { ...context, type: 'config' });
|
|
12
|
+
}
|
|
13
|
+
function createFsError(message, code, context) {
|
|
14
|
+
return createStructuredError(message, code, { ...context, type: 'fs' });
|
|
15
|
+
}
|
|
16
|
+
function createParseError(message, code, context) {
|
|
17
|
+
return createStructuredError(message, code, { ...context, type: 'parse' });
|
|
18
|
+
}
|
|
19
|
+
function createValidationError(message, code, context) {
|
|
20
|
+
return createStructuredError(message, code, { ...context, type: 'validation' });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { createStructuredError, createConfigError, createFsError, createParseError, createValidationError };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const node_fs = require('node:fs');
|
|
4
|
+
|
|
5
|
+
function getFileStat(filePath, followSymlinks = true) {
|
|
6
|
+
if (!node_fs.existsSync(filePath)) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
const stat = followSymlinks ? node_fs.statSync(filePath) : node_fs.lstatSync(filePath);
|
|
11
|
+
return {
|
|
12
|
+
isFile: stat.isFile(),
|
|
13
|
+
isDirectory: stat.isDirectory(),
|
|
14
|
+
isSymlink: stat.isSymbolicLink(),
|
|
15
|
+
size: stat.size,
|
|
16
|
+
created: stat.birthtime,
|
|
17
|
+
modified: stat.mtime,
|
|
18
|
+
accessed: stat.atime,
|
|
19
|
+
mode: stat.mode,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function isFile(filePath) {
|
|
27
|
+
const stats = getFileStat(filePath);
|
|
28
|
+
return stats?.isFile ?? false;
|
|
29
|
+
}
|
|
30
|
+
function isDirectory(dirPath) {
|
|
31
|
+
const stats = getFileStat(dirPath);
|
|
32
|
+
return stats?.isDirectory ?? false;
|
|
33
|
+
}
|
|
34
|
+
function isSymlink(linkPath) {
|
|
35
|
+
const stats = getFileStat(linkPath, false);
|
|
36
|
+
return stats?.isSymlink ?? false;
|
|
37
|
+
}
|
|
38
|
+
function exists(filePath) {
|
|
39
|
+
return node_fs.existsSync(filePath);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
exports.getFileStat = getFileStat;
|
|
43
|
+
exports.isFile = isFile;
|
|
44
|
+
exports.isDirectory = isDirectory;
|
|
45
|
+
exports.isSymlink = isSymlink;
|
|
46
|
+
exports.exists = exists;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { existsSync, statSync, lstatSync } from 'node:fs';
|
|
2
|
+
|
|
3
|
+
function getFileStat(filePath, followSymlinks = true) {
|
|
4
|
+
if (!existsSync(filePath)) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
const stat = followSymlinks ? statSync(filePath) : lstatSync(filePath);
|
|
9
|
+
return {
|
|
10
|
+
isFile: stat.isFile(),
|
|
11
|
+
isDirectory: stat.isDirectory(),
|
|
12
|
+
isSymlink: stat.isSymbolicLink(),
|
|
13
|
+
size: stat.size,
|
|
14
|
+
created: stat.birthtime,
|
|
15
|
+
modified: stat.mtime,
|
|
16
|
+
accessed: stat.atime,
|
|
17
|
+
mode: stat.mode,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function isFile(filePath) {
|
|
25
|
+
const stats = getFileStat(filePath);
|
|
26
|
+
return stats?.isFile ?? false;
|
|
27
|
+
}
|
|
28
|
+
function isDirectory(dirPath) {
|
|
29
|
+
const stats = getFileStat(dirPath);
|
|
30
|
+
return stats?.isDirectory ?? false;
|
|
31
|
+
}
|
|
32
|
+
function isSymlink(linkPath) {
|
|
33
|
+
const stats = getFileStat(linkPath, false);
|
|
34
|
+
return stats?.isSymlink ?? false;
|
|
35
|
+
}
|
|
36
|
+
function exists(filePath) {
|
|
37
|
+
return existsSync(filePath);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { getFileStat, isFile, isDirectory, isSymlink, exists };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const node_path = require('node:path');
|
|
4
|
+
|
|
5
|
+
function join(...paths) {
|
|
6
|
+
return node_path.join(...paths);
|
|
7
|
+
}
|
|
8
|
+
function joinPosix(...paths) {
|
|
9
|
+
return node_path.posix.join(...paths);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.join = join;
|
|
13
|
+
exports.joinPosix = joinPosix;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const node_path = require('node:path');
|
|
4
|
+
|
|
5
|
+
function normalizePath(filePath) {
|
|
6
|
+
if (!filePath)
|
|
7
|
+
return '';
|
|
8
|
+
const normalized = node_path.normalize(filePath);
|
|
9
|
+
return node_path.sep === '\\' ? normalized.replace(/\\/g, '/') : normalized;
|
|
10
|
+
}
|
|
11
|
+
function normalizeToForwardSlashes(filePath) {
|
|
12
|
+
if (!filePath)
|
|
13
|
+
return '';
|
|
14
|
+
return node_path.normalize(filePath).split(node_path.sep).join('/');
|
|
15
|
+
}
|
|
16
|
+
function normalizeToNative(filePath) {
|
|
17
|
+
if (!filePath)
|
|
18
|
+
return '';
|
|
19
|
+
return node_path.normalize(filePath.replace(/[/\\]/g, node_path.sep));
|
|
20
|
+
}
|
|
21
|
+
function removeTrailingSlash(filePath) {
|
|
22
|
+
let i = filePath.length;
|
|
23
|
+
while (i > 0 && (filePath[i - 1] === '/' || filePath[i - 1] === '\\')) {
|
|
24
|
+
i--;
|
|
25
|
+
}
|
|
26
|
+
return filePath.slice(0, i);
|
|
27
|
+
}
|
|
28
|
+
function ensureTrailingSlash(filePath) {
|
|
29
|
+
const normalized = removeTrailingSlash(filePath);
|
|
30
|
+
return normalized + '/';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.normalizePath = normalizePath;
|
|
34
|
+
exports.normalizeToForwardSlashes = normalizeToForwardSlashes;
|
|
35
|
+
exports.normalizeToNative = normalizeToNative;
|
|
36
|
+
exports.removeTrailingSlash = removeTrailingSlash;
|
|
37
|
+
exports.ensureTrailingSlash = ensureTrailingSlash;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { normalize, sep } from 'node:path';
|
|
2
|
+
|
|
3
|
+
function normalizePath(filePath) {
|
|
4
|
+
if (!filePath)
|
|
5
|
+
return '';
|
|
6
|
+
const normalized = normalize(filePath);
|
|
7
|
+
return sep === '\\' ? normalized.replace(/\\/g, '/') : normalized;
|
|
8
|
+
}
|
|
9
|
+
function normalizeToForwardSlashes(filePath) {
|
|
10
|
+
if (!filePath)
|
|
11
|
+
return '';
|
|
12
|
+
return normalize(filePath).split(sep).join('/');
|
|
13
|
+
}
|
|
14
|
+
function normalizeToNative(filePath) {
|
|
15
|
+
if (!filePath)
|
|
16
|
+
return '';
|
|
17
|
+
return normalize(filePath.replace(/[/\\]/g, sep));
|
|
18
|
+
}
|
|
19
|
+
function removeTrailingSlash(filePath) {
|
|
20
|
+
let i = filePath.length;
|
|
21
|
+
while (i > 0 && (filePath[i - 1] === '/' || filePath[i - 1] === '\\')) {
|
|
22
|
+
i--;
|
|
23
|
+
}
|
|
24
|
+
return filePath.slice(0, i);
|
|
25
|
+
}
|
|
26
|
+
function ensureTrailingSlash(filePath) {
|
|
27
|
+
const normalized = removeTrailingSlash(filePath);
|
|
28
|
+
return normalized + '/';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { normalizePath, normalizeToForwardSlashes, normalizeToNative, removeTrailingSlash, ensureTrailingSlash };
|