summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-10fix(napi): handle static properties in classes (#17320)Bartek Iwańczuk
Adds support for static properties when using "napi_define_class".
2023-01-10fix(npm): allow to read package.json if permissions are granted (#17209)Bartek Iwańczuk
This commit changes signature of "deno_core::ModuleLoader::resolve" to pass an enum indicating whether or not we're resolving a specifier for dynamic import. Additionally "CliModuleLoader" was changes to store both "parent permissions" (or "root permissions") as well as "dynamic permissions" that allow to check for permissions in top-level module load an dynamic imports. Then all code paths that have anything to do with Node/npm compat are now checking for permissions which are passed from module loader instance associated with given worker.
2023-01-09fix(ext/web/streams): fix ReadableStream asyncIterator (#16276)Marcos Casagrande
2023-01-09feat(runtime/os): add `Deno.env.has()` (#17315)Leo Kettmeir
2023-01-09fix(cli/args): update value_name of inspect args to resolve broken ↵Geert-Jan Zwiers
completions (#17287) This PR updates the name used in `clap::Arg::value_name` for the `--inspect*` flags from `HOST:PORT` to `HOST_AND_PORT` because the former causes an arguments error when using shell completions in the `zsh` shell.
2023-01-08feat(core): allow specifying name and dependencies of an Extension (#17301)Leo Kettmeir
2023-01-08fix(install): should always include `--no-config` in shim unless `--config` ↵David Sherret
is specified (#17300) Closes #17294
2023-01-08feat(ext/ffi): structs by value (#15060)Dj
Adds support for passing and returning structs as buffers to FFI. This does not implement fastapi support for structs. Needed for certain system APIs such as AppKit on macOS.
2023-01-07refactor(cli/tools): move flag and config logic to CliOptions (#17008)Geert-Jan Zwiers
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-01-07refactor(permissions): add PermissionsContainer struct for internal ↵Bartek Iwańczuk
mutability (#17134) Turns out we were cloning permissions which after prompting were discarded, so the state of permissions was never preserved. To handle that we need to store all permissions behind "Arc<Mutex<>>" (because there are situations where we need to send them to other thread). Testing and benching code still uses "Permissions" in most places - it's undesirable to share the same permission set between various test/bench files - otherwise granting or revoking permissions in one file would influence behavior of other test files.
2023-01-06fix(core): get v8 console from context extra bindings (#17243)Chengzhong Wu
Explicitly get `console` object from V8 instead of relying on `console` defined on the global object.
2023-01-06fix(npm): handle declaration file resolution where packages incorrectly ↵David Sherret
define "types" last in "exports" (#17290) Closes #17279
2023-01-06fix(npm): support old packages and registries with no integrity, but with a ↵David Sherret
sha1sum (#17289) Closes #17281
2023-01-06chore: upgrade tokio to 1.24.0 (#17271)Jun Jiang
2023-01-06fix(npm): reduce copy packages when resolving optional peer dependencies ↵David Sherret
(#17280) If an optional peer dependency entry previously wasn't resolved and it's now being resolved, then it will add it as if it were a dependency of the previously resolved package instead of creating a new "copy package" (seems to be what npm and pnpm does). Closes #17240
2023-01-06fix(npm): panic resolving some dependencies with dist tags (#17278)David Sherret
This would only occur if a dist tag for a package was resolved more than once. Closes #17275
2023-01-06perf(ext,runtime): remove using `SafeArrayIterator` from `for-of` (#17255)Kenta Moriuchi
2023-01-06fix(cli): uninstall command accept short flags (#17259)Doni Rubiagatra
2023-01-05refactor(cli,core,ext,rt): remove some unnecessary `clone` or `malloc` (#17274)Yiyu Lin
2023-01-05refactor(cli): clean up clones (#17268)Geert-Jan Zwiers
2023-01-05chore: forward v1.29.2 release commit to main (#17277)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-04fix: upgrade deno_ast to 0.23 (#17269)David Sherret
Closes #17172 Closes #15669 Closes #8529
2023-01-04chore(cli,ext,rt): remove some unnecessary `clone` or `malloc` (#17261)Yiyu Lin
2023-01-04docs(cli): do not need gen doc for cli (#17260)Yiyu Lin
2023-01-04chore(CI): update to `actions/cache@v3` (#17201)Asher Gomez
2023-01-03fix(permissions): process `URL` in `Deno.FfiPermissionDescriptor.path` for ↵Asher Gomez
`revoke()` and `request()` (#17094) Previously, `Deno.permissions.[revoke|request]()` wouldn't correctly process the `path: URL` when `name` was `ffi`. This change fixes that behaviour and adds a new function, `formDescriptor()`, to ensure `URL` arguments are consistently handled across `Deno.permissions.[query|revoke|request]()`.
2023-01-03chore: resolve clippy errors in windows build (#17215)Geert-Jan Zwiers
2023-01-03fix(lsp): don't error if completionItem/resolve request fails (#17250)Bartek Iwańczuk
2023-01-03fix(permissions): fix italic font in permission prompt (#17249)Bartek Iwańczuk
2023-01-03fix(cli): bundle command support shebang file (#17113)Fenix
2023-01-03 fix(lsp): treat empty string config value as None (#17227)Leo Kettmeir
Fixes #14630
2023-01-03fix(declaration): change `Deno.open` example to not use `Deno.close(rid)` ↵David Sherret
(#17218)
2023-01-03refactor(lsp): reduce number of clones (#17254)Geert-Jan Zwiers
This PR optimizes the code in the language server by performing less cloning of data.
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-30refactor: cleanup redundant call (#17226)Geert-Jan Zwiers
2022-12-30fix(lsp): less agressive completion triggers (#17225)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/17056 Closes https://github.com/denoland/deno/issues/17055
2022-12-29fix(lsp): completions for private variables (#17220)Bartek Iwańczuk
2022-12-29fix(lsp): "Add all missing imports" uses correct specifiers (#17216)Bartek Iwańczuk
This commit fixes "Add all missing imports" quick fix; before it was replacing all occurrences with the same specifier. Now every line returned from TSC is processed individually.
2022-12-28fix(node): Add op_node_unstable_os_uptime to allow for node interop (#17208)Kamil Ogórek
2022-12-28fix(ext/net): Remove unstable check from op_node_unstable_net_listen_udp ↵Kamil Ogórek
(#17207) The whole point of creating this alternative operation was to allow usage in node, without `--unstable` flag. Introduced and I believe missed in https://github.com/denoland/deno/pull/16520/
2022-12-28feat(unstable): Add Deno.Conn.ref()/unref() (#17170)Bartek Iwańczuk
This commit adds "Deno.Conn.ref()" and "Deno.Conn.unref()" methods. These methods can be used to make connection block or not block the event loop from finishing. Refing/unrefing only influences "read" operations - ie. scheduling writes to a connection _do_ keep event loop alive. Required for https://github.com/denoland/deno/issues/16710
2022-12-27feat(unstable): Add "Deno.osUptime()" API (#17179)Kamil Ogórek
This PR adds support for `Deno.osUptime` which reports number of seconds since os was booted. It will allow us to be compatible with Node's `os.uptime` - https://nodejs.org/api/os.html#osuptime Partially based on https://docs.rs/uptime_lib/latest/src/uptime_lib/lib.rs.html
2022-12-26chore(core): Make `OpCtx` instances be realm-specific (#17174)Andreu Botella
2022-12-26chore(npm): fix typo in local.rs (#17186)Ikko Ashimine
2022-12-23fix(core): run macrotasks and next ticks after polling dynamic imports (#17173)Bartek Iwańczuk
This commit fixes handling of rejected promises in dynamic imports evaluation. Previously we were running callbacks for next ticks and macrotasks _before_ polling dynamic imports and checked for unhandled rejections immediately after. This is wrong, as `unhandledrejection` event is dispatched and its callbacks are run as macrotasks. This commit changes order of actions performed by the event loop to following: - poll async ops - poll dynamic imports - run next tick callbacks - run macrotask callbacks - check for unhandled promise rejections
2022-12-23fix(ext/fetch): Guard against invalid URL before its used by reqwest (#17164)Kamil Ogórek
2022-12-22fix: add missing verb in description (#17163)Geert-Jan Zwiers
2022-12-22fix: rejected dynamic import should retain error context (#17160)Bartek Iwańczuk
Found this while debugging https://github.com/denoland/deno/issues/16280. Before: ``` TypeError: Could not resolve 'file:///Users/ib/dev/test_rollup/mocha/rollup.config.js' from 'file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/shared/loadConfigFile.js'. at async getConfigFileExport (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/shared/loadConfigFile.js:432:17) at async Object.loadConfigFile (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/shared/loadConfigFile.js:391:59) at async getConfigs (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/bin/rollup:1679:39) at async runRollup (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/bin/rollup:1656:43) ``` After: ``` TypeError: Could not resolve 'file:///Users/ib/dev/test_rollup/mocha/rollup.config.js' from 'file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/shared/loadConfigFile.js'. Caused by: Reading /Users/ib/dev/test_rollup/mocha/package.json is not allowed at async getConfigFileExport (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/shared/loadConfigFile.js:432:17) at async Object.loadConfigFile (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/shared/loadConfigFile.js:391:59) at async getConfigs (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/bin/rollup:1679:39) at async runRollup (file:///Users/ib/Library/Caches/deno/npm/registry.npmjs.org/rollup/3.7.3/dist/bin/rollup:1656:43) ```
2022-12-22fix(ext): Add checks for owning properties in for-in loops (#17139)Kenta Moriuchi
In the for-in loops, there were a few places where we forgot to check if objects owned some properties, so I added them.
2022-12-21fix(permissions): add information about import() API request (#17149)Bartek Iwańczuk
This commit changes permission prompt to show that "import()" API is requesting permissions. Given "dynamic_import.js" like so: ``` import("https://deno.land/std@0.170.0/version.ts"); ``` Before: ``` deno run dynamic_import.js ⚠️ ┌ Deno requests net access to "deno.land". ├ Run again with --allow-net to bypass this prompt. └ Allow? [y/n] (y = yes, allow; n = no, deny) > ``` After: ``` deno run dynamic_import.js ⚠️ ┌ Deno requests net access to "deno.land". ├ Requested by `import()` API ├ Run again with --allow-net to bypass this prompt. └ Allow? [y/n] (y = yes, allow; n = no, deny) > ```