1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-25 08:39:09 -05:00
denoland-deno/cli/tests/testdata/npm/registry
David Sherret 40a72f3555
fix(npm): support non-all lowercase package names (#16669)
Supports package names that aren't all lowercase.

This stores the package with a leading underscore (since that's not
allowed in npm's registry and no package exists with a leading
underscore) then base32 encoded (A-Z0-9) so it can be lowercased and
avoid collisions.

Global cache dir:

```
$DENO_DIR/npm/registry.npmjs.org/_{base32_encode(package_name).to_lowercase()}/{version}
```

node_modules dir `.deno` folder:

```
node_modules/.deno/_{base32_encode(package_name).to_lowercase()}@{version}/node_modules/<package-name>
```

Within node_modules folder:

```
node_modules/<package-name>
```

So, direct childs of the node_modules folder can have collisions between
packages like `JSON` vs `json`, but this is already something npm itself
doesn't handle well. Plus, Deno doesn't actually ever resolve to the
`node_modules/<package-name>` folder, but just has that for
compatibility. Additionally, packages in the `.deno` dir could have
collissions if they have multiple dependencies that only differ in
casing or a dependency that has different casing, but if someone is
doing that then they're already going to have trouble with npm and they
are asking for trouble in general.
2022-11-16 18:44:31 +00:00
..
@babel/parser fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
@denotest fix(npm): support non-all lowercase package names (#16669) 2022-11-16 18:44:31 +00:00
@types/node feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
@vue fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
ajv feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
ajv-formats feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
ansi-regex feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
ansi-styles feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
asn1 fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
assertion-error feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
bcrypt-pbkdf fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
buildcheck fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
camelcase feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
chai feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
chalk feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
check-error feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
cliui feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
color-convert feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
color-name feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
cowsay feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
cpu-features fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
crypto-js fix(npm): add more context to errors when file doesn't exist (#15749) 2022-09-03 15:43:35 +02:00
csstype fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
decamelize feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
deep-eql feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
emoji-regex feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
estree-walker fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
fast-deep-equal feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
find-up feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
fs-extra fix(npm): translate CJS to ESM with name clashes for files and dirs (#15697) 2022-08-31 00:31:59 +02:00
get-caller-file feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
get-func-name feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
get-stdin feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
globals fix(npm): handle json files in require (#16125) 2022-10-01 22:21:19 +02:00
graceful-fs fix(npm): translate CJS to ESM with name clashes for files and dirs (#15697) 2022-08-31 00:31:59 +02:00
has-flag feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
is-fullwidth-code-point feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
js-tokens feat: support subpaths in npm package references (#15578) 2022-08-24 11:25:32 -04:00
json-schema-traverse feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
jsonfile fix(npm): translate CJS to ESM with name clashes for files and dirs (#15697) 2022-08-31 00:31:59 +02:00
locate-path feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
loose-envify feat: support subpaths in npm package references (#15578) 2022-08-24 11:25:32 -04:00
loupe feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
magic-string fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
mkdirp feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
nan fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
nanoid fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
p-limit feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
p-locate feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
p-try feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
path-exists feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
pathval feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
picocolors fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
postcss fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
punycode feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
react feat: support subpaths in npm package references (#15578) 2022-08-24 11:25:32 -04:00
react-dom feat: support subpaths in npm package references (#15578) 2022-08-24 11:25:32 -04:00
require-directory feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
require-from-string feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
require-main-filename feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
safer-buffer fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
scheduler feat: support subpaths in npm package references (#15578) 2022-08-24 11:25:32 -04:00
set-blocking feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
source-map fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
source-map-js fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
sourcemap-codec fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
ssh2 fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
string-width feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
strip-ansi feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
strip-final-newline feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
supports-color feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
tweetnacl fix(npm): skip extracting pax_global_header from tarballs (#15677) 2022-08-30 17:15:41 +02:00
type-detect feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
type-fest fix(npm): handle json files in require (#16125) 2022-10-01 22:21:19 +02:00
universalify fix(npm): translate CJS to ESM with name clashes for files and dirs (#15697) 2022-08-31 00:31:59 +02:00
uri-js feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
vue fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
which-module feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
wrap-ansi feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
y18n feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
yargs feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
yargs-parser feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00