{"id":20510725,"url":"https://github.com/battis/gas-lighter","last_synced_at":"2026-04-19T15:34:26.070Z","repository":{"id":65631972,"uuid":"589616543","full_name":"battis/gas-lighter","owner":"battis","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-01T23:15:15.000Z","size":3346,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-05T13:47:19.694Z","etag":null,"topics":["clasp","google-apps-script","webpack"],"latest_commit_sha":null,"homepage":"https://battis.github.io/gas-lighter/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/battis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2023-01-16T14:39:43.000Z","updated_at":"2025-06-27T11:45:26.000Z","dependencies_parsed_at":"2023-10-04T07:42:31.121Z","dependency_job_id":"ff4e0f96-d9da-4009-b70d-2361b13e7d7a","html_url":"https://github.com/battis/gas-lighter","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/battis/gas-lighter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battis%2Fgas-lighter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battis%2Fgas-lighter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battis%2Fgas-lighter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battis%2Fgas-lighter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/battis","download_url":"https://codeload.github.com/battis/gas-lighter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battis%2Fgas-lighter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32012260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["clasp","google-apps-script","webpack"],"created_at":"2024-11-15T20:30:50.242Z","updated_at":"2026-04-19T15:34:26.046Z","avatar_url":"https://github.com/battis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @battis/gas-lighter\n\n[![npm version](https://badge.fury.io/js/@battis%2Fgas-lighter.svg)](https://badge.fury.io/js/@battis%2Fgas-lighter)\n[![Module type: CJS](https://img.shields.io/badge/module%20type-cjs-brightgreen)](https://nodejs.org/api/modules.html#modules-commonjs-modules)\n\n## Caution\n\nThis is an idiosyncratic collection of add-ons and helpers for writing TypeScript code to be compiled into Google Apps Script. It is under constant evolution and tweaking. My basic approach has been that, whenever I start to see the same slog of boiler plate repetitivity in my GAS scripts, I try to exile it to this library to a) allow myself to write shorter code and b) ensure that my boilerplate is, in fact, consistent.\n\nUse at your own peril. And make pull requests with your own improvements.\n\n-- Seth\n\n## Install\n\n```bash\nnpm i @battis/gas-lighter\nnpm i -D npm-run-all\n```\n\nIf installing with `pnpm` a postinstall script will \"shamefully\" hoist dependencies\n\nIf working on an existing Google Apps Script project:\n\n```bash\nnpx clasp clone [script ID]\n```\n\nIf creating a new project:\n\n```bash\nnpx clasp create [Script Title]\n```\n\nIn `.claspignore`:\n\n```\n**/**\n!appsscript.json\n!build/*.js\n!css/*.html\n!js/*.html\n!templates/*.html\n.git/**\nnode_modules/**\n```\n\nIn `.gitignore`:\n\n```\n/.clasp.json\n/build/\n```\n\nIn `tsconfig.json`:\n\n```json\n{\n  \"extends\": \"@battis/gas-lighter/tsconfig.json\",\n  \"compilerOptions\": {\n    \"outDir\": \"build\"\n  },\n  \"include\": [\"src\"]\n}\n```\n\nIn `webpack.config.js`:\n\n```js\nmodule.exports = require('@battis/gas-lighter/webpack.config')({\n  root: __dirname\n});\n```\n\nIn `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"webpack\",\n    \"deploy\": \"run-s deploy:*\",\n    \"deploy:build\": \"npm run build\",\n    \"deploy:push\": \"clasp push\"\n  },\n  \"eslintConfig\": {\n    \"extends\": \"@battis/gas-lighter/.eslintrc.json\"\n  }\n}\n```\n\n## Configuration\n\nConfiguration options include, with defaults:\n\n```js\n{\n  root, // absolute path\n  build: \"build\", // path relative to root\n  bundle: \"main\", // string name\n  entry: \"./src/index.ts\" // path relative to webpack.config.js\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbattis%2Fgas-lighter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbattis%2Fgas-lighter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbattis%2Fgas-lighter/lists"}