{"id":13989732,"url":"https://github.com/nobrainr/typescript-webpack-starter","last_synced_at":"2025-04-05T00:05:22.323Z","repository":{"id":10269956,"uuid":"65162424","full_name":"nobrainr/typescript-webpack-starter","owner":"nobrainr","description":"⚡ create-ts-lib: A Starter Kit and a CLI to create your TypeScript / ES6 module bundled by Webpack without thinking about build or unit tests configurations. 🏠","archived":false,"fork":false,"pushed_at":"2023-01-04T13:46:05.000Z","size":1414,"stargazers_count":374,"open_issues_count":60,"forks_count":42,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-28T23:06:14.003Z","etag":null,"topics":["es2015","es6","jasmine","javascript","karma","karma-jasmine","nodejs","npm","npm-package","starter","typescript","unit-test","webpack","webpack-server"],"latest_commit_sha":null,"homepage":"https://nobrainr.github.io/typescript-webpack-starter/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nobrainr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-08T01:14:39.000Z","updated_at":"2024-11-30T05:25:29.000Z","dependencies_parsed_at":"2023-01-13T15:50:24.563Z","dependency_job_id":null,"html_url":"https://github.com/nobrainr/typescript-webpack-starter","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobrainr%2Ftypescript-webpack-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobrainr%2Ftypescript-webpack-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobrainr%2Ftypescript-webpack-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobrainr%2Ftypescript-webpack-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nobrainr","download_url":"https://codeload.github.com/nobrainr/typescript-webpack-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266562,"owners_count":20910836,"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":["es2015","es6","jasmine","javascript","karma","karma-jasmine","nodejs","npm","npm-package","starter","typescript","unit-test","webpack","webpack-server"],"created_at":"2024-08-09T13:02:00.980Z","updated_at":"2025-04-05T00:05:22.304Z","avatar_url":"https://github.com/nobrainr.png","language":"JavaScript","funding_links":["https://opencollective.com/typescript-webpack-starter"],"categories":["JavaScript"],"sub_categories":[],"readme":"# create-ts-lib [![Backers on Open Collective](https://opencollective.com/typescript-webpack-starter/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/typescript-webpack-starter/sponsors/badge.svg)](#sponsors) [![CircleCI](https://img.shields.io/circleci/project/github/nobrainr/typescript-webpack-starter.svg)](https://circleci.com/gh/nobrainr/workflows/typescript-webpack-starter/tree/master) [![Npm Package](https://img.shields.io/npm/v/create-ts-lib.svg)](https://www.npmjs.com/package/create-ts-lib)\n\n![](https://s3.us-east-2.amazonaws.com/typescript-webpack-starter/create-ts-lib.gif)\n\n## Quick Start\n\nYou can execute the `create-ts-lib` CLI using [`npx`](https://github.com/zkat/npx) or by installing it globally with `npm i -g create-ts-lib`.\n\n```sh\n# Use NPX or npm install -g create-ts-lib to install it as a global package\nnpx create-ts-lib@latest my-typescript-lib\ncd my-typescript-lib \u0026\u0026 npm start\n```\n\n### Build and Serve it\n\n- Browse http://localhost:3000/ to see your bootstrapped module.\n- A bundle is created under `/dist` folder.\n- Create a minified bundle with `npm run build`.\n\n## Features\n\nYou **don’t** need to install or configure tools like `Webpack`, `Typescript`, `Karma` or `Jasmine`.\u003cbr\u003e\nThey are preconfigured so that you can focus on the code, but as a starter kit you still can modify all the configuration files.\n\n- [x] (Application Type) [Typescript 3](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html)\n- [x] (Bundler) [Webpack 4](https://webpack.js.org/)\n- [x] [Karma](https://karma-runner.github.io/1.0/index.html), [Jasmine](https://jasmine.github.io/)\n\n### Create a Typescript project\n\n```sh\n# Use NPX or npm install -g create-ts-lib to install it as a global package\nnpx create-ts-lib@latest my-typescript-lib\ncd my-typescript-lib \u0026\u0026 npm start\n```\n\nCalling `create-ts-lib` with `my-typescript-lib` as an argument creates a directory `my-typescript-lib` inside the current directory.\u003cbr\u003e\nInside that directory, the initial file structure of the project is generated with all the devDependencies installed.\n\n```sh\nmy-typescript-lib\n├── node_modules\n├── src\n│   └── index.html\n│   └── index.ts\n│   └── MyLibrary.ts\n│   └── MyLibrary.spec.ts\n├── tests\n│    └── unit\n│        └── spec-bundle.js\n├── README.md\n├── package.json\n├── .gitignore\n├── karma.conf.js\n├── tsconfig.json\n├── tslint.json\n└── webpack.config.js\n```\n\nNo configuration or complicated folder structures, just the files you need to start your app / package / module.\u003cbr\u003e\n\n### `npm start` or `npm run server:prod`\n\nRuns the app in development / production mode using Webpack dev server.\nOpen [http://localhost:3000](http://localhost:3000) 🎉 to view it in the browser.\n\n### `npm test`\n\nRuns the unit tests using Karma as test runner and Jasmine as testing framework.\n\n### `npm run build` or `npm run build:prod`\n\nCreates a bundle into the `dist` folder:\n\n```sh\ndist\n├── MyLibrary.d.ts # - Example of a 'd.ts' declaration file\n├── app.bundle.js # - Main bundle of the application. name from webpack.config\n├── app.bundle.js.map # - Sourcemap\n├── index.d.ts\n└── index.html # - html page referencing app.bundle.js\n```\n\n## Development\n\nWe'd love to have your helping hand on `create-ts-lib`! See [CONTRIBUTING.md](CONTRIBUTING.md) for more information on what we're looking for and how to get started.\n\n## Contributors\n\nThis project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].\n\u003ca href=\"graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/contributors.svg?width=890\u0026button=false\" /\u003e\u003c/a\u003e\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/typescript-webpack-starter#backer)]\n\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/typescript-webpack-starter#sponsor)]\n\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/typescript-webpack-starter/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/typescript-webpack-starter/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnobrainr%2Ftypescript-webpack-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnobrainr%2Ftypescript-webpack-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnobrainr%2Ftypescript-webpack-starter/lists"}