@putout/plugin-package-json v9.1.1
@putout/plugin-package-json 
πPutout plugin helps to automate fixing package.json.
Install
npm i @putout/plugin-package-json -DRules
- β add-type;
- β apply-https-to-repository-url;
- β find-file;
- β remove-nyc;
- β remove-commit-type;
- β remove-duplicate-keywords;
- β 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.jsonproduces 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"
}remove-duplicate-keywords
Check out in πPutout Editor.
__putout_processor_json({
"keywords": [
"putout",
"putout-plugin",
- "plugin",
- "putout"
+ "plugin"
],
});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
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago