{"_id":"@anys/url-join","_rev":"5-7de64b2fcbfb6a89d08610588f2ef1eb","name":"@anys/url-join","dist-tags":{"latest":"1.3.1"},"versions":{"1.1.0":{"name":"@anys/url-join","version":"1.1.0","keywords":["url","join","typescript","utility","path"],"author":{"name":"anys"},"license":"MIT","_id":"@anys/url-join@1.1.0","maintainers":[{"name":"cixiangtao","email":"mrcxt@foxmail.com"}],"homepage":"https://github.com/anys/url-join#readme","bugs":{"url":"https://github.com/anys/url-join/issues"},"dist":{"shasum":"b314c8f380e3d7a589be4b84339e425a742f7695","tarball":"https://registry.npmjs.org/@anys/url-join/-/url-join-1.1.0.tgz","fileCount":9,"integrity":"sha512-BvUiixpaCRjCYD7Uw+5HcYC6kMnxUF6vNe8SENF8cx6eso47NHGDFY08geP8OpaPL3TMw/4/9tdw+esRvoR3hQ==","signatures":[{"sig":"MEYCIQDNUGnSQY93Ty/2bqkOVbFLrwbcDau50WfSpBe/nG7D+QIhAPeeW8sl0s7iV/0m1AcIAhlVdUMWko11j+Ix2NmZo03z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20978},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"47cb8e49edc44e44ffb98a08cb309ca919d190b8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest --watch=false","build":"tsup","release":"release-it","lint:fix":"eslint src --ext .ts --fix","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"cixiangtao","email":"mrcxt@foxmail.com"},"repository":{"url":"git+https://github.com/anys/url-join.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript utility for joining URL segments with automatic filtering of null/undefined values","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.0.0","eslint":"^8.0.0","vitest":"^0.34.0","release-it":"^16.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@vitest/coverage-v8":"^0.34.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/url-join_1.1.0_1753773711409_0.1631788207302789","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@anys/url-join","version":"1.2.0","keywords":["url","join","typescript","utility","path"],"author":{"name":"anys"},"license":"MIT","_id":"@anys/url-join@1.2.0","maintainers":[{"name":"cixiangtao","email":"mrcxt@foxmail.com"}],"homepage":"https://github.com/anys/url-join#readme","bugs":{"url":"https://github.com/anys/url-join/issues"},"dist":{"shasum":"539efa9bc03d692ece1a1cd77543bdc0ab8aa0b5","tarball":"https://registry.npmjs.org/@anys/url-join/-/url-join-1.2.0.tgz","fileCount":9,"integrity":"sha512-VELnbkfZK+KEPuyte2QciZKNLG4WEevnE3a12y6VTGtlbPz0RJgyUPyUwOwf+c5Hiv5+OS1rCKWAza56E7Ye+g==","signatures":[{"sig":"MEUCIQCFdSR/OOP8HeSxR4UgfZcj/3lsarJ2YS3JqS7z2a470wIgaXV1ivZfv5v/yPYS+R4I8MoNE6yyl31RMMU2vpwM2hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31592},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e93289f24767426a34655f66a603a2e1e6995ada","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest --watch=false","build":"tsup","release":"release-it","lint:fix":"eslint src --ext .ts --fix","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"cixiangtao","email":"mrcxt@foxmail.com"},"repository":{"url":"git+https://github.com/anys/url-join.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript utility for joining URL segments with automatic filtering of null/undefined values","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.0.0","eslint":"^8.0.0","vitest":"^0.34.0","release-it":"^16.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@vitest/coverage-v8":"^0.34.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/url-join_1.2.0_1753775093778_0.6774367397831558","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@anys/url-join","version":"1.2.1","keywords":["url","join","typescript","utility","path"],"author":{"name":"anys"},"license":"MIT","_id":"@anys/url-join@1.2.1","maintainers":[{"name":"cixiangtao","email":"mrcxt@foxmail.com"}],"homepage":"https://github.com/cixiangtao/url-join#readme","bugs":{"url":"https://github.com/cixiangtao/url-join/issues"},"dist":{"shasum":"9f3adf8d64135e555ef2733e99bc3326bb82523d","tarball":"https://registry.npmjs.org/@anys/url-join/-/url-join-1.2.1.tgz","fileCount":9,"integrity":"sha512-/W/lwzGdZQt/GlgDzI0xu4Ulmq96EF88LcPiiczrSMCHAiYoQm5vKtCIqONTyLC4f3ao+31r2hGa0tKRvtPg5A==","signatures":[{"sig":"MEQCIC+n7eF+zCTY2KZvQEwnuh0fMZazzoTNZLY2mqbemjFAAiA2b5bV8nzcuhoQFs9iWo+TmWoZnzUaM6xh7/koYaLhmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33585},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":"^22.21.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"fe9ec548b25aba5078525bf9b1f0b300b6da6e91","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest --watch=false","build":"tsup","release":"release-it","lint:fix":"eslint src --ext .ts --fix","type-check":"tsc --noEmit","release:dry":"release-it --dry-run","release:check":"pnpm lint && pnpm type-check && pnpm test && pnpm build && npm pack --dry-run","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"cixiangtao","email":"mrcxt@foxmail.com"},"repository":{"url":"git+https://github.com/cixiangtao/url-join.git","type":"git"},"_npmVersion":"11.16.0","description":"A TypeScript utility for joining URL segments with automatic filtering of null/undefined values","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.18.0","devDependencies":{"tsup":"8.5.1","eslint":"10.8.0","vitest":"4.1.10","@eslint/js":"10.0.1","release-it":"21.0.0","typescript":"6.0.3","@types/node":"24.13.3","@vitest/coverage-v8":"4.1.10","@typescript-eslint/parser":"8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/url-join_1.2.1_1785493729077_0.14068431815272708","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@anys/url-join","version":"1.3.0","keywords":["url","join","typescript","utility","path"],"author":{"name":"anys"},"license":"MIT","_id":"@anys/url-join@1.3.0","maintainers":[{"name":"cixiangtao","email":"mrcxt@foxmail.com"}],"homepage":"https://cixiangtao.github.io/url-join/","bugs":{"url":"https://github.com/cixiangtao/url-join/issues"},"dist":{"shasum":"965590c7525005d1ae714ed6f163114014e699a9","tarball":"https://registry.npmjs.org/@anys/url-join/-/url-join-1.3.0.tgz","fileCount":9,"integrity":"sha512-qybZcFaSB+n92Vv36qcf5eMzyrPYty5kXLa9ImA374zXZ/Cx0d7t/yq2F5SxwNqG8M0FuMH3ZsBLXuYsOjZVwg==","signatures":[{"sig":"MEYCIQDeXyH6LTGLj/yzCzQFgxQGARKp6NE8VuWsvMxN9XyMnAIhAJw0FzhJlMvYwtzZw7jJZg3NVurudVhKIcM+FHAKHMD3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anys%2furl-join@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34126},"main":"dist/index.js","_from":"file:artifacts/anys-url-join-1.3.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":"^22.21.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint src site/src --ext .ts","test":"vitest --watch=false","build":"tsup","dev:site":"vite","lint:fix":"eslint src site/src --ext .ts --fix","build:site":"vite build","type-check":"tsc --noEmit && tsc -p site/tsconfig.json","preview:site":"vite preview","release:check":"pnpm lint && pnpm type-check && pnpm test && pnpm build && pnpm build:site && npm pack --dry-run","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75d699c6-8d95-474a-9e5e-a6f426a1bdd0"}},"_resolved":"/home/runner/work/url-join/url-join/artifacts/anys-url-join-1.3.0.tgz","_integrity":"sha512-qybZcFaSB+n92Vv36qcf5eMzyrPYty5kXLa9ImA374zXZ/Cx0d7t/yq2F5SxwNqG8M0FuMH3ZsBLXuYsOjZVwg==","repository":{"url":"git+https://github.com/cixiangtao/url-join.git","type":"git"},"_npmVersion":"11.16.0","description":"A TypeScript utility for joining URL segments with automatic filtering of null/undefined values","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.18.0","devDependencies":{"tsup":"8.5.1","vite":"8.2.0","eslint":"10.8.0","vitest":"4.1.10","@eslint/js":"10.0.1","typescript":"6.0.3","@types/node":"26.1.2","@vitest/coverage-v8":"4.1.10","@typescript-eslint/parser":"8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/url-join_1.3.0_1786119616703_0.4486624764033955","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@anys/url-join","version":"1.3.1","description":"A TypeScript utility for joining URL segments with automatic filtering of null/undefined values","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup","build:site":"vite build","dev":"tsup --watch","dev:site":"vite","preview:site":"vite preview","test":"vitest --watch=false","test:coverage":"vitest --coverage","lint":"eslint src site/src --ext .ts","lint:fix":"eslint src site/src --ext .ts --fix","type-check":"tsc --noEmit && tsc -p site/tsconfig.json","prepublishOnly":"pnpm build","release:check":"pnpm lint && pnpm type-check && pnpm test && pnpm build && pnpm build:site && npm pack --dry-run"},"keywords":["url","join","typescript","utility","path"],"author":{"name":"anys"},"license":"MIT","engines":{"node":"^22.21.0 || >=24.0.0"},"packageManager":"pnpm@11.18.0","devDependencies":{"@eslint/js":"10.0.1","@types/node":"26.1.2","@typescript-eslint/parser":"8.65.0","@vitest/coverage-v8":"4.1.10","eslint":"10.8.0","tsup":"8.5.1","typescript":"6.0.3","vite":"8.2.0","vitest":"4.1.10"},"repository":{"type":"git","url":"git+https://github.com/cixiangtao/url-join.git"},"bugs":{"url":"https://github.com/cixiangtao/url-join/issues"},"homepage":"https://cixiangtao.github.io/url-join/","publishConfig":{"access":"public"},"_id":"@anys/url-join@1.3.1","_integrity":"sha512-yXA35+yoMzeoGcdTJSJtYXI6o2yEaDKBO4Mbd9wdxF5MQJd/A7UGiyDzCfmM7LyAzeYRmfDOjSCHPe/DC3PKpw==","_resolved":"/home/runner/work/url-join/url-join/artifacts/anys-url-join-1.3.1.tgz","_from":"file:artifacts/anys-url-join-1.3.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-yXA35+yoMzeoGcdTJSJtYXI6o2yEaDKBO4Mbd9wdxF5MQJd/A7UGiyDzCfmM7LyAzeYRmfDOjSCHPe/DC3PKpw==","shasum":"e30b0861f3efbdb83b504f5e788461abbf3adf3b","tarball":"https://registry.npmjs.org/@anys/url-join/-/url-join-1.3.1.tgz","fileCount":10,"unpackedSize":29713,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anys%2furl-join@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDvehnLPibjSQd8LYlCfdH9J3rQZkPL1UG8v2FVmxbfKQIhAIKLTxOlUijk2aZJirwZyyNK+TkO1pTgYvhKzz5pgnbT"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75d699c6-8d95-474a-9e5e-a6f426a1bdd0"}},"directories":{},"maintainers":[{"name":"cixiangtao","email":"mrcxt@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/url-join_1.3.1_1786358040506_0.5814846551976387"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-29T07:21:51.298Z","modified":"2026-08-10T10:34:00.997Z","1.1.0":"2025-07-29T07:21:51.594Z","1.2.0":"2025-07-29T07:44:53.953Z","1.2.1":"2026-07-31T10:28:49.223Z","1.3.0":"2026-08-07T16:20:16.857Z","1.3.1":"2026-08-10T10:34:00.653Z"},"bugs":{"url":"https://github.com/cixiangtao/url-join/issues"},"author":{"name":"anys"},"license":"MIT","homepage":"https://cixiangtao.github.io/url-join/","keywords":["url","join","typescript","utility","path"],"repository":{"type":"git","url":"git+https://github.com/cixiangtao/url-join.git"},"description":"A TypeScript utility for joining URL segments with automatic filtering of null/undefined values","maintainers":[{"name":"cixiangtao","email":"mrcxt@foxmail.com"}],"readme":"# @anys/url-join\n\n[English](README.md) | 简体中文\n\n一个零依赖 TypeScript URL 拼接工具：自动过滤空值、保留协议并追加编码后的查询参数。\n\n## [完整中文文档 →](https://github.com/cixiangtao/url-join/blob/master/.github/README.zh-CN.md)\n\n```bash\npnpm add @anys/url-join\n```\n\n```ts\nimport { urlJoin } from \"@anys/url-join\";\n\nurlJoin(\"https://api.example.com\", \"v1\", null, \"users\", 123, {\n  query: { include: \"avatar\" },\n});\n// https://api.example.com/v1/users/123?include=avatar\n```\n\n[在线演示](https://cixiangtao.github.io/url-join/) · [英文完整文档](https://github.com/cixiangtao/url-join#readme)\n\n## 许可证\n\n[MIT](LICENSE) © cixiangtao\n","readmeFilename":"README.zh-CN.md"}