Zoltan Kochan
e3b35b6f37
style: update eslint to v9 ( #10474 )
2026-01-17 12:01:23 +01:00
Zoltan Kochan
8b4bdf9a83
refactor: replace onlyBuiltDependencies and ignoredBuiltDependencies with allowBuilds ( #10401 )
2026-01-02 23:21:17 +01:00
Khải
97cf97609e
fix(cli/config): phantom keys ( #10323 )
...
* fix(cli/config): phantom keys
Fixes https://github.com/pnpm/pnpm/issues/10296
This patch also include other refactors.
* test: does not traverse the prototype chain
* test: more properties
* test: fix other tests
* feat: revert unrelated changes
2025-12-22 12:26:14 +01:00
Khải
075aa993bb
feat(config): global yaml ( #10145 )
...
* feat(config): global `rc.yaml`
* fix: undefined `rawConfig`
* test: add a test
* feat: re-export `isSupportedNpmConfig`
* feat: return `'compat'` to distinguish compatibility reason
* docs: `isSupportedNpmConfig`
* fix: eslint
* docs: clarify the case of the config key
* feat(cli/config/set): target yaml for pnpm-specific settings
* fix: read the correct file
* fix: write to the correct directory
* refactor: remove disabled code
* refactor: get `configDir` directly
* docs: remove outdated documentation
* test: fix a test
* test: rename
* fix: explicitly tell npm the config file path
* test: add a test
* test: add a test
* test: fix a test
* fix: local config dir
* fix: `managingAuthSettings`
* test: rename
* test: fix
* test: add a test
* test: demonstrate choosing config files
* test: fix
* docs: yet another consideration
* test: demonstrate choosing config files
* fix: correct local config file names in test helper
* test: demonstrate choosing config files
* test: use the helper
* test: add a test
* test: correct a test
* test: fix
* test: fix
* fix: eslint
* test: remove duplicate
* feat: validate `rc.yaml`
* docs: changeset
* test: fix `configDelete.test.ts`
* feat: other `npm` call-sites
* fix: make optional again
* feat: remove the change from `publish`
* fix: eslint
* refactor: just one is sufficient
* refactor: replace type union with 3 functions
* refactor(test): extract helper functions
* fix: add `rc.yaml` to `rawConfig`
* test: keep workspace settings out of `rc.yaml`
* test: fix `spawn ENOENT`
* chore(git): revert invalid change
This reverts commit 1ff6fe2323 .
* feat: rename `rc.yaml` to `config.yaml`
* refactor: replace `acceptNonRc` with `!globalSettingsOnly`
* feat!: remove compat completely
* refactor: rename a function
* fix: no actual catalogs
* refactor: replace bool flag with preemptive filter
* feat!: filter global config keys
* test: fix
* fix: exclude `deploy-all-files`
* fix: reverse schema merge order
* feat(cli/config/set): validate global config yaml key
* test: remove duplicated assertion
* docs: correct
* docs: goal changed
2025-11-11 11:24:06 +01:00
Ryo Matsukawa
d5d4eedeeb
feat: add support for pnpm config get globalconfig ( #10090 )
...
close #9977
2025-11-08 14:14:36 +01:00
Khải
d392c3d059
fix: explicitly tell npm the config file path ( #10154 )
...
* fix: explicitly tell npm the config file path
* fix: `managingAuthSettings`
* feat: other `npm` call-sites
* docs: changeset
* fix: make optional again
* feat: remove the change from `publish`
* fix: eslint
* refactor: just one is sufficient
2025-11-05 23:46:20 +01:00
Khải
d4bf2d0e60
feat(cli/config)!: config command outputs changed from INI to JSON with camelCase keys ( #10142 )
2025-10-30 11:34:48 +01:00
Khải
ae43ac79fa
feat(cli/config)!: breaking changes ( #9854 )
...
* feat(cli/config)!: breaking changes
* refactor(test): remove `deepNullProto` and reuse `getOutputString`
* feat(cli/config/list): censor protected settings
* test: censorship of protected settings
* docs(changeset): censorship of protected settings
* fix: eslint
* feat(config)!: exclude non-option from `rawConfig`
* fix: eslint
* refactor: move default registries to builtin (#9886 )
* feat(config)!: filter rc settings
* feat(config): don't exclude non-options
This reverts commit a79f72dbfb .
* feat(cli/config/get)!: print array as json
* test: fix
* docs(changeset): correct
* test: fix
* feat(cli/config)!: only kebabize option fields (wip)
* chore(git): revert the implementation
This reverts commit 529f9bdd47 .
* test: restore
This reverts commit d8191e0ed8 .
* feat(cli/config)!: only kebabize option fields (wip)
* feat: use `types` instead
* feat(cli/config/get)!: only kebabize rc fields
* test: add
* test: non-rc kebab-case keys
* test: correct
* docs(changeset): correct
* docs(changeset): style
* docs(changeset): correct
* test: only kebabize rc fields
* fix: import path
* fix: eslint
* fix: `isCamelCase`
* feat(cli/config/set)!: forbid unknown rc fields
* test: fix existing test
* test: refuse unsupported rc settings
* feat: hint
* feat(cli/config/set)!: refuse kebab-case workspace-specific settings
* feat(config)!: ignore non-camelCase from `pnpm-workspace.yaml`
* test: config get
* test: config list
* refactor: extract shared code into its own package
* test: `isCamelCase`
* feat(cli/config/list)!: consistent naming cases
* refactor: make it more reusable
* feat(cli/config/get)!: consistent naming cases
* feat(cli/config/get): censor protected settings
* test: `get ''` should be the same as `list`
* docs(test): quotation marks
* refactor: remove unnecessary `test.each`
* docs(changeset): case changes
* test: unknown keys
* docs(changeset): correct
* docs(changeset): non camelCase from `pnpm-workspace.yaml`
* fix: eslint
* docs(changeset): correct terminology
* docs(changeset): clarify
* feat!: do not load non-auth and non-registry
* fix: implementation
* test: no hidden settings
* fix: eslint
* fix: do not drop default values
* test: fix
* test: remove irrelevant tests
* test: fix (wip)
* fix: auth
* test: skip an inapplicable test
* test: temporary skip a test
* test: fix 'respects testPattern'
* test: fix 'respects changedFilesIgnorePattern'
* test: fix 'changedFilesIgnorePattern is respected'
* test: rename a test
* test: fix `package-lock=false`
* feat: exception for `managePackageManagerVersions`
* test: `managePackageManagerVersions: false`
* test: fix (wip)
* test: workaround
* fix: default `optional` to `true`
* fix: `filter` on `pnpm-workspace.yaml`
* test: fix
* test: disable ones that no longer apply
* chore(git): revert incorrect change
* fix: `filter` on `pnpm-workspace.yaml` (#10127 )
* fix: `filter` on `pnpm-workspace.yaml`
* docs: changeset
* fix: actual fix
* fix: don't set default on config
* docs(readme): correct a package description
* fix: typo
* test: fix
* test: use a field that wouldn't be ignored
* test: replace some `.npmrc` with `pnpm-workspace.yaml`
* docs(changeset): less awkward wordings
* docs(changeset): correction
2025-10-28 17:09:15 +01:00
Zoltan Kochan
dab9abef5c
Merge remote-tracking branch 'origin/main' into v11
2025-10-24 14:19:07 +02:00
Ryo Matsukawa
47295e2d25
fix: handle scoped registry keys in config get ( #10082 )
...
* fix: handle scoped registry keys in config get
* Update config/plugin-commands-config/test/configGet.test.ts
Co-authored-by: Khải <hvksmr1996@gmail.com >
* Update config/plugin-commands-config/test/configGet.test.ts
Co-authored-by: Khải <hvksmr1996@gmail.com >
* Update config/plugin-commands-config/test/configGet.test.ts
Co-authored-by: Khải <hvksmr1996@gmail.com >
* chore: add a comment
---------
Co-authored-by: Khải <hvksmr1996@gmail.com >
close #9362
2025-10-14 00:23:08 +02:00
Ryo Matsukawa
587424f24f
fix: config set --location=project with npm-managed settings ( #10074 )
...
close #9884
2025-10-12 18:33:23 +02:00
Ryo Matsukawa
eaaf8cb965
fix: match read/write priority when both pnpm-workspace.yaml and .npmrc exist ( #10073 )
...
* fix: match read/write priority when both pnpm-workspace.yaml and .npmrc exist
* chore: update help message
close #10072
2025-10-12 15:43:57 +02:00
Zoltan Kochan
491a84fb26
feat: use ESM instead of commonjs ( #9870 )
2025-08-25 10:02:00 +02:00
Zoltan Kochan
27cbc09206
style: fix jest-related linting issues ( #9894 )
2025-08-22 21:56:49 +02:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
Zoltan Kochan
c89c93d59b
test: use @jest/globals ( #9877 )
2025-08-19 00:16:25 +02:00
Khải
797ce15852
refactor(test): remove deepNullProto and reuse getOutputString ( #9855 )
2025-08-14 12:27:23 +02:00
Khải
b84c71d6bf
feat(cli/config): get/set objects and property paths ( #9811 )
...
close #9797
2025-08-14 10:28:49 +02:00
Zoltan Kochan
6c16fa9963
fix: config set should save the settings in the right format ( #9357 )
...
close #9355
2025-04-01 12:06:58 +02:00
Zoltan Kochan
1b1ed10e1a
fix(config): config get returns auth related settings properly ( #9346 )
...
close #9345
2025-03-31 09:34:17 +08:00
btea
3a90ec1f8f
feat: config delete local should delete setting in pnpm-workspace.yaml ( #9317 )
...
* feat: config delete local should delete setting in pnpm-workspace.yaml
* refactor: removing settings from pnpm-workspace.yaml
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-03-23 02:28:43 +01:00
Zoltan Kochan
9bcca9f760
feat: config set local should save settings in pnpm-workspace.yaml ( #9316 )
2025-03-22 13:39:21 +01:00
Khải
9b4f73caaf
chore(scripts): typecheck-only ( #8395 )
...
* chore(scripts): typecheck-only
* feat: change all configuration
* feat: include pnpm/ and pnpm/test/
* chore(deps): remove unused dependency
* refactor(typescript-only): use find-packages
* refactor(typescript-only): refactor paths
* fix: typescript-only
* fix: update compile-only
* fix: compile pnpm
* fix: windows
* fix: windows
* chore: meta-updater
* refactor(tsconfig): remove explicit composite
* fix: path in windows
* feat: don't depend on cwd
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-08-11 08:26:01 +02:00
Brandon Cheng
c7e1b6fae8
chore: configure TypeScript project references for tests ( #8128 )
...
* refactor: store link values before converting to references
* fix: use .sort() without localeCompare
https://github.com/pnpm/pnpm/pull/8128#discussion_r1614031566
> Nit, but you probably just want to call sort without a comparison
> function; these are already strings and locale compare is not a good
> comparison for anything but human readable strings since it will
> differ on different people's machines based on their language setting.
> I've hit this too many times before for code gen.
* feat: configure meta-updater to write test/tsconfig.json files
* fix: relative imports for __typings__
* chore: `pnpm run meta-updater`
* fix: explicitly use test/tsconfig.json for ts-jest
2024-05-31 12:48:13 +02:00
Khải
e0f47f45e4
feat(config): get on array ( #7917 )
...
* refactor(config): return type annotations
* refactor: simplify configGet
* test: fix typescript errors
* feat(config): get on array
* feat(config): use comma instead
* lint: fix
2024-04-13 14:14:52 +02:00
Khải
ea58e1d438
refactor(config): return type annotations ( #7915 )
...
* refactor(config): return type annotations
* refactor: simplify configGet
* test: fix typescript errors
2024-04-13 13:21:20 +02:00
await-ovo
6d97739890
feat(plugin-commands-config): throw meaningful error for config sub commands ( #7108 )
...
close #7106
2023-09-19 01:41:49 +03:00
chlorine
bb287272a0
fix: pnpm config get <key> -g returns empty when the value is a boolean ( #6360 )
2023-04-06 03:39:24 +03:00
Zoltan Kochan
6314a47b82
fix: settings related to authorization should be set by npm CLI ( #6195 )
...
close #6181
2023-03-08 03:17:15 +02:00
Zoltan Kochan
a3e0223ce4
fix: config set should write to the global config file ( #6132 )
...
close #5877
close #6131
2023-02-25 18:15:38 +02:00
Zoltan Kochan
f76a39973e
fix(config): config set key=value should work ( #5899 )
...
ref #5889
2023-01-09 12:43:21 +02:00
Zoltan Kochan
83a627a25c
fix(config): the --location=global CLI option should work ( #5843 )
...
ref #5841
2022-12-27 19:46:22 +02:00
Zoltan Kochan
841f52e709
feat: implement the config commands ( #5829 )
...
close #5621
2022-12-24 17:08:43 +02:00