{"_id":"esbuild-plugin-utils","_rev":"5-afde9e64c3debc6563a3e64a2f78143d","name":"esbuild-plugin-utils","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.0":{"name":"esbuild-plugin-utils","version":"0.0.0","author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","_id":"esbuild-plugin-utils@0.0.0","maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"homepage":"https://github.com/antongolub/misc#readme","bugs":{"url":"https://github.com/antongolub/misc/issues"},"dist":{"shasum":"82097af54cca9a282b6735352340802139650137","tarball":"https://registry.npmjs.org/esbuild-plugin-utils/-/esbuild-plugin-utils-0.0.0.tgz","fileCount":7,"integrity":"sha512-OAEAlrrRHbtjnFyDN8oceKJ7s7OJcF01FXYe0gWq/CXfJORdTuJjByj7peeoTBTUHvWWEpdzKMd+2GjSc1BLdA==","signatures":[{"sig":"MEYCIQDvX+GqMSoRItj3+rKTkP8pis1SuvCSqGx1eKIubD6tAAIhALdg4ejzatnX62YYSLw58U/lvlUQeNHrxokIhLHG1oZt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/esbuild-plugin-utils@0.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13195},"main":"target/cjs/index.cjs","type":"module","types":"target/dts/index.d.ts","module":"target/esm/index.mjs","exports":{".":{"types":"./target/dts/index.d.ts","import":"./target/esm/index.mjs","default":"./target/esm/index.mjs","require":"./target/cjs/index.cjs"}},"gitHead":"fefcdbbbc6dfe705b4632bf7cb17685b3b837bc0","scripts":{"test":"concurrently 'npm:test:*'","build":"concurrently 'npm:build:*'","test:it":"yarn run:void","build:js":"yarn build:esbuild","build:dts":"yarn build:tsc","test:lint":"yarn test:eslint","test:unit":"yarn test:c8","build:docs":"yarn build:typedoc","publish:draft":"yarn build && npm publish --no-git-tag-version --tag draft"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"repository":{"url":"git+https://github.com/antongolub/misc.git","type":"git"},"_npmVersion":"10.5.0","description":"Common utils for esbuild plugins","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":">=0.19.0","@types/node":"^20.12.8","@antongolub/infra":"workspace:*"},"peerDependencies":{"esbuild":">=0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/esbuild-plugin-utils_0.0.0_1714899885919_0.556065569741387","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"esbuild-plugin-utils","version":"0.0.1","author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","_id":"esbuild-plugin-utils@0.0.1","maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"homepage":"https://github.com/antongolub/misc#readme","bugs":{"url":"https://github.com/antongolub/misc/issues"},"dist":{"shasum":"e95d2ac8a72bffb9dd2d583895e20588c2d5cc65","tarball":"https://registry.npmjs.org/esbuild-plugin-utils/-/esbuild-plugin-utils-0.0.1.tgz","fileCount":7,"integrity":"sha512-LKdHss3Sdc+yu3tYIKb67Xvrub3AwQu+qdvmEFJWeSbTd6ulbiQxZavSkiSwwYXmLyg6Sdgc2inoaG743R+0cQ==","signatures":[{"sig":"MEQCIBMVFjOFx8+LW88R2Rlg456kVyHfUlxekPoJKYhJ8AgrAiBoxDwQshCq1yV8+5rXtIrijHDS54qqbgTuhODX2BdIBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/esbuild-plugin-utils@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14759},"main":"target/cjs/index.cjs","type":"module","types":"target/dts/index.d.ts","module":"target/esm/index.mjs","exports":{".":{"types":"./target/dts/index.d.ts","import":"./target/esm/index.mjs","default":"./target/esm/index.mjs","require":"./target/cjs/index.cjs"}},"gitHead":"d4867a0c08352a30b45c172b39a7dec5a4163307","scripts":{"test":"concurrently 'npm:test:*'","build":"concurrently 'npm:build:*'","test:it":"yarn run:void","build:js":"yarn build:esbuild","build:dts":"yarn build:tsc","test:lint":"yarn test:eslint","test:unit":"yarn test:c8","build:docs":"yarn build:typedoc","publish:draft":"yarn build && npm publish --no-git-tag-version --tag draft"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"repository":{"url":"git+https://github.com/antongolub/misc.git","type":"git"},"_npmVersion":"10.5.0","description":"Common utils for esbuild plugins","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":">=0.19.0","@types/node":"^20.12.8","@antongolub/infra":"workspace:*"},"peerDependencies":{"esbuild":">=0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/esbuild-plugin-utils_0.0.1_1714919791195_0.059752523327080365","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"esbuild-plugin-utils","version":"0.1.0","author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","_id":"esbuild-plugin-utils@0.1.0","maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"homepage":"https://github.com/antongolub/misc#readme","bugs":{"url":"https://github.com/antongolub/misc/issues"},"dist":{"shasum":"93d9ffddde4f39715691b814e584f809bbe4fa34","tarball":"https://registry.npmjs.org/esbuild-plugin-utils/-/esbuild-plugin-utils-0.1.0.tgz","fileCount":7,"integrity":"sha512-WZ8jJ/T8HCs7EVoisKlFszikn8ucafm4q4mkXAgPh2wEk1d/5eGvCldOGQrTs2ti3SP6lRrnMqr3Hkz7iEgvcw==","signatures":[{"sig":"MEQCIEk/Xpt08jxocuSDTDp587z3zvxjNE8HTWq9T7cELcHBAiAhr4jSOxUutQn2Ym0lhq460qfNJfFoytpZrYM5Vk6YJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/esbuild-plugin-utils@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15969},"main":"target/cjs/index.cjs","type":"module","types":"target/dts/index.d.ts","module":"target/esm/index.mjs","exports":{".":{"types":"./target/dts/index.d.ts","import":"./target/esm/index.mjs","default":"./target/esm/index.mjs","require":"./target/cjs/index.cjs"}},"gitHead":"ab53947efad74cdca11f8c4868546708e85d7206","scripts":{"test":"concurrently 'npm:test:*'","build":"concurrently 'npm:build:*'","test:it":"yarn run:void","build:js":"yarn build:esbuild","build:dts":"yarn build:tsc","test:lint":"yarn test:eslint","test:unit":"yarn test:c8","build:docs":"yarn build:typedoc","publish:draft":"yarn build && npm publish --no-git-tag-version --tag draft"},"_npmUser":{"name":"antongolub","email":"golub.anton@gmail.com"},"repository":{"url":"git+https://github.com/antongolub/misc.git","type":"git"},"_npmVersion":"10.5.2","description":"Common utils for esbuild plugins","directories":{},"_nodeVersion":"20.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":">=0.19.0","@types/node":"^20.12.12","@antongolub/infra":"workspace:*"},"peerDependencies":{"esbuild":">=0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/esbuild-plugin-utils_0.1.0_1716730440868_0.3436088560583228","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"esbuild-plugin-utils","version":"0.1.1","keywords":["esbuild","plugin","utils","helpers"],"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","_id":"esbuild-plugin-utils@0.1.1","maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"homepage":"https://github.com/antongolub/misc/tree/master/packages/esbuild/plugin-utils","bugs":{"url":"https://github.com/antongolub/misc/issues"},"dist":{"shasum":"a63c35d5e139b566522460752cab21112005f7ca","tarball":"https://registry.npmjs.org/esbuild-plugin-utils/-/esbuild-plugin-utils-0.1.1.tgz","fileCount":7,"integrity":"sha512-UEqdm2azubn+ObOmy/Nwu3CjJJge7tHrweHtI6TH45T9vO3PLRDhhuIErGTooL4XSZ467DpgR233EV9ut1oCXA==","signatures":[{"sig":"MEQCID9n7DZMfOVUhfQKVZ/iTm1N/xJ8lNwZ4e85Li75JF5MAiAWBixT0a+u7pfzFMmXTduGd8DrDGzFn6rK7i2yMrAJBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/esbuild-plugin-utils@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16124},"main":"target/cjs/index.cjs","type":"module","types":"target/dts/index.d.ts","module":"target/esm/index.mjs","exports":{".":{"types":"./target/dts/index.d.ts","import":"./target/esm/index.mjs","default":"./target/esm/index.mjs","require":"./target/cjs/index.cjs"}},"gitHead":"afe06b2f1b68d751dc86cb4061f7e09f26aa0642","scripts":{"test":"concurrently 'npm:test:*'","build":"concurrently 'npm:build:*'","test:it":"yarn run:void","build:js":"yarn build:esbuild","build:dts":"yarn build:tsc","test:lint":"yarn test:eslint","test:unit":"yarn test:c8","build:docs":"yarn build:typedoc","publish:draft":"yarn build && npm publish --no-git-tag-version --tag draft"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:faad5731-0dcb-44f8-9987-701b901cca45"}},"repository":{"url":"git+https://github.com/antongolub/misc.git","type":"git","directory":"packages/esbuild/plugin-utils"},"_npmVersion":"11.11.0","description":"Common utils for esbuild plugins","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":">=0.19.0","@types/node":"^25.5.2","@antongolub/infra":"workspace:*"},"peerDependencies":{"esbuild":">=0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/esbuild-plugin-utils_0.1.1_1775398687566_0.2624579487641543","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"esbuild-plugin-utils","version":"0.1.3","description":"Common utils for esbuild plugins","keywords":["esbuild","plugin","utils","helpers"],"type":"module","main":"target/cjs/index.cjs","exports":{".":{"types":"./target/dts/index.d.ts","require":"./target/cjs/index.cjs","import":"./target/esm/index.mjs","default":"./target/esm/index.mjs"}},"module":"target/esm/index.mjs","types":"target/dts/index.d.ts","scripts":{"build":"concurrently 'npm:build:*'","build:js":"yarn build:esbuild","build:dts":"yarn build:tsc","build:docs":"yarn build:typedoc","test":"concurrently 'npm:test:*'","test:lint":"yarn test:oxlint","test:unit":"yarn test:c8","test:it":"yarn run:void","publish:draft":"yarn build && npm publish --no-git-tag-version --tag draft"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/antongolub/misc.git","directory":"packages/esbuild/plugin-utils"},"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","bugs":{"url":"https://github.com/antongolub/misc/issues"},"homepage":"https://github.com/antongolub/misc/tree/master/packages/esbuild/plugin-utils","peerDependencies":{"esbuild":">=0.19.0"},"devDependencies":{"@antongolub/infra":"workspace:*","@types/node":"^25.5.2","esbuild":">=0.19.0"},"_id":"esbuild-plugin-utils@0.1.3","_integrity":"sha512-7ByzOkp5YcIfO1Zrg8hCxR/tpDSFJGTdeoLKRTMbXnHTC4Se7ETYRR0s/4f0VgwvzLaUCgVZmf0skxRyxtJJEQ==","_resolved":"/tmp/a4761251703f8f7c404e3fd668388365/package.tgz","_from":"file:/tmp/a4761251703f8f7c404e3fd668388365/package.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-7ByzOkp5YcIfO1Zrg8hCxR/tpDSFJGTdeoLKRTMbXnHTC4Se7ETYRR0s/4f0VgwvzLaUCgVZmf0skxRyxtJJEQ==","shasum":"e0d2d7acdb42ebcc19e20e7e0b0918a00b34fb68","tarball":"https://registry.npmjs.org/esbuild-plugin-utils/-/esbuild-plugin-utils-0.1.3.tgz","fileCount":7,"unpackedSize":16124,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/esbuild-plugin-utils@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDp8829DoqCiEJKu9DP3ZgtZ9MNUtuG2W3py6gPrTj+bwIgVxNbDn8Hk/8NgWE8m7UCgWqBqcsn5HB5TgFMdwY1brg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:faad5731-0dcb-44f8-9987-701b901cca45"}},"directories":{},"maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/esbuild-plugin-utils_0.1.3_1776077921252_0.9053807876033282"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-05T09:04:45.832Z","modified":"2026-04-13T10:58:41.640Z","0.0.0":"2024-05-05T09:04:46.090Z","0.0.1":"2024-05-05T14:36:31.338Z","0.1.0":"2024-05-26T13:34:01.056Z","0.1.1":"2026-04-05T14:18:07.695Z","0.1.3":"2026-04-13T10:58:41.381Z"},"bugs":{"url":"https://github.com/antongolub/misc/issues"},"author":{"name":"Anton Golub","email":"antongolub@antongolub.com"},"license":"MIT","homepage":"https://github.com/antongolub/misc/tree/master/packages/esbuild/plugin-utils","keywords":["esbuild","plugin","utils","helpers"],"repository":{"type":"git","url":"git+https://github.com/antongolub/misc.git","directory":"packages/esbuild/plugin-utils"},"description":"Common utils for esbuild plugins","maintainers":[{"name":"antongolub","email":"golub.anton@gmail.com"}],"readme":"# esbuild-plugin-utils\n> Common utils for esbuild plugins\n\n[![lcov](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fantongolub%2Fmisc%2Freleases%2Fdownload%2Flcov%2Flcov-sum.json&query=%24.scopes.packages_esbuild_plugin_utils.max&label=lcov&color=brightgreen)](https://github.com/antongolub/misc/releases/download/lcov/lcov.info)\n[![npm](https://img.shields.io/npm/v/esbuild-plugin-utils.svg?&color=white)](https://www.npmjs.com/package/esbuild-plugin-utils)\n\n## Status\nPoC\n\n## Usage\n```ts\nimport {\n  getFilesList,\n  getOutputFiles,\n  readFiles,\n  transformFile,\n  writeFile,\n  writeFiles,\n} from 'esbuild-plugin-utils'\n```\n\n### getFilesList\nScans directory and returns a list of files. Pass dir and optional recursive flag\n```ts\nconst list = await getFilesList(process.cwd(), true) // string[]\n```\n\n### getOutputFiles\nShortcut to convert `OutputFile[]` (see esbuild.BuildResult) to `TFileEntry[]` if defined or to read files from `outdir`:\n```ts\nconst entries = await getOutputFiles(buildResult.outputFiles, 'build') // TFileEntry[]\n```\n\n### readFiles\nReads files from a given directory and returns a list of `TFileEntry` objects\n```ts\nconst entries = await readFiles(['file1', 'file2']) // TFileEntry[]\n```\n\n### writeFile\nPersists a given `TFileEntry` to disc.\n```ts\nawait writeFile({ contents: 'content', path: '/foo/bar.txt' })\n```\n\n### transformFile\nApplies transformation hooks to a given `TFileEntry` object.\n```ts\nconst entry = await transformFile(\n  {\n    contents: 'content',\n    path: '/foo/bar.txt'\n  },\n  [{\n    pattern: /./,\n    transform: (contents) => contents.toUpperCase(),\n    rename: (path) => path.replace('bar', 'baz'),\n  }]\n)\n```\n\n### resolveEntryPointsPaths\nResolves entry points paths to absolute paths.\n```ts\nconst paths = resolveEntryPointsPaths(['file1', 'file2'], process.cwd()) // string[]\n```\n\n### renderList\nFormats a comma-separated list line by line.\n```ts\nconst list = renderList(['a', 'b'], '  ')\n/**\n\n  a,\n  b\n\n */\n```\n\n### parseContentsLayout\nSplits script contents into layout parts: header (shebang, use strict directive) and body.\n```ts\nconst { header, body, lines } = parseContentsLayout(`\n\"use strict\";\nconsole.log(\"Hello\")\n`)\n\n// header: \"use strict\";\n// body: console.log(\"Hello\")\\n\n// lines: ['\"use strict\";', 'console.log(\"Hello\")', '']\n```\n\n## License\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}