{"_id":"@1-/package_clean","name":"@1-/package_clean","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@1-/package_clean","version":"0.1.0","description":"Clean package.json objects for publishing by removing development-specific fields","description_zh":"通过移除开发专用字段来清理 package.json 对象以供发布","keywords":["package-json","clean","publish","npm","dependencies"],"homepage":"https://github.com/webc-site/npm/tree/main/package_clean","license":"MulanPSL-2.0","author":{"name":"x-at-01@googlegroups.com"},"repository":{"type":"git","url":"git+https://github.com/webc-site/npm.git"},"type":"module","exports":{".":"./_.js","./*":"./*"},"_id":"@1-/package_clean@0.1.0","bugs":{"url":"https://github.com/webc-site/npm/issues"},"_nodeVersion":"26.2.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-5SbUbod9lDfJCfKfti2fhuwUloP7WUr8NcWEgYh8WVUK2kJGOMFMpTusFvw3FI5gMUEa2l/e5q0oy+O7ZGCVpA==","shasum":"d941e32045c1550d0f6899ba5d41923b9657fab2","tarball":"https://registry.npmjs.org/@1-/package_clean/-/package_clean-0.1.0.tgz","fileCount":3,"unpackedSize":5256,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDDniUeSArFpfUl1NtIO2SHjL+W9BQsZCh2E63Sdl5C4AiEA0JKn+ub5jT1esBmV3WA21Fnyk1GLTP637NmBDPOwGDE="}]},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"directories":{},"maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/package_clean_0.1.0_1783307126852_0.3280578743442759"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-06T03:05:26.651Z","0.1.0":"2026-07-06T03:05:27.010Z","modified":"2026-07-06T03:05:27.270Z"},"maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"description":"Clean package.json objects for publishing by removing development-specific fields","homepage":"https://github.com/webc-site/npm/tree/main/package_clean","keywords":["package-json","clean","publish","npm","dependencies"],"repository":{"type":"git","url":"git+https://github.com/webc-site/npm.git"},"author":{"name":"x-at-01@googlegroups.com"},"bugs":{"url":"https://github.com/webc-site/npm/issues"},"license":"MulanPSL-2.0","readme":"[English](#en) | [中文](#zh)\n\n---\n\n<a id=\"en\"></a>\n# package_clean : Clean package.json for publishing\n\n- [package_clean : Clean package.json for publishing](#package_clean-clean-packagejson-for-publishing)\n  - [Functionality](#functionality)\n  - [Usage demonstration](#usage-demonstration)\n  - [Design rationale](#design-rationale)\n  - [Technology stack](#technology-stack)\n  - [Code structure](#code-structure)\n  - [Historical context](#historical-context)\n  - [About](#about)\n\n## Functionality\nRemoves development-specific fields from package.json objects to prepare them for publishing. Eliminates devDependencies, files, scripts, and lint-staged properties while preserving production-critical metadata.\n\n## Usage demonstration\nInstall as a dependency:\n```bash\nnpm install @1-/package_clean\n```\n\nUse in code:\n```javascript\nimport clean from '@1-/package_clean';\n\nconst originalPackage = {\n  name: 'my-package',\n  version: '1.0.0',\n  devDependencies: { jest: '^29.0.0' },\n  scripts: { test: 'jest' },\n  main: './index.js'\n};\n\nconst cleanedPackage = clean(originalPackage);\n// Result contains only production-relevant fields\nconsole.log(cleanedPackage);\n```\n\n## Design rationale\nThe cleaning function creates a deep copy of the input package object and selectively removes development-only properties. This ensures the original object remains unmodified while producing a minimal, publish-ready package configuration.\n\n![](https://fastly.jsdelivr.net/gh/webc-fs/-@Lj/vKwRLJ5axqPuhEu2WJOQ.svg)\n\n## Technology stack\n- JavaScript (ES Module)\n- Node.js runtime\n- No external dependencies\n\n## Code structure\n```\nsrc/\n├── _.js          # Main cleaning function export\nknip.js           # Knip configuration file\ntest/\n└── _.test.js     # Test suite for cleaning functionality\n```\n\n## Historical context\nPackage.json cleaning tools emerged alongside the npm ecosystem's evolution. As JavaScript packaging matured, developers needed ways to distinguish between development and production dependencies. The concept of \"clean\" package configurations predates modern bundlers, appearing in early Node.js tooling to ensure consistent publishing behavior across different environments.\n\n## About\n\nThis library is developed by [WebC.site](https://webc.site).\n\n[WebC.site](https://webc.site): A new paradigm of web development for AI\n\n\n---\n\n<a id=\"zh\"></a>\n# package_clean : 清理 package.json 以供发布\n\n- [package_clean : 清理 package.json 以供发布](#package_clean-清理-packagejson-以供发布)\n  - [功能介绍](#功能介绍)\n  - [使用演示](#使用演示)\n  - [设计思路](#设计思路)\n  - [技术栈](#技术栈)\n  - [代码结构](#代码结构)\n  - [历史故事](#历史故事)\n  - [关于](#关于)\n\n## 功能介绍\n从 package.json 对象中移除开发专用字段，为发布做准备。删除 devDependencies、files、scripts 和 lint-staged 属性，同时保留生产环境必需的元数据。\n\n## 使用演示\n安装为依赖项：\n```bash\nnpm install @1-/package_clean\n```\n\n在代码中使用：\n```javascript\nimport clean from '@1-/package_clean';\n\nconst originalPackage = {\n  name: 'my-package',\n  version: '1.0.0',\n  devDependencies: { jest: '^29.0.0' },\n  scripts: { test: 'jest' },\n  main: './index.js'\n};\n\nconst cleanedPackage = clean(originalPackage);\n// 结果仅包含生产环境相关字段\nconsole.log(cleanedPackage);\n```\n\n## 设计思路\n清理函数创建输入 package 对象的深度副本，并有选择地移除仅用于开发的属性。确保原始对象保持不变，同时生成最小化且适合发布的 package 配置。\n\n![](https://fastly.jsdelivr.net/gh/webc-fs/-@iQ/sOgJ5buFi2O_-dG0wZFQ.svg)\n\n## 技术栈\n- JavaScript（ES 模块）\n- Node.js 运行时\n- 无外部依赖\n\n## 代码结构\n```\nsrc/\n├── _.js          # 主清理函数导出\nknip.js           # Knip 配置文件\ntest/\n└── _.test.js     # 清理功能测试套件\n```\n\n## 历史故事\npackage.json 清理工具随着 npm 生态系统的演进而出现。随着 JavaScript 打包技术的发展，开发者需要区分开发依赖和生产依赖。\"精简\" package 配置的概念早于现代打包器，在早期 Node.js 工具链中就已存在，旨在确保不同环境中发布行为的一致性。\n\n## 关于\n\n本库由 [WebC.site](https://webc.site) 开发。\n\n[WebC.site](https://webc.site) : 面向人工智能的网站开发新范式\n\n","readmeFilename":"README.md","_rev":"1-c1cd55543a28fad78b09d074211d21eb"}