{"id":21807087,"url":"https://github.com/appmonet/tsickle-loader","last_synced_at":"2025-04-13T20:41:54.304Z","repository":{"id":41782215,"uuid":"169327475","full_name":"AppMonet/tsickle-loader","owner":"AppMonet","description":"a tsickle webpack loader (for using ADVANCED closure compiler optimizations)","archived":false,"fork":false,"pushed_at":"2023-01-04T02:40:53.000Z","size":1076,"stargazers_count":28,"open_issues_count":26,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T11:02:40.330Z","etag":null,"topics":["build-tools","closure-compiler","tsickle","webpack-loader"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/AppMonet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-05T23:11:14.000Z","updated_at":"2023-04-25T14:40:42.000Z","dependencies_parsed_at":"2023-02-01T18:00:24.029Z","dependency_job_id":null,"html_url":"https://github.com/AppMonet/tsickle-loader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppMonet%2Ftsickle-loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppMonet%2Ftsickle-loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppMonet%2Ftsickle-loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppMonet%2Ftsickle-loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AppMonet","download_url":"https://codeload.github.com/AppMonet/tsickle-loader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248782265,"owners_count":21160716,"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":["build-tools","closure-compiler","tsickle","webpack-loader"],"created_at":"2024-11-27T12:36:42.262Z","updated_at":"2025-04-13T20:41:54.254Z","avatar_url":"https://github.com/AppMonet.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @appmonet/tsickle-loader\n\nThis is a webpack loader for [tsickle](https://github.com/angular/tsickle); it lets us compile typescript code with the `typescript` compilaer, while adding annotations \u0026 externs readable by closure compiler, which means we can use `ADVANCED_OPTIMIZATIONS` mode. See the [`test`](/test/compiler.js) directory for an example of compiling this way.\n\n## usage\n\nYou can use this like any normal webpack loader; it takes a some options:\n\n```javascript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        // you use tsickle-loader in place of typescript-loader;\n        // it will compile for you using typescript\n        test: /\\.ts$/,\n        use: {\n          loader: \"tsickle-loader\",\n          options: {\n            // the tsconfig file to use during compilation\n            tsconfig: path.resolve(__dirname, \"tsconfig.json\"),\n            // this is the directory where externs will be saved. You\n            // will probably want to delete these between builds\n            externDir: \"./tmp/externs\"\n          }\n        }\n      }\n    ]\n  }\n};\n```\n\n## development\n\nTo build this project:\n\n- install dependencies `yarn install`\n- build the loader `yarn build`\n- run tests `yarn test`\n\nTests use [jest](https://jestjs.io/) and import the build library as javascript from `./lib` -- all tests use [`./test/compiler.js`](test/compiler.js)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappmonet%2Ftsickle-loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappmonet%2Ftsickle-loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappmonet%2Ftsickle-loader/lists"}