@hyperfrontend/project-scope 0.2.1 → 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 +7 -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/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 +1702 -1910
- package/cli/index.d.ts +273 -7
- package/cli/index.d.ts.map +1 -1
- package/cli/index.esm.js +1586 -1794
- 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 +231 -581
- package/core/fs/index.d.ts +479 -6
- package/core/fs/index.d.ts.map +1 -1
- package/core/fs/index.esm.js +221 -571
- package/core/index.cjs.js +518 -1748
- package/core/index.d.ts +486 -9
- package/core/index.d.ts.map +1 -1
- package/core/index.esm.js +501 -1728
- package/core/path/index.cjs.js +6 -234
- package/core/path/index.d.ts +306 -5
- package/core/path/index.d.ts.map +1 -1
- package/core/path/index.esm.js +4 -232
- 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 +95 -492
- package/heuristics/dependencies/index.d.ts +99 -2
- package/heuristics/dependencies/index.d.ts.map +1 -1
- package/heuristics/dependencies/index.esm.js +69 -466
- package/heuristics/entry-points/index.cjs.js +91 -795
- 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 +72 -776
- package/heuristics/framework/index.cjs.js +1481 -1410
- package/heuristics/framework/index.d.ts +104 -2
- package/heuristics/framework/index.d.ts.map +1 -1
- package/heuristics/framework/index.esm.js +1417 -1346
- package/heuristics/index.cjs.js +3206 -3301
- package/heuristics/index.d.ts +4 -5
- package/heuristics/index.d.ts.map +1 -1
- package/heuristics/index.esm.js +3231 -3326
- package/heuristics/project-type/index.cjs.js +1487 -1437
- 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 +1416 -1366
- package/index.cjs.js +3044 -3533
- package/index.d.ts +44 -10
- package/index.d.ts.map +1 -1
- package/index.esm.js +2900 -3377
- 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 -577
- package/nx/index.d.ts +279 -4
- package/nx/index.d.ts.map +1 -1
- package/nx/index.esm.js +145 -554
- package/package.json +13 -12
- package/project/config/index.cjs.js +122 -1062
- package/project/config/index.d.ts +202 -4
- package/project/config/index.d.ts.map +1 -1
- package/project/config/index.esm.js +105 -1043
- package/project/index.cjs.js +323 -1100
- package/project/index.d.ts +4 -5
- package/project/index.d.ts.map +1 -1
- package/project/index.esm.js +302 -1076
- package/project/package/index.cjs.js +191 -472
- package/project/package/index.d.ts +280 -3
- package/project/package/index.d.ts.map +1 -1
- package/project/package/index.esm.js +178 -458
- package/project/root/index.cjs.js +107 -416
- package/project/root/index.d.ts +83 -2
- package/project/root/index.d.ts.map +1 -1
- package/project/root/index.esm.js +96 -405
- package/project/traversal/index.cjs.js +94 -621
- package/project/traversal/index.d.ts +165 -3
- package/project/traversal/index.d.ts.map +1 -1
- package/project/traversal/index.esm.js +80 -607
- package/tech/backend/index.cjs.js +221 -507
- package/tech/backend/index.d.ts +205 -8
- package/tech/backend/index.d.ts.map +1 -1
- package/tech/backend/index.esm.js +200 -486
- package/tech/build/index.cjs.js +348 -635
- package/tech/build/index.d.ts +276 -10
- package/tech/build/index.d.ts.map +1 -1
- package/tech/build/index.esm.js +326 -613
- package/tech/frontend/index.cjs.js +505 -684
- package/tech/frontend/index.d.ts +379 -15
- package/tech/frontend/index.d.ts.map +1 -1
- package/tech/frontend/index.esm.js +481 -660
- package/tech/index.cjs.js +1580 -1420
- package/tech/index.d.ts +55 -32
- package/tech/index.d.ts.map +1 -1
- package/tech/index.esm.js +1513 -1353
- package/tech/legacy/index.cjs.js +97 -448
- package/tech/legacy/index.d.ts +125 -7
- package/tech/legacy/index.d.ts.map +1 -1
- package/tech/legacy/index.esm.js +79 -430
- package/tech/linting/index.cjs.js +136 -522
- package/tech/linting/index.d.ts +129 -7
- package/tech/linting/index.d.ts.map +1 -1
- package/tech/linting/index.esm.js +116 -502
- package/tech/monorepo/index.cjs.js +244 -572
- package/tech/monorepo/index.d.ts +241 -10
- package/tech/monorepo/index.d.ts.map +1 -1
- package/tech/monorepo/index.esm.js +224 -552
- package/tech/testing/index.cjs.js +214 -570
- package/tech/testing/index.d.ts +176 -8
- package/tech/testing/index.d.ts.map +1 -1
- package/tech/testing/index.esm.js +196 -552
- package/tech/types/index.cjs.js +121 -505
- package/tech/types/index.d.ts +120 -2
- package/tech/types/index.d.ts.map +1 -1
- package/tech/types/index.esm.js +99 -483
- 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
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { exists } = require('../../fs/stat/index.cjs.js');
|
|
4
|
+
const { normalizePath } = require('../normalize/index.cjs.js');
|
|
5
|
+
const node_path = require('node:path');
|
|
6
|
+
const node_fs = require('node:fs');
|
|
7
|
+
|
|
8
|
+
function resolvePath(...segments) {
|
|
9
|
+
return normalizePath(node_path.resolve(...segments));
|
|
10
|
+
}
|
|
11
|
+
function resolveFromWorkspace(workspaceRoot, ...segments) {
|
|
12
|
+
return normalizePath(node_path.resolve(workspaceRoot, ...segments));
|
|
13
|
+
}
|
|
14
|
+
function resolveRealPath(filePath) {
|
|
15
|
+
if (!exists(filePath)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
return normalizePath(node_fs.realpathSync(filePath));
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function relativePath(from, to) {
|
|
26
|
+
return normalizePath(node_path.relative(from, to));
|
|
27
|
+
}
|
|
28
|
+
function joinPath(...segments) {
|
|
29
|
+
return normalizePath(node_path.join(...segments));
|
|
30
|
+
}
|
|
31
|
+
function isAbsolute(filePath) {
|
|
32
|
+
return node_path.isAbsolute(filePath);
|
|
33
|
+
}
|
|
34
|
+
function offsetFromRoot(filePath) {
|
|
35
|
+
const segments = normalizePath(filePath).split('/').filter(Boolean);
|
|
36
|
+
if (segments.length === 0)
|
|
37
|
+
return '';
|
|
38
|
+
return segments.map(() => '..').join('/') + '/';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
exports.resolvePath = resolvePath;
|
|
42
|
+
exports.resolveFromWorkspace = resolveFromWorkspace;
|
|
43
|
+
exports.resolveRealPath = resolveRealPath;
|
|
44
|
+
exports.relativePath = relativePath;
|
|
45
|
+
exports.joinPath = joinPath;
|
|
46
|
+
exports.isAbsolute = isAbsolute;
|
|
47
|
+
exports.offsetFromRoot = offsetFromRoot;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { exists } from '../../fs/stat/index.esm.js';
|
|
2
|
+
import { join as join$1 } from '../join/index.esm.js';
|
|
3
|
+
import { normalizePath } from '../normalize/index.esm.js';
|
|
4
|
+
import { from } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js';
|
|
5
|
+
import { realpathSync } from 'node:fs';
|
|
6
|
+
import { resolve, relative } from 'node:path';
|
|
7
|
+
|
|
8
|
+
function resolvePath(...segments) {
|
|
9
|
+
return normalizePath(resolve(...segments));
|
|
10
|
+
}
|
|
11
|
+
function resolveFromWorkspace(workspaceRoot, ...segments) {
|
|
12
|
+
return normalizePath(resolve(workspaceRoot, ...segments));
|
|
13
|
+
}
|
|
14
|
+
function resolveRealPath(filePath) {
|
|
15
|
+
if (!exists(filePath)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
return normalizePath(realpathSync(filePath));
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function relativePath(from, to) {
|
|
26
|
+
return normalizePath(relative(from, to));
|
|
27
|
+
}
|
|
28
|
+
function joinPath(...segments) {
|
|
29
|
+
return normalizePath(join$1(...segments));
|
|
30
|
+
}
|
|
31
|
+
function isAbsolute(filePath) {
|
|
32
|
+
return isAbsolute$1(filePath);
|
|
33
|
+
}
|
|
34
|
+
function offsetFromRoot(filePath) {
|
|
35
|
+
const segments = normalizePath(filePath).split('/').filter(Boolean);
|
|
36
|
+
if (segments.length === 0)
|
|
37
|
+
return '';
|
|
38
|
+
return segments.map(() => '..').join('/') + '/';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { resolvePath, resolveFromWorkspace, resolveRealPath, relativePath, joinPath, isAbsolute, offsetFromRoot };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { normalizePath } = require('../normalize/index.cjs.js');
|
|
4
|
+
const node_path = require('node:path');
|
|
5
|
+
|
|
6
|
+
function pathSegments(filePath) {
|
|
7
|
+
return filePath.split(/[/\\]/).filter((segment) => segment.length > 0);
|
|
8
|
+
}
|
|
9
|
+
function getBasename(filePath, ext) {
|
|
10
|
+
return node_path.basename(filePath, ext);
|
|
11
|
+
}
|
|
12
|
+
function getDirname(filePath) {
|
|
13
|
+
return normalizePath(node_path.dirname(filePath));
|
|
14
|
+
}
|
|
15
|
+
function getExtension(filePath) {
|
|
16
|
+
return node_path.extname(filePath);
|
|
17
|
+
}
|
|
18
|
+
function getFileNameWithoutExtension(filePath) {
|
|
19
|
+
const parsed = node_path.parse(filePath);
|
|
20
|
+
return parsed.name;
|
|
21
|
+
}
|
|
22
|
+
function parsePath(filePath) {
|
|
23
|
+
const parsed = node_path.parse(filePath);
|
|
24
|
+
return {
|
|
25
|
+
root: parsed.root,
|
|
26
|
+
dir: normalizePath(parsed.dir),
|
|
27
|
+
base: parsed.base,
|
|
28
|
+
ext: parsed.ext,
|
|
29
|
+
name: parsed.name,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.pathSegments = pathSegments;
|
|
34
|
+
exports.getBasename = getBasename;
|
|
35
|
+
exports.getDirname = getDirname;
|
|
36
|
+
exports.getExtension = getExtension;
|
|
37
|
+
exports.getFileNameWithoutExtension = getFileNameWithoutExtension;
|
|
38
|
+
exports.parsePath = parsePath;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { normalizePath } from '../normalize/index.esm.js';
|
|
2
|
+
import { basename, dirname, extname, parse as parse$1 } from 'node:path';
|
|
3
|
+
|
|
4
|
+
function pathSegments(filePath) {
|
|
5
|
+
return filePath.split(/[/\\]/).filter((segment) => segment.length > 0);
|
|
6
|
+
}
|
|
7
|
+
function getBasename(filePath, ext) {
|
|
8
|
+
return basename(filePath, ext);
|
|
9
|
+
}
|
|
10
|
+
function getDirname(filePath) {
|
|
11
|
+
return normalizePath(dirname(filePath));
|
|
12
|
+
}
|
|
13
|
+
function getExtension(filePath) {
|
|
14
|
+
return extname(filePath);
|
|
15
|
+
}
|
|
16
|
+
function getFileNameWithoutExtension(filePath) {
|
|
17
|
+
const parsed = parse$1(filePath);
|
|
18
|
+
return parsed.name;
|
|
19
|
+
}
|
|
20
|
+
function parsePath(filePath) {
|
|
21
|
+
const parsed = parse$1(filePath);
|
|
22
|
+
return {
|
|
23
|
+
root: parsed.root,
|
|
24
|
+
dir: normalizePath(parsed.dir),
|
|
25
|
+
base: parsed.base,
|
|
26
|
+
ext: parsed.ext,
|
|
27
|
+
name: parsed.name,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { pathSegments, getBasename, getDirname, getExtension, getFileNameWithoutExtension, parsePath };
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function matchGlobPattern(path, pattern) {
|
|
4
|
+
return matchSegments(path.split('/'), pattern.split('/'), 0, 0);
|
|
5
|
+
}
|
|
6
|
+
function matchSegments(pathParts, patternParts, pathIdx, patternIdx) {
|
|
7
|
+
if (pathIdx === pathParts.length && patternIdx === patternParts.length) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
if (patternIdx >= patternParts.length) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
const patternPart = patternParts[patternIdx];
|
|
14
|
+
if (patternPart === '**') {
|
|
15
|
+
for (let i = pathIdx; i <= pathParts.length; i++) {
|
|
16
|
+
if (matchSegments(pathParts, patternParts, i, patternIdx + 1)) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (pathIdx >= pathParts.length) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const pathPart = pathParts[pathIdx];
|
|
26
|
+
if (matchSegment(pathPart, patternPart)) {
|
|
27
|
+
return matchSegments(pathParts, patternParts, pathIdx + 1, patternIdx + 1);
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
function matchSegment(text, pattern) {
|
|
32
|
+
let textIdx = 0;
|
|
33
|
+
let patternIdx = 0;
|
|
34
|
+
while (patternIdx < pattern.length) {
|
|
35
|
+
const char = pattern[patternIdx];
|
|
36
|
+
if (char === '*') {
|
|
37
|
+
patternIdx++;
|
|
38
|
+
if (patternIdx === pattern.length) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
for (let i = textIdx; i <= text.length; i++) {
|
|
42
|
+
if (matchSegmentFrom(text, i, pattern, patternIdx)) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
else if (char === '?') {
|
|
49
|
+
if (textIdx >= text.length) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
textIdx++;
|
|
53
|
+
patternIdx++;
|
|
54
|
+
}
|
|
55
|
+
else if (char === '{') {
|
|
56
|
+
const closeIdx = findClosingBrace(pattern, patternIdx);
|
|
57
|
+
if (closeIdx === -1) {
|
|
58
|
+
if (textIdx >= text.length || text[textIdx] !== char) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
textIdx++;
|
|
62
|
+
patternIdx++;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const alternatives = extractAlternatives(pattern.slice(patternIdx + 1, closeIdx));
|
|
66
|
+
for (const alt of alternatives) {
|
|
67
|
+
if (matchSegmentFrom(text, textIdx, text.slice(0, textIdx) + alt + pattern.slice(closeIdx + 1), textIdx)) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
if (textIdx >= text.length || text[textIdx] !== char) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
textIdx++;
|
|
79
|
+
patternIdx++;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return textIdx === text.length;
|
|
83
|
+
}
|
|
84
|
+
function matchSegmentFrom(text, textIdx, pattern, patternIdx) {
|
|
85
|
+
const remainingText = text.slice(textIdx);
|
|
86
|
+
const remainingPattern = pattern.slice(patternIdx);
|
|
87
|
+
return matchSegment(remainingText, remainingPattern);
|
|
88
|
+
}
|
|
89
|
+
function findClosingBrace(pattern, startIdx) {
|
|
90
|
+
let depth = 0;
|
|
91
|
+
for (let i = startIdx; i < pattern.length; i++) {
|
|
92
|
+
if (pattern[i] === '{') {
|
|
93
|
+
depth++;
|
|
94
|
+
}
|
|
95
|
+
else if (pattern[i] === '}') {
|
|
96
|
+
depth--;
|
|
97
|
+
if (depth === 0) {
|
|
98
|
+
return i;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return -1;
|
|
103
|
+
}
|
|
104
|
+
function extractAlternatives(content) {
|
|
105
|
+
const alternatives = [];
|
|
106
|
+
let current = '';
|
|
107
|
+
let depth = 0;
|
|
108
|
+
for (let i = 0; i < content.length; i++) {
|
|
109
|
+
const char = content[i];
|
|
110
|
+
if (char === '{') {
|
|
111
|
+
depth++;
|
|
112
|
+
current += char;
|
|
113
|
+
}
|
|
114
|
+
else if (char === '}') {
|
|
115
|
+
depth--;
|
|
116
|
+
current += char;
|
|
117
|
+
}
|
|
118
|
+
else if (char === ',' && depth === 0) {
|
|
119
|
+
alternatives.push(current);
|
|
120
|
+
current = '';
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
current += char;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (current) {
|
|
127
|
+
alternatives.push(current);
|
|
128
|
+
}
|
|
129
|
+
return alternatives;
|
|
130
|
+
}
|
|
131
|
+
function matchesAnyPattern(path, patterns) {
|
|
132
|
+
return patterns.some((pattern) => matchGlobPattern(path, pattern));
|
|
133
|
+
}
|
|
134
|
+
function matchesExact(path, pattern) {
|
|
135
|
+
return path === pattern;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
exports.matchGlobPattern = matchGlobPattern;
|
|
139
|
+
exports.matchSegments = matchSegments;
|
|
140
|
+
exports.matchSegment = matchSegment;
|
|
141
|
+
exports.matchSegmentFrom = matchSegmentFrom;
|
|
142
|
+
exports.findClosingBrace = findClosingBrace;
|
|
143
|
+
exports.extractAlternatives = extractAlternatives;
|
|
144
|
+
exports.matchesAnyPattern = matchesAnyPattern;
|
|
145
|
+
exports.matchesExact = matchesExact;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
function matchGlobPattern(path, pattern) {
|
|
2
|
+
return matchSegments(path.split('/'), pattern.split('/'), 0, 0);
|
|
3
|
+
}
|
|
4
|
+
function matchSegments(pathParts, patternParts, pathIdx, patternIdx) {
|
|
5
|
+
if (pathIdx === pathParts.length && patternIdx === patternParts.length) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (patternIdx >= patternParts.length) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const patternPart = patternParts[patternIdx];
|
|
12
|
+
if (patternPart === '**') {
|
|
13
|
+
for (let i = pathIdx; i <= pathParts.length; i++) {
|
|
14
|
+
if (matchSegments(pathParts, patternParts, i, patternIdx + 1)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (pathIdx >= pathParts.length) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const pathPart = pathParts[pathIdx];
|
|
24
|
+
if (matchSegment(pathPart, patternPart)) {
|
|
25
|
+
return matchSegments(pathParts, patternParts, pathIdx + 1, patternIdx + 1);
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
function matchSegment(text, pattern) {
|
|
30
|
+
let textIdx = 0;
|
|
31
|
+
let patternIdx = 0;
|
|
32
|
+
while (patternIdx < pattern.length) {
|
|
33
|
+
const char = pattern[patternIdx];
|
|
34
|
+
if (char === '*') {
|
|
35
|
+
patternIdx++;
|
|
36
|
+
if (patternIdx === pattern.length) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
for (let i = textIdx; i <= text.length; i++) {
|
|
40
|
+
if (matchSegmentFrom(text, i, pattern, patternIdx)) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
else if (char === '?') {
|
|
47
|
+
if (textIdx >= text.length) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
textIdx++;
|
|
51
|
+
patternIdx++;
|
|
52
|
+
}
|
|
53
|
+
else if (char === '{') {
|
|
54
|
+
const closeIdx = findClosingBrace(pattern, patternIdx);
|
|
55
|
+
if (closeIdx === -1) {
|
|
56
|
+
if (textIdx >= text.length || text[textIdx] !== char) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
textIdx++;
|
|
60
|
+
patternIdx++;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const alternatives = extractAlternatives(pattern.slice(patternIdx + 1, closeIdx));
|
|
64
|
+
for (const alt of alternatives) {
|
|
65
|
+
if (matchSegmentFrom(text, textIdx, text.slice(0, textIdx) + alt + pattern.slice(closeIdx + 1), textIdx)) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
if (textIdx >= text.length || text[textIdx] !== char) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
textIdx++;
|
|
77
|
+
patternIdx++;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return textIdx === text.length;
|
|
81
|
+
}
|
|
82
|
+
function matchSegmentFrom(text, textIdx, pattern, patternIdx) {
|
|
83
|
+
const remainingText = text.slice(textIdx);
|
|
84
|
+
const remainingPattern = pattern.slice(patternIdx);
|
|
85
|
+
return matchSegment(remainingText, remainingPattern);
|
|
86
|
+
}
|
|
87
|
+
function findClosingBrace(pattern, startIdx) {
|
|
88
|
+
let depth = 0;
|
|
89
|
+
for (let i = startIdx; i < pattern.length; i++) {
|
|
90
|
+
if (pattern[i] === '{') {
|
|
91
|
+
depth++;
|
|
92
|
+
}
|
|
93
|
+
else if (pattern[i] === '}') {
|
|
94
|
+
depth--;
|
|
95
|
+
if (depth === 0) {
|
|
96
|
+
return i;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return -1;
|
|
101
|
+
}
|
|
102
|
+
function extractAlternatives(content) {
|
|
103
|
+
const alternatives = [];
|
|
104
|
+
let current = '';
|
|
105
|
+
let depth = 0;
|
|
106
|
+
for (let i = 0; i < content.length; i++) {
|
|
107
|
+
const char = content[i];
|
|
108
|
+
if (char === '{') {
|
|
109
|
+
depth++;
|
|
110
|
+
current += char;
|
|
111
|
+
}
|
|
112
|
+
else if (char === '}') {
|
|
113
|
+
depth--;
|
|
114
|
+
current += char;
|
|
115
|
+
}
|
|
116
|
+
else if (char === ',' && depth === 0) {
|
|
117
|
+
alternatives.push(current);
|
|
118
|
+
current = '';
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
current += char;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (current) {
|
|
125
|
+
alternatives.push(current);
|
|
126
|
+
}
|
|
127
|
+
return alternatives;
|
|
128
|
+
}
|
|
129
|
+
function matchesAnyPattern(path, patterns) {
|
|
130
|
+
return patterns.some((pattern) => matchGlobPattern(path, pattern));
|
|
131
|
+
}
|
|
132
|
+
function matchesExact(path, pattern) {
|
|
133
|
+
return path === pattern;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export { matchGlobPattern, matchSegments, matchSegment, matchSegmentFrom, findClosingBrace, extractAlternatives, matchesAnyPattern, matchesExact };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const node_fs = require('node:fs');
|
|
4
|
+
const node_path = require('node:path');
|
|
5
|
+
const node_os = require('node:os');
|
|
6
|
+
|
|
7
|
+
let cachedPlatformInfo = null;
|
|
8
|
+
let cachedCaseSensitive = null;
|
|
9
|
+
function detectCaseSensitivity() {
|
|
10
|
+
if (cachedCaseSensitive !== null) {
|
|
11
|
+
return cachedCaseSensitive;
|
|
12
|
+
}
|
|
13
|
+
if (process.platform === 'win32') {
|
|
14
|
+
cachedCaseSensitive = false;
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
if (process.platform === 'darwin') {
|
|
18
|
+
cachedCaseSensitive = false;
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
let secureTestDir = null;
|
|
22
|
+
try {
|
|
23
|
+
secureTestDir = node_fs.mkdtempSync(node_path.join(node_os.tmpdir(), 'case-sensitivity-test-'));
|
|
24
|
+
const testFile = node_path.join(secureTestDir, 'A');
|
|
25
|
+
const testFileLower = node_path.join(secureTestDir, 'a');
|
|
26
|
+
node_fs.writeFileSync(testFile, '');
|
|
27
|
+
cachedCaseSensitive = !node_fs.existsSync(testFileLower);
|
|
28
|
+
node_fs.unlinkSync(testFile);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
cachedCaseSensitive = true;
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
if (secureTestDir) {
|
|
35
|
+
try {
|
|
36
|
+
node_fs.rmdirSync(secureTestDir);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Ignore cleanup errors
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return cachedCaseSensitive;
|
|
44
|
+
}
|
|
45
|
+
function isCaseSensitiveFs() {
|
|
46
|
+
return detectCaseSensitivity();
|
|
47
|
+
}
|
|
48
|
+
function getPlatformInfo() {
|
|
49
|
+
if (cachedPlatformInfo) {
|
|
50
|
+
return cachedPlatformInfo;
|
|
51
|
+
}
|
|
52
|
+
const os = node_os.platform();
|
|
53
|
+
const archInfo = node_os.arch();
|
|
54
|
+
let osName;
|
|
55
|
+
switch (os) {
|
|
56
|
+
case 'win32':
|
|
57
|
+
osName = 'win32';
|
|
58
|
+
break;
|
|
59
|
+
case 'darwin':
|
|
60
|
+
osName = 'darwin';
|
|
61
|
+
break;
|
|
62
|
+
case 'linux':
|
|
63
|
+
osName = 'linux';
|
|
64
|
+
break;
|
|
65
|
+
case 'freebsd':
|
|
66
|
+
osName = 'freebsd';
|
|
67
|
+
break;
|
|
68
|
+
case 'sunos':
|
|
69
|
+
osName = 'sunos';
|
|
70
|
+
break;
|
|
71
|
+
case 'aix':
|
|
72
|
+
osName = 'aix';
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
osName = 'other';
|
|
76
|
+
}
|
|
77
|
+
cachedPlatformInfo = {
|
|
78
|
+
os: osName,
|
|
79
|
+
arch: archInfo,
|
|
80
|
+
nodeVersion: process.versions.node,
|
|
81
|
+
isWindows: osName === 'win32',
|
|
82
|
+
isMac: osName === 'darwin',
|
|
83
|
+
isLinux: osName === 'linux',
|
|
84
|
+
caseSensitive: detectCaseSensitivity(),
|
|
85
|
+
pathSeparator: osName === 'win32' ? '\\' : '/',
|
|
86
|
+
lineEnding: osName === 'win32' ? '\r\n' : '\n',
|
|
87
|
+
};
|
|
88
|
+
return cachedPlatformInfo;
|
|
89
|
+
}
|
|
90
|
+
function detectPlatform() {
|
|
91
|
+
return getPlatformInfo();
|
|
92
|
+
}
|
|
93
|
+
function isWindows() {
|
|
94
|
+
return process.platform === 'win32';
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
exports.cachedPlatformInfo = cachedPlatformInfo;
|
|
98
|
+
exports.cachedCaseSensitive = cachedCaseSensitive;
|
|
99
|
+
exports.detectCaseSensitivity = detectCaseSensitivity;
|
|
100
|
+
exports.isCaseSensitiveFs = isCaseSensitiveFs;
|
|
101
|
+
exports.getPlatformInfo = getPlatformInfo;
|
|
102
|
+
exports.detectPlatform = detectPlatform;
|
|
103
|
+
exports.isWindows = isWindows;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { join as join$1 } from '../../path/join/index.esm.js';
|
|
2
|
+
import { mkdtempSync, writeFileSync, existsSync, unlinkSync, rmdirSync } from 'node:fs';
|
|
3
|
+
import { tmpdir, platform, arch } from 'node:os';
|
|
4
|
+
|
|
5
|
+
let cachedPlatformInfo = null;
|
|
6
|
+
let cachedCaseSensitive = null;
|
|
7
|
+
function detectCaseSensitivity() {
|
|
8
|
+
if (cachedCaseSensitive !== null) {
|
|
9
|
+
return cachedCaseSensitive;
|
|
10
|
+
}
|
|
11
|
+
if (process.platform === 'win32') {
|
|
12
|
+
cachedCaseSensitive = false;
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (process.platform === 'darwin') {
|
|
16
|
+
cachedCaseSensitive = false;
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
let secureTestDir = null;
|
|
20
|
+
try {
|
|
21
|
+
secureTestDir = mkdtempSync(join$1(tmpdir(), 'case-sensitivity-test-'));
|
|
22
|
+
const testFile = join$1(secureTestDir, 'A');
|
|
23
|
+
const testFileLower = join$1(secureTestDir, 'a');
|
|
24
|
+
writeFileSync(testFile, '');
|
|
25
|
+
cachedCaseSensitive = !existsSync(testFileLower);
|
|
26
|
+
unlinkSync(testFile);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
cachedCaseSensitive = true;
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
if (secureTestDir) {
|
|
33
|
+
try {
|
|
34
|
+
rmdirSync(secureTestDir);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Ignore cleanup errors
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return cachedCaseSensitive;
|
|
42
|
+
}
|
|
43
|
+
function isCaseSensitiveFs() {
|
|
44
|
+
return detectCaseSensitivity();
|
|
45
|
+
}
|
|
46
|
+
function getPlatformInfo() {
|
|
47
|
+
if (cachedPlatformInfo) {
|
|
48
|
+
return cachedPlatformInfo;
|
|
49
|
+
}
|
|
50
|
+
const os = platform();
|
|
51
|
+
const archInfo = arch();
|
|
52
|
+
let osName;
|
|
53
|
+
switch (os) {
|
|
54
|
+
case 'win32':
|
|
55
|
+
osName = 'win32';
|
|
56
|
+
break;
|
|
57
|
+
case 'darwin':
|
|
58
|
+
osName = 'darwin';
|
|
59
|
+
break;
|
|
60
|
+
case 'linux':
|
|
61
|
+
osName = 'linux';
|
|
62
|
+
break;
|
|
63
|
+
case 'freebsd':
|
|
64
|
+
osName = 'freebsd';
|
|
65
|
+
break;
|
|
66
|
+
case 'sunos':
|
|
67
|
+
osName = 'sunos';
|
|
68
|
+
break;
|
|
69
|
+
case 'aix':
|
|
70
|
+
osName = 'aix';
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
osName = 'other';
|
|
74
|
+
}
|
|
75
|
+
cachedPlatformInfo = {
|
|
76
|
+
os: osName,
|
|
77
|
+
arch: archInfo,
|
|
78
|
+
nodeVersion: process.versions.node,
|
|
79
|
+
isWindows: osName === 'win32',
|
|
80
|
+
isMac: osName === 'darwin',
|
|
81
|
+
isLinux: osName === 'linux',
|
|
82
|
+
caseSensitive: detectCaseSensitivity(),
|
|
83
|
+
pathSeparator: osName === 'win32' ? '\\' : '/',
|
|
84
|
+
lineEnding: osName === 'win32' ? '\r\n' : '\n',
|
|
85
|
+
};
|
|
86
|
+
return cachedPlatformInfo;
|
|
87
|
+
}
|
|
88
|
+
function detectPlatform() {
|
|
89
|
+
return getPlatformInfo();
|
|
90
|
+
}
|
|
91
|
+
function isWindows() {
|
|
92
|
+
return process.platform === 'win32';
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export { cachedPlatformInfo, cachedCaseSensitive, detectCaseSensitivity, isCaseSensitiveFs, getPlatformInfo, detectPlatform, isWindows };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { isWindows, detectCaseSensitivity } = require('../detect/index.cjs.js');
|
|
4
|
+
|
|
5
|
+
const LF = '\n';
|
|
6
|
+
const CRLF = '\r\n';
|
|
7
|
+
function getLineEnding() {
|
|
8
|
+
return isWindows() ? CRLF : LF;
|
|
9
|
+
}
|
|
10
|
+
function getPathSeparator() {
|
|
11
|
+
return isWindows() ? '\\' : '/';
|
|
12
|
+
}
|
|
13
|
+
function normalizeLineEndings(content, style = 'lf') {
|
|
14
|
+
let target;
|
|
15
|
+
if (style === 'auto') {
|
|
16
|
+
target = isWindows() ? CRLF : LF;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
target = style === 'crlf' ? CRLF : LF;
|
|
20
|
+
}
|
|
21
|
+
const normalized = content.replace(/\r\n/g, LF).replace(/\r/g, LF);
|
|
22
|
+
if (target === LF) {
|
|
23
|
+
return normalized;
|
|
24
|
+
}
|
|
25
|
+
return normalized.replace(/\n/g, target);
|
|
26
|
+
}
|
|
27
|
+
function detectLineEnding(content) {
|
|
28
|
+
const hasCRLF = content.includes(CRLF);
|
|
29
|
+
const hasLFOnly = content.includes('\n') && content.replace(/\r\n/g, '').includes('\n');
|
|
30
|
+
if (hasCRLF && hasLFOnly)
|
|
31
|
+
return 'mixed';
|
|
32
|
+
if (hasCRLF)
|
|
33
|
+
return 'crlf';
|
|
34
|
+
if (content.includes('\n'))
|
|
35
|
+
return 'lf';
|
|
36
|
+
return 'none';
|
|
37
|
+
}
|
|
38
|
+
function pathsEqual(path1, path2) {
|
|
39
|
+
const caseSensitive = detectCaseSensitivity();
|
|
40
|
+
if (caseSensitive) {
|
|
41
|
+
return path1 === path2;
|
|
42
|
+
}
|
|
43
|
+
return path1.toLowerCase() === path2.toLowerCase();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
exports.LF = LF;
|
|
47
|
+
exports.CRLF = CRLF;
|
|
48
|
+
exports.getLineEnding = getLineEnding;
|
|
49
|
+
exports.getPathSeparator = getPathSeparator;
|
|
50
|
+
exports.normalizeLineEndings = normalizeLineEndings;
|
|
51
|
+
exports.detectLineEnding = detectLineEnding;
|
|
52
|
+
exports.pathsEqual = pathsEqual;
|