@putout/plugin-package-json v8.3.0
@putout/plugin-package-json 
πPutout plugin helps to automate fixing package.json
.
Install
npm i @putout/plugin-package-json -D
Rules
- β add-type;
- β apply-https-to-repository-url;
- β find-file;
- β remove-nyc;
- β remove-commit-type;
- β remove-exports-with-missing-files;
Config
{
"rules": {
"package-json/add-type": "on",
"package-json/apply-https-to-repository-url": "on",
"package-json/remove-nyc": "on",
"package-json/remove-commit-type": "on",
"package-json/remove-exports-with-missing-files": "off",
"package-json/find-file": "off"
}
}
add-type
Add type
field to package.json
:
{
"name": "hello",
"version": "1.0.0",
+ "type": "commonjs"
}
apply-https-to-repository-url
The git://
protocol for GitHub repos should not be used due security concerns.
Checkout in πPutout Editor.
{
"repository": {
"type": "git",
- "url": "git://github.com/coderaiser/putout.git"
+ "url": "git+https://github.com/coderaiser/putout.git"
}
remove-nyc
- additional fields in
package.json
produces more traffic then users of your package really need; - c8 uses same config name and format so transition between tools will be much easier;
β Example of incorrect code
nyc
section in package.json
:
{
"nyc": {
"check-coverage": "on",
"all": "on",
"exclude": [
"**/*.spec.js",
"**/fixture",
"test",
".*.js"
],
"branches": 100,
"lines": 100,
"functions": 100,
"statements": 100
}
}
β Example of correct code
File .nycrc.json
:
{
"check-coverage": "on",
"all": "on",
"exclude": [
"**/*.spec.js",
"**/fixture",
"test",
".*.js"
],
"branches": 100,
"lines": 100,
"functions": 100,
"statements": 100
}
remove-commit-type
Since πWisdom v14 commitType
set to colon
be default, so it can be dropped from package.json
if it's value not paren
:
Check out in πPutout Editor.
{
"name": "hello",
"version": "1.0.0",
"commitType": "colon"
}
find-file
Find package.json
inside of .filesystem.json
and applies all other package-json
rules.
Checkout in πPutout Editor.
{
"name": "hello",
"version": "1.0.0",
+ "type": "commonjs"
}
remove-exports-with-missing-files
Find package.json
inside of .filesystem.json
and removes exports
with missing files.
Checkout in πPutout Editor:
__putout_processor_filesystem([
"/",
["/package.json", `{
"exports": {
"./parse-options": "./lib/parse-options/index.js",
- "./loader": "./lib/loader.mjs"
}
}`],
"/lib/",
"/lib/parse-options/",
["/lib/parse-options/index.js", "export const a = 5"],
]);
License
MIT
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago