Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/popgoesthewza/ts-gas-project-starter
Sample repository for Typescript based Google Apps Script projects
https://github.com/popgoesthewza/ts-gas-project-starter
Last synced: 3 months ago
JSON representation
Sample repository for Typescript based Google Apps Script projects
- Host: GitHub
- URL: https://github.com/popgoesthewza/ts-gas-project-starter
- Owner: PopGoesTheWza
- License: mit
- Created: 2019-05-15T01:26:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T17:17:13.000Z (about 2 years ago)
- Last Synced: 2024-10-14T14:19:50.138Z (3 months ago)
- Language: JavaScript
- Size: 773 KB
- Stars: 65
- Watchers: 3
- Forks: 16
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Typescript - Google Apps Script project starter [![clasp](https://img.shields.io/badge/built%20with-clasp-4285f4.svg)](https://github.com/google/clasp)
This repository aims at defining how one or more Google Apps Script (GAS) projects can be organized while satisfying the goals below.
- Modern javascript features (Typescript)
- Optional static and infered typing (Typescript)
- Code isolation and reuse (by using Typescript `namespace` statements and project references)
- Incremental builds (Typescript 3.4)
- Fine control on how source `*.ts` files get compiled into target `*.js` files (i.e. overcome the `ts2gas` library limitations)
- Code pretty printing and linting (Prettier and Tslint)## Installation
1. clone this repository: `git clone https://github.com/PopGoesTheWza/ts-gas-project-starter.git`
1. install (globally) the **Clasp** CLI: `npm install --global @google/clasp`
1. install local dependencies: `npm install`## NPM scripts
Several commands are available as NPM scripts: `npm run `. The most commonly used are:
- `build` and `build-clean` to compile all projects
- `format` and `lint` to normalise code and check its correcteness
- `push-all`, `push-project1` and `push-project2` to publish the GAS projects