1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Marvin Hagemeister 8608105208
fix(node): duplicate node_module suffixes (#19222)
Noticed that we're checking more module paths than necessary. In
particular the module path array contains a couple of entries with a
duplicated `node_modules/node_modules` suffix.

```js
[
    // ... more entries before here, where some also contain duplicate suffixes
    "/Users/marvinhagemeister/dev/preact-render-to-string/node_modules/.deno/node_modules",
    "/Users/marvinhagemeister/dev/preact-render-to-string/node_modules/node_modules", // <-- duplicate suffix
    "/Users/marvinhagemeister/dev/preact-render-to-string/node_modules",
    "/Users/marvinhagemeister/dev/node_modules",
    "/Users/marvinhagemeister/node_modules",
    "/Users/node_modules",
    "/node_modules",
    "/node_modules"  // <-- duplicate entry
]
```

This was caused by a misunderstanding in how Rust's
[`Path::ends_with()`](https://doc.rust-lang.org/std/path/struct.Path.html#method.ends_with)
works. It's designed to match on whole path segments and the suffix
`/node_modules` is not that, except for the root entry. This meant that
our check for if the path already ended with `node_module` always
returned `false`. Removing the leading slash fixes that.

While we're at it, we can remove the last condition where we explicitly
added the root `/node_modules` entry since the while loop prior to that
takes care of it already.
2023-05-23 12:46:14 +02:00
.cargo fix: upgrade deno_ast to 0.23 (#17269) 2023-01-04 18:54:54 -05:00
.devcontainer chore: update devcontainer configuration (#15751) 2022-09-03 02:21:41 +02:00
.github chore: forward v1.33.4 release commit to main (#19181) 2023-05-18 20:44:10 +02:00
bench_util chore: forward v1.33.4 release commit to main (#19181) 2023-05-18 20:44:10 +02:00
cli fix(node): duplicate node_module suffixes (#19222) 2023-05-23 12:46:14 +02:00
core refactor(core): set function names for ops in JavaScript (#19208) 2023-05-21 20:23:28 +00:00
ext fix(node): duplicate node_module suffixes (#19222) 2023-05-23 12:46:14 +02:00
ops chore: forward v1.33.4 release commit to main (#19181) 2023-05-18 20:44:10 +02:00
runtime fix(runtime): JS debug log to stderr (#19217) 2023-05-22 18:17:31 +00:00
serde_v8 chore: forward v1.33.4 release commit to main (#19181) 2023-05-18 20:44:10 +02:00
test_ffi feat(ext/ffi): support marking symbols as optional (#18529) 2023-04-03 21:32:21 +03:00
test_napi chore: add tests for N-API symbol (#19205) 2023-05-21 13:14:48 -06:00
test_util feat(lsp): support lockfile and node_modules directory (#19203) 2023-05-22 21:28:36 -04:00
third_party@ee59830ca2 feat(lint): add Deno.run to no-deprecated-deno-api (#18869) 2023-04-27 02:52:52 +00:00
tools feat: add support for globs in the config file and CLI arguments for files (#19102) 2023-05-23 03:39:59 +02:00
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2023-01-16 17:17:18 +01:00
.dprint.json feat: add support for globs in the config file and CLI arguments for files (#19102) 2023-05-23 03:39:59 +02:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.gitattributes fix(test): support typechecking docs with CRLF line endings (#12748) 2021-11-15 09:58:04 -05:00
.gitignore chore(ext/websocket): readd autobahn|testsuite fuzzingclient (#18903) 2023-05-01 14:37:32 +02:00
.gitmodules chore: check node_compat config diff in CI (#19119) 2023-05-15 21:22:53 +09:00
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock feat: add support for globs in the config file and CLI arguments for files (#19102) 2023-05-23 03:39:59 +02:00
Cargo.toml fix(npm): store npm binary command resolution in lockfile (#19219) 2023-05-22 16:55:04 -04:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs(readme): Update readme (#18677) 2023-04-17 01:08:05 +02:00
Releases.md chore: forward v1.33.4 release commit to main (#19181) 2023-05-18 20:44:10 +02:00
rust-toolchain.toml feat(ext/kv): return versionstamp from set/commit (#18512) 2023-03-30 20:57:21 +02:00

Deno

Twitter badge Discord badge YouTube badge

the deno mascot dinosaur standing in the rain

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Features

Install

Shell (Mac, Linux):

curl -fsSL https://deno.land/install.sh | sh

PowerShell (Windows):

irm https://deno.land/install.ps1 | iex

Homebrew (Mac):

brew install deno

Chocolatey (Windows):

choco install deno

Scoop (Windows):

scoop install deno

Build and install from source using Cargo:

cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://deno.land/std/examples/welcome.ts

Or setup a simple HTTP server:

import { serve } from "https://deno.land/std@0.182.0/http/server.ts";

serve((_req) => new Response("Hello, World!"));

More examples.

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.