mirror of
https://github.com/denoland/deno.git
synced 2025-09-28 05:04:48 +00:00
![]() This commit changes `Deno.execPath()` API to no longer require read permission. This change is dictated by the fact that in common scenarios, requiring read permission is less secure than not requiring permissions - if a user wants to spawn a Deno subprocess using the current executable, they would do something like: ``` new Deno.Command(Deno.execPath(), { args: ["eval", "1+1"] }).outputSync(); ``` To run this program, currently one needs to pass `--allow-read --allow-run=deno` flags. It's possible to limit scope of `--allow-read` flag, but it's really cumbersome to do, so most users will opt to give a blanket `--allow-read` permission. Not requiring read permissions allows the above program to be run with just `--allow-run=deno` flag. This change is in similar to relaxing of permissions in `Deno.cwd()` API done in https://github.com/denoland/deno/pull/27192. Ref https://github.com/denoland/deno/issues/20061#issuecomment-2942497783 |
||
---|---|---|
.. | ||
dts | ||
00_typescript.js | ||
97_ts_host.js | ||
98_lsp.js | ||
99_main_compiler.js | ||
_analyze_types_node.ts | ||
compiler.d.ts | ||
diagnostics.rs | ||
mod.rs | ||
README.md |
tsc
This directory contains the typescript compiler and a small compiler host for the runtime snapshot.
How to upgrade TypeScript.
The files in this directory are mostly from the TypeScript repository. We currently (unfortunately) have a rather manual process for upgrading TypeScript. It works like this currently:
- Checkout denoland/TypeScript repo in a separate directory.
- Add Microsoft/TypeScript as a remote and fetch its latest tags
- Checkout a new branch based on this tag.
- Cherry pick the custom commit we made in a previous release to the new one.
- This commit has a "deno.ts" file in it. Read the instructions in it.
- Copy typescript.js into Deno repo.
- Copy d.ts files into dts directory.
- Review the copied files, removing and reverting what's necessary
So that might look something like this:
git clone https://github.com/denoland/TypeScript.git
cd typescript
git remote add upstream https://github.com/Microsoft/TypeScript
git fetch upstream
git checkout v3.9.7
git checkout -b branch_v3.9.7
git cherry pick <previous-release-branch-commit-we-did>
npm install
npx hereby
rsync built/local/typescript.js ~/src/deno/cli/tsc/00_typescript.js
rsync --exclude=protocol.d.ts --exclude=tsserverlibrary.d.ts --exclude=typescriptServices.d.ts built/local/*.d.ts ~/src/deno/cli/tsc/dts/