summaryrefslogtreecommitdiff
path: root/cli/lsp/config.rs
AgeCommit message (Collapse)Author
2024-11-13feat(node): stabilize detecting if CJS via `"type": "commonjs"` in a ↵David Sherret
package.json (#26439) This will respect `"type": "commonjs"` in a package.json to determine if `.js`/`.jsx`/`.ts`/.tsx` files are CJS or ESM. If the file is found to be ESM it will be loaded as ESM though.
2024-11-01fix: improved support for cjs and cts modules (#26558)David Sherret
* cts support * better cjs/cts type checking * deno compile cjs/cts support * More efficient detect cjs (going towards stabilization) * Determination of whether .js, .ts, .jsx, or .tsx is cjs or esm is only done after loading * Support `import x = require(...);` Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-31fix(lsp): include unstable features from editor settings (#26655)Nayeem Rahman
2024-10-25feat(lsp): "typescript.preferences.preferTypeOnlyAutoImports" setting (#26546)Nayeem Rahman
2024-10-16Reland feat(lsp): deno/didRefreshDenoConfigurationTree notifications (#26325)Nayeem Rahman
2024-10-16Revert "feat(lsp): "deno/didRefreshDenoConfigurationTree" notificatio… ↵Bartek Iwańczuk
(#26320) …ns (#26215)" This reverts commit 06778e4e9b0a856ac39cc01f0813e6076eb150d6 because benchmarks are failing on `main`.
2024-10-16feat(lsp): "deno/didRefreshDenoConfigurationTree" notifications (#26215)Nayeem Rahman
2024-10-02feat(byonm): support `deno run npm:<package>` when package is not in ↵David Sherret
package.json (#25981) Closes https://github.com/denoland/deno/issues/25905
2024-09-28refactor: extract out sloppy imports resolution from CLI crate (#25920)David Sherret
This is slow progress towards creating a `deno_resolver` crate. Waiting on: * https://github.com/denoland/deno/pull/25918 * https://github.com/denoland/deno/pull/25916
2024-09-28refactor: use deno_path_util (#25918)David Sherret
2024-09-23BREAKING: remove support for remote import maps in deno.json (#25836)David Sherret
This is for security reasons for the time being for Deno 2. Details to follow post Deno 2.0 release. Remote import maps seem incredibly rare (only 2 usages on GitHub from what I can tell), so we'll add this back with more permissions if there's enough demand for it: https://github.com/search?type=code&q=%2F%22importMap%22%3A+%22http%2F In the meantime, use the `--import-map` flag and `"deno.importMap"` config in the LSP for remote import maps.
2024-09-18feat(check): turn on noImplicitOverride (#25695)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/11836 Ref https://github.com/denoland/deno/issues/25162
2024-09-16refactor(permissions): split up Descriptor into Allow, Deny, and Query (#25508)David Sherret
This makes the permission system more versatile.
2024-09-11feat(lsp): unstable setting as list (#25552)Nayeem Rahman
2024-09-06feat(lsp): turn on useUnknownInCatchVariables (#25474)Kenta Moriuchi
2024-09-04BREAKING(config): make supported compilerOptions an allow list (#25432)David Sherret
Deno has been using a deny list, which doesn't make sense because a lot of these options don't even work. Closes #25363
2024-09-04fix(lsp): update diagnostics on npm install (#25352)Nayeem Rahman
2024-09-03fix: only enable byonm if workspace root has pkg json (#25379)David Sherret
Closes #25355
2024-08-30refactor: remove DENO_FUTURE (#25314)David Sherret
2024-08-30BREAKING: `DENO_FUTURE=1` by default, or welcome to Deno 2.0 (#25213)Bartek Iwańczuk
This commit effectively turns Deno into Deno 2.0. This is done by forcing `DENO_FUTURE=1` env var, that was available in the past few months to try Deno 2 changes. This commit contains several breaking changes scheduled for Deno 2: - all deprecated JavaScript APIs are not available any more, mostly `Deno.*` APIs - `window` global is removed - FFI, WebGPU and FS APIs are now stable and don't require `--unstable-*` flags - import assertions are no longer supported - "bring your own node modules" is enabled by default This is the first commit in a series that are scheduled before the Deno 2 release. Follow up work is tracked in https://github.com/denoland/deno/issues/25241. --------- Co-authored-by: Asher Gomez <ashersaupingomez@gmail.com> Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com> Co-authored-by: Nathan Whitaker <nathan@deno.com>
2024-08-29feat(config): Node modules option for 2.0 (#25299)Nathan Whitaker
2024-08-28fix(lsp): panic on url_to_uri() (#25238)Nayeem Rahman
2024-08-24refactor(lsp): changes for lsp_types 0.97.0 (#25169)Nayeem Rahman
2024-08-20feat(config): Support frozen lockfile config option in deno.json (#25100)Nathan Whitaker
Closes #24544
2024-08-20feat(unstable): ability to use a local copy of jsr packages (#25068)David Sherret
2024-08-09fix(lsp): don't always use byonm resolver when DENO_FUTURE=1 (#24865)David Sherret
Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2024-08-07fix(compile): support workspace members importing other members (#24909)David Sherret
2024-08-06perf(lsp): remove fallback config scopes for workspace folders (#24868)Nayeem Rahman
2024-07-25fix(unstable): move sloppy-import warnings to lint rule (#24710)David Sherret
Adds a new `no-sloppy-imports` lint rule and cleans up the lint code. Closes #22844 Closes https://github.com/denoland/deno_lint/issues/1293
2024-07-23refactor: update to use deno_package_json (#24688)David Sherret
This is in preparation for extracting out node resolution code from ext/node (which is something I'm going to do gradually over time). Uses https://github.com/denoland/deno_package_json
2024-07-19refactor: update to deno_config 0.25 (#24645)David Sherret
- Gets rid of WorkspaceMemberContext. It's now `Workspace` and `WorkspaceDirectory` - Uses the workspace cache in the lsp * https://github.com/denoland/deno_config/pull/95 * https://github.com/denoland/deno_config/pull/96
2024-07-18fix(lsp): support npm workspaces and fix some resolution issues (#24627)David Sherret
Makes the lsp use the same code as the rest of the cli.
2024-07-17fix(workspace): support resolving bare specifiers to npm pkgs within a ↵David Sherret
workspace (#24611) This makes bare specifiers for npm packages work when inside a workspace, which emulates the same behaviour as when there's a node_modules directory. The bare specifier can be overwritten by specifying an import map entry or package.json dependency entry. * https://github.com/denoland/deno_config/pull/88 Closes #24605
2024-07-09feat(workspace): support object config (#24483)David Sherret
This adds object config for the workspace config: ```json { "workspace": { "members": ["./member-1", "./member-2"] } } ``` This is a more verbose version of `"workspace": ["./member-1", "./member-2"]`. Although we don't need it at the moment, it makes the naming of `"workspace"` more clear and leaves the object open for more config in the future. Closes https://github.com/denoland/deno/issues/24456
2024-07-08fix(lsp): inherit workspace-root-only fields in members (#24440)Nayeem Rahman
2024-07-08fix(workspace): better cli file argument handling (#24447)David Sherret
Closes https://github.com/denoland/deno/issues/24422
2024-07-05refactor: move `FileCollector` to deno_config (#24433)David Sherret
2024-07-04feat: npm workspace and better Deno workspace support (#24334)David Sherret
Adds much better support for the unstable Deno workspaces as well as support for npm workspaces. npm workspaces is still lacking in that we only install packages into the root node_modules folder. We'll make it smarter over time in order for it to figure out when to add node_modules folders within packages. This includes a breaking change in config file resolution where we stop searching for config files on the first found package.json unless it's in a workspace. For the previous behaviour, the root deno.json needs to be updated to be a workspace by adding `"workspace": ["./path-to-pkg-json-folder-goes-here"]`. See details in https://github.com/denoland/deno_config/pull/66 Closes #24340 Closes #24159 Closes #24161 Closes #22020 Closes #18546 Closes #16106 Closes #24160
2024-07-02feat(cli): Add `--frozen` flag to error out if lockfile is out of date (#24355)Nathan Whitaker
Closes #18296. Adds a `--frozen` (alias `--frozen-lockfile`) flag that errors out if the lockfile is out of date. This is useful for running in CI (where an out of date lockfile is usually a mistake) or to prevent accidental changes in dependencies. ![Screenshot 2024-06-26 at 7 11 13 PM](https://github.com/denoland/deno/assets/17734409/538404b8-b422-4f05-89e8-4c9b1c248576)
2024-06-28refactor(cli): Create wrapper around `deno_lockfile::Lockfile` (#24366)Nathan Whitaker
As suggested in https://github.com/denoland/deno/pull/24355#discussion_r1657875422. I wasn't able to hide the mutex stuff as much as I'd like (ended up just adding an escape hatch `inner()` method that locks the inner mutex), because you can't return references to the inner fields through a mutex. This is mostly motivated by the frozen lockfile changes
2024-06-26feat(lsp): ts language service scopes (#24345)Nayeem Rahman
2024-06-26refactor: move PackageJson to deno_config (#24348)David Sherret
2024-06-19fix(lsp): use import map from workspace root (#24246)Nayeem Rahman
Follow up to #24206 which broke deno_std intellisense.
2024-06-17feat(lsp): multi deno.json resolver scopes (#24206)Nayeem Rahman
2024-06-14chore: upgrade to rust 1.79 (#24207)Satya Rohith
2024-06-13perf(lsp): store settings in Arc (#24191)Nayeem Rahman
2024-06-12chore: remove dead code (#24185)Divy Srivastava
2024-06-11fix(lsp): don't sort workspace files (#24180)Nayeem Rahman
2024-06-11refactor(lsp): collect npm reqs by scope (#24172)Nayeem Rahman
2024-06-10feat(lsp): workspace jsr resolution (#24121)Nayeem Rahman