{"_id":"@d-lint/filenamelint","_rev":"2-b48056c32627d6562630160c31144428","name":"@d-lint/filenamelint","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@d-lint/filenamelint","version":"1.0.0","description":"","main":"src/index.mjs","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"bin":{"filenamelint":"bin/filenamelint.js"},"author":"","license":"ISC","dependencies":{"commander":"^11.1.0","lodash":"^4.17.21"},"gitHead":"0f304914187f7f72803734464ba203f8ce50d148","_id":"@d-lint/filenamelint@1.0.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-+cDig5QbpS3qCysCAZRxzuT1suMG0xMHW4CjZFdFPR21mHlbKGht6qCHS8kFnSrH9Vs3fgpxsy9+/Q48G/Kw1w==","shasum":"9f38bbb4740c428d1b26c12677dd377b20280c96","tarball":"https://registry.npmjs.org/@d-lint/filenamelint/-/filenamelint-1.0.0.tgz","fileCount":7,"unpackedSize":4920,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/99nzo1akCOdubaw6zxpmRqpEwh/O5niLiFpxdNLjIgIhAPSYFIVRRzomWQViLE4DI+kfb88jT3sOL9vJ7/6BR0/g"}]},"_npmUser":{"name":"fwheart","email":"ming13821007683@gmail.com"},"directories":{},"maintainers":[{"name":"fwheart","email":"ming13821007683@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/filenamelint_1.0.0_1699410808002_0.17440873144377123"},"_hasShrinkwrap":false},"1.0.1":{"name":"@d-lint/filenamelint","version":"1.0.1","description":"文件名lint工具：","main":"src/index.mjs","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"bin":{"filenamelint":"bin/filenamelint.js"},"author":"","license":"ISC","dependencies":{"commander":"^11.1.0","lodash":"^4.17.21"},"gitHead":"bdf2a572a7cdb5b802b2559019c2ee4a1459b93e","_id":"@d-lint/filenamelint@1.0.1","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-v1KlLL1+Y/OSmCT4qBDBMrP7EqaxX4XC6ezy53QMDy9MG4ZpLlYKf2KFhk0ZzMc4RBtzKGePwuKYDgPDLnILEQ==","shasum":"bc3b9092bbebebf1e3bea65998b0f522854bfebe","tarball":"https://registry.npmjs.org/@d-lint/filenamelint/-/filenamelint-1.0.1.tgz","fileCount":9,"unpackedSize":8415,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEIg0gePcJgDBhWVoe0eKDGSBNCSyx8ugz4mxwmZiHHXAiA346GBKzp/W9ALnE3E9nWx6nf57OzPdX8Kq+GjAnBexQ=="}]},"_npmUser":{"name":"fwheart","email":"ming13821007683@gmail.com"},"directories":{},"maintainers":[{"name":"fwheart","email":"ming13821007683@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/filenamelint_1.0.1_1699948328961_0.32851487576439387"},"_hasShrinkwrap":false},"2.0.0":{"name":"@d-lint/filenamelint","version":"2.0.0","description":"文件名lint工具：","main":"src/index.mjs","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"bin":{"filenamelint":"bin/filenamelint.js"},"author":"","license":"ISC","dependencies":{"commander":"^11.1.0","lodash":"^4.17.21"},"gitHead":"d708eabdb6abf83dfd92bcea696d86782fc10b9c","_id":"@d-lint/filenamelint@2.0.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-ga2E3Y41AjUWI8Yoe+unAsuC2V//PzTUKtoEqyWwFU+KXy5atVKKShzOyZf0SNOLH4c+/KPA07IMHeG8QmrGWw==","shasum":"2aaad912badfb0e43d6c53f21dacf128aaa3ec90","tarball":"https://registry.npmjs.org/@d-lint/filenamelint/-/filenamelint-2.0.0.tgz","fileCount":9,"unpackedSize":8415,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoGFq23vZzfR5LxhRMk36BCHmcfxcsDwBSPBWD6ErYeAiEAoAN0xNeH5PGzXSI9wdpQZas2798N0QNsiOBahgnrfTQ="}]},"_npmUser":{"name":"fwheart","email":"ming13821007683@gmail.com"},"directories":{},"maintainers":[{"name":"fwheart","email":"ming13821007683@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/filenamelint_2.0.0_1699954688240_0.2359284296969355"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-08T02:33:27.873Z","1.0.0":"2023-11-08T02:33:28.257Z","modified":"2023-11-14T09:38:08.739Z","1.0.1":"2023-11-14T07:52:09.106Z","2.0.0":"2023-11-14T09:38:08.539Z"},"maintainers":[{"name":"fwheart","email":"ming13821007683@gmail.com"}],"license":"ISC","readme":"# @d-lint/filenamelint\n\n文件名lint工具：\n\n- 支持常见命名规则\n- 支持自定义正则表达式\n- 支持不同文件夹设置不同文件名\n\n## 配置\n\n以如下目录结构的配置为例，说明下配置规则：\n\n```yml\n- src：\n    - business:\n        handler.ts\n        map-logo.png\n    - ui:\n        - components:\n            - Panel\n                - PanelItem.tsx\n                - PanelItem.scss\n            index.ts\n        - business:\n            - DialogPanel\n                - PanelItem.tsx\n                - PanelItem.scss\n        - hooks:\n            usePanel.ts\n    - utils:\n        getform.ts\n        request.ts\n        index.ts\n```\n\n配置规则定义如下：\n\n```js\nconst whitelist = [/^index/];\nmodule.exports = {\n    regexp: 'snakeCase',\n    root: 'src',\n    directories: {\n        business: {\n            regexp: {\n                '.ts': 'snakeCase',\n                '.png': 'kebabCase',\n                '*': 'snakeCase',\n            },\n            whitelist,\n        },\n        ui: {\n            directories: {\n                components: {\n                    regexp: {\n                        '.tsx': 'pascalCase',\n                        '.scss': 'pascalCase',\n                        '*': 'snakeCase',\n                    },\n                    whitelist,\n                },\n                business: {\n                    regexp: {\n                        '.tsx': 'pascalCase',\n                        '.scss': 'pascalCase',\n                        '*': 'snakeCase',\n                    },\n                    whitelist,\n                },\n                hooks: {\n                    regexp: 'camelCase',\n                    whitelist,\n                },\n            },\n        },\n        utils: {\n            regexp: /^[a-z]+$/\n        }\n    },\n};\n```\n\n1. root表示根目录所在位置，同层级的regexp表示全局匹配的类型\n2. directories表示子目录匹配规则\n3. regexp\n    - 对象形式，对于每一种扩展名的文件匹配规则；\n    - 字符串形式，使用预定义规则；\n    - 正则表达式形式，自定义匹配规则\n4. whitelist表示白名单规则，需用正则表达式\n\n## 使用\n\n结合lint-staged可以在代码提交的时候拦截文件名，进行检查报错\n\n`package.json`\n\n```json\n{\n  \"name\": \"filenamelint demo\",\n  \"version\": \"0.0.1\",\n  \"description\": \"filenamelint's demo\",\n  \"main\": \"index.ts\",\n  \"repository\": \"git@git.xiaojukeji.com:dipper/kunyu.git\",\n  \"author\": \"\",\n  \"license\": \"MIT\",\n  \"scripts\": {\n  },\n  \"lint-staged\": {\n    \"*\": \"filenamelint -c ./filenamelint.config.js\"\n  },\n  \"sideEffects\": true,\n  \"devDependencies\": {\n    \"lint-staged\": \"^12.1.2\",\n  },\n  \"dependencies\": {\n  }\n}\n```","readmeFilename":"README.md","description":"文件名lint工具："}