{"id":27900469,"url":"https://github.com/dvtng/proxi","last_synced_at":"2025-05-05T20:16:40.628Z","repository":{"id":271033072,"uuid":"714099709","full_name":"dvtng/proxi","owner":"dvtng","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-03T23:15:20.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T23:37:09.184Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvtng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-03T23:15:18.000Z","updated_at":"2023-11-03T23:15:24.000Z","dependencies_parsed_at":"2025-01-04T23:37:11.158Z","dependency_job_id":"bd3a1fea-d82e-433b-8de2-19f3a751e6d7","html_url":"https://github.com/dvtng/proxi","commit_stats":null,"previous_names":["dvtng/proxi"],"tags_count":0,"template":false,"template_full_name":"jasonsturges/vite-typescript-npm-package","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvtng%2Fproxi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvtng%2Fproxi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvtng%2Fproxi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvtng%2Fproxi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvtng","download_url":"https://codeload.github.com/dvtng/proxi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252569648,"owners_count":21769517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-05T20:16:40.082Z","updated_at":"2025-05-05T20:16:40.622Z","avatar_url":"https://github.com/dvtng.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vite TypeScript NPM Package\n\nScaffold TypeScript npm packages using this template to bootstrap your next library.\n\nVersions of this template:\n- [Vite TypeScript library npm package](https://github.com/jasonsturges/vite-typescript-npm-package)\n- [Vite JavaScript library npm package](https://github.com/jasonsturges/vite-npm-package)\n- [Rollup TypeScript library npm package](https://github.com/jasonsturges/typescript-npm-package)\n- [Rollup JavaScript library npm package](https://github.com/jasonsturges/npm-package-boilerplate)\n\n\n## Getting Started\n\nBegin via any of the following:\n\n- Press the \"*Use this template*\" button\n\n- Use [degit](https://github.com/Rich-Harris/degit) to execute:\n\n    ```\n    degit github:jasonsturges/vite-typescript-npm-package\n    ```\n\n- Use [GitHub CLI](https://cli.github.com/) to execute:\n\n    ```\n    gh repo create \u003cname\u003e --template=\"https://github.com/jasonsturges/vite-typescript-npm-package\"\n    ```\n\n- Simply `git clone`, delete the existing .git folder, and then:\n\n    ```\n    git clone https://github.com/jasonsturges/vite-typescript-npm-package.git\n    cd vite-typescript-npm-package\n    rm -rf .git\n    git init\n    git add -A\n    git commit -m \"Initial commit\"\n    ````\n\nThere is no package lock included so that you may chose either `npm` or `yarn`.\n\nRemember to use `npm search \u003cterm\u003e` to avoid naming conflicts in the NPM Registery for your new package name.\n\n\n## Usage\n\nThe following tasks are available for `npm run`:\n\n- `dev`: Run Vite in watch mode to detect changes to files during development\n- `start`: Run Vite in host mode to work in a local development environment within this package, eliminating the need to test from a linked project\n- `build`: Run Vite to build a production release distributable\n- `build:types`: Run DTS Generator to build d.ts type declarations only\n\nThere are two strategies for development:\n\n- With `dev` task, Vite compiles all modules to the `dist/` folder, as well as rollup of all types to a d.ts declaration file\n- With `start` task, Vite hosts the index.html with real time HMR updates enabling development directly within this library without the need to link to other projects.\n\nRollup your exports to the top-level index.ts for inclusion into the build distributable.\n\nFor example, if you have a `utils/` folder that contains an `arrayUtils.ts` file.\n\n/src/utils/arrayUtils.ts:\n```ts\nexport const distinct = \u003cT\u003e(array: T[] = []) =\u003e [...new Set(array)];\n```\n\nInclude that export in the top-level `index.ts` .\n\n/src/index.ts\n```ts\n// Main library exports - these are packaged in your distributable\nexport { distinct } from \"./utils/arrayUtils\"\n```\n\n\n\n## Development\n\nVite features a host mode to enable development with real time HMR updates directly from the library via the `start` script.\n\nTo test your library from within an app:\n\n- **From your library**: run `npm link` or `yarn link` command to register the package\n- **From your app**: run `npm link \"mylib\"` or `yarn link \"mylib\"` command to use the library inside your app during development\n\nFor UI projects, you may want to consider adding tools such as [Storybook](https://storybook.js.org/) to isolate UI component development by running a `storybook` script from this package.\n\n\n## Development Cleanup\n\nOnce development completes, `unlink` both your library and test app projects.\n\n- **From your app**: run `npm link \"mylib\"` or `yarn link \"mylib\"` command to use the library inside your app during development\n- **From your library**: run `npm unlink` or `yarn unlink` command to register the package\n\nIf you mistakenly forget to `unlink`, you can manually clean up artifacts from `yarn` or `npm`.\n\nFor `yarn`, the `link` command creates symlinks which can be deleted from your home directory:\n```\n~/.config/yarn/link\n```\n\nFor `npm`, the `link` command creates global packages which can be removed by executing:\n```bash\nsudo npm rm --global \"mylib\"\n```\n\nConfirm your npm global packages with the command:\n```bash\nnpm ls --global --depth 0\n```\n\n\n## Release Publishing\n\nUpdate your `package.json` to the next version number and tag a release.\n\nIf you are publishing to a private registry such as GitHub packages, update your `package.json` to include `publishConfig` and `repository`:\n\npackage.json:\n```json\n  \"publishConfig\": {\n    \"registry\": \"https://npm.pkg.github.com/@MyOrg\"\n  },\n  \"repository\": \"https://github.com/MyOrg/mylib.git\",\n```\n\nFor clean builds, you may want to install the `rimraf` package and add a `clean` or `prebuild` script to your `package.json` to remove any artifacts from your `dist/` folder.  Or, manually delete the `dist/` folder yourself.  Unless you are using a continuous integration service such as GitHub Actions, `npm publish` will ship anything inside the distributable folder.\n\npackage.json:\n```json\n  \"scripts\": {\n    \"clean\": \"rimraf dist\"\n  }\n```\n\nBefore you submit for the first time, make sure your package name is available by using `npm search`.  If npm rejects your package name, update your `package.json` and resubmit.\n\n```bash\nnpm search \u003cterm\u003e\n```\n\nOnce ready to submit your package to the NPM Registry, execute the following tasks via `npm` (or `yarn`):\n\n```bash\nnpm run build\n```\n\nAssure the proper npm login:\n\n```bash\nnpm login\n```\n\nSubmit your package to the registry:\n\n```bash\nnpm publish --access public\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvtng%2Fproxi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvtng%2Fproxi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvtng%2Fproxi/lists"}