All Projects → nirazul → Google Apps Script Template

nirazul / Google Apps Script Template

Licence: mit
A starting point for google apps script projects for transpilation, editing and deployment

Programming Languages

javascript
184084 projects - #8 most used programming language
es6
455 projects

Projects that are alternatives of or similar to Google Apps Script Template

Serverless Typescript Starter
🗄🙅‍♀️ Deploy your next serverless JavaScript function in seconds
Stars: ✭ 653 (+3165%)
Mutual labels:  webpack, babel
React Ssr Setup
React Starter Project with Webpack 4, Babel 7, TypeScript, CSS Modules, Server Side Rendering, i18n and some more niceties
Stars: ✭ 678 (+3290%)
Mutual labels:  webpack, babel
React Isomorphic Boilerplate
🌟 An universal React isomorphic boilerplate for building server-side render web app.
Stars: ✭ 653 (+3165%)
Mutual labels:  webpack, babel
Cordova Template Framework7 Vue Webpack
Framework7 - Vue - Webpack Cordova Template with Webpack Dev Server and Hot Module Replacement
Stars: ✭ 630 (+3050%)
Mutual labels:  webpack, babel
React Things
Коллекция материалов для изучения React
Stars: ✭ 789 (+3845%)
Mutual labels:  webpack, babel
React Webpack Typescript Starter
Minimal starter with hot module replacement (HMR) for rapid development.
Stars: ✭ 632 (+3060%)
Mutual labels:  webpack, babel
Sagui
🐒 Front-end tooling in a single dependency
Stars: ✭ 676 (+3280%)
Mutual labels:  webpack, babel
Poi
⚡A zero-config bundler for JavaScript applications.
Stars: ✭ 5,291 (+26355%)
Mutual labels:  webpack, babel
Minimal React Webpack Babel Setup
The minimal React, Webpack, Babel Setup. You want to get beyond create-react-app?
Stars: ✭ 777 (+3785%)
Mutual labels:  webpack, babel
React Article Bucket
总结,积累,分享,传播JavaScript各模块核心知识点文章全集,欢迎star,issue(勿fork,内容可能随时修改)。webpack核心内容部分请查看专栏: https://github.com/liangklfangl/webpack-core-usage
Stars: ✭ 750 (+3650%)
Mutual labels:  webpack, babel
React App
Create React App with server-side code support
Stars: ✭ 614 (+2970%)
Mutual labels:  webpack, babel
Wordpress Starter
📦 A starter template for WordPress websites
Stars: ✭ 26 (+30%)
Mutual labels:  webpack, babel
Nwb
A toolkit for React, Preact, Inferno & vanilla JS apps, React libraries and other npm modules for the web, with no configuration (until you need it)
Stars: ✭ 5,429 (+27045%)
Mutual labels:  webpack, babel
Slinky
A light-weight, responsive, mobile-like navigation menu plugin
Stars: ✭ 649 (+3145%)
Mutual labels:  webpack, babel
Serverless Plugin Typescript
Serverless plugin for zero-config Typescript support
Stars: ✭ 611 (+2955%)
Mutual labels:  webpack, babel
Presspack
💻 Wordpress like it's 2020 with Webpack and Docker
Stars: ✭ 658 (+3190%)
Mutual labels:  webpack, babel
Naomi
Sublime Text enhanced syntax highlighting for JavaScript ES6/ES7/ES2015/ES2016/ES2017+, Babel, FlowType, React JSX, Styled Components, HTML5, SCSS3, PHP 7, phpDoc, PHPUnit, MQL4. Basic: Git config files.
Stars: ✭ 544 (+2620%)
Mutual labels:  webpack, babel
Xiaoduyu.com
🐟小度鱼 - 年轻人的交流社区 https://www.xiaoduyu.com
Stars: ✭ 549 (+2645%)
Mutual labels:  webpack, babel
Blog
Here is my blog
Stars: ✭ 714 (+3470%)
Mutual labels:  webpack, babel
Braid Design System
Themeable design system for the SEEK Group
Stars: ✭ 888 (+4340%)
Mutual labels:  webpack, babel

google-apps-script-template

This repository is intended to be a starting point for javascript projects used in scriptable Google Cloud Apps. It tries to solve the most common tasks when creating and maintaining code for the Google Apps Script environment.

Usage

  1. Install all global and local npm dependencies

    npm install -g @google/clasp [email protected]
    npm install
    
  2. If you haven't done yet, log in to clasp and follow the steps

    clasp login
    
  3. Init a project

    # Use the init task to create a new clasp project
    gulp init --project-dir="projects/example"
    
    # Or clone an existing project by providing a script id
    gulp init --project-dir="projects/example" --script-id="{scriptId}"
    
    
  4. You're ready to go! You can build or watch a project or execute a sub task (see next section). These are the most common tasks you will likely use:

    # Build a project:
    gulp build --project-dir="projects/example"
    
    # Build all projects
    gulp build:all
    
    # Watch a project
    gulp watch --project-dir="projects/example"
    
    # Watch all projects
    gulp watch:all
    

Tasks

General infos

Task arguments

Most tasks need a --project-dir argument to work properly. It defines, on which project the task is being executed.

About {task}:all tasks

Some tasks have an additional flavour to execute them on all currently registered projects. All projects that are created with gulp init are added automatically to this list located at gulp/config/projects.json.

Build

Build one

Compile a single project and push the distribution files via clasp cli
Example: gulp build --project-dir="projects/example"

Build all

Execute the build step for all registered projects.
Example: gulp build:all

Push

Update the remote files with the distribution files
Example: gulp clasp-push --project-dir="projects/example"

Clean

Remove the files that have been produced by other tasks
Example: gulp clean --project-dir="projects/example"

Clean js files

Remove only the files that have been created by the compile-js task
Example: gulp clean:compileJs --project-dir="projects/example"

Clean copied files

Remove only the files that have been created by the copy task.
Example: gulp clean:copy --project-dir="projects/example"

Copy

Copy over config files like .claspignore or appsscript.json
Example: gulp copy --project-dir="projects/example"

Lint js files

Lint project files with eslint
Example: gulp lint-js --project-dir="projects/example"

Initiate a new project

Create a new clasp project
Example: gulp init --project-dir="projects/example"

Initiate an existing project

Create a clasp project from an existing remote source
Example: gulp init --project-dir="projects/example" --script-id="{scriptId}"

Watch

Watch one

Watch a single project folder and recompile/push on changes
Example: gulp watch --project-dir="projects/example"

Watch all

Watch all project folders
Example: gulp watch:all

Features

Clasp

Manage your GAS code locally in the dev environment you need to be productive!

Babel

Code is being transpiled via babel so you can write es20XX and not think about the consequences.

Webpack

GAS code is global by default. As javascript developers are terrible at modules and stuff, this problem has been solved by webpack long ago, so that you can organize your code with module.export and require

Eslint

There is a ton of stuff that you can and will write wrong. eslint is there to help and annoy you to death.

Core-js

As you might know, GAS code is ES3 enhanced with random features from the generations afterwards. It's not that horrible, but annoying enough to be annoyed. This template provides core-js as a module and a polyfill entry point.
Adding a polyfill is as easy as adding a line of javascript: require('core-js/modules/es6.array.is-array');

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].