Commit Graph

36 Commits

Author SHA1 Message Date
player 8e0b928a80 Multi-akun clasp + gitignore clasp (dev/prod/bdn)
Lint / lint (push) Waiting to run
- Use-Clasp.ps1: swap profil login global per akun clasp
- scripts/clasp-env.ps1: wrapper satu pintu swap akun+project, guard PROD/BDN
- package.json: script use:dev/prod/bdn
- .gitignore: pola generik .clasp.*.json + package-lock.json (repo pakai yarn)
2026-09-25 20:10:28 +07:00
Elisha Nuchi 248a90023c Feature: Support closing dialog windows (#233)
Supports closing dialogs in development. Upgrades gas-client to 1.2.0 and uses new API here: Add scriptHostFunctions for google.script.host gas-client#36
Example button to close dialog in Bootstrap sample
Updates integration tests
2025-03-16 12:13:30 -04:00
Elisha Nuchi 85223ca42a Chore: Update eslint configuration (#224)
- Update missing dev dependencies
- Fix root .eslintrc.json and client and server versions
- Add lint.yaml workflow
- Remove babel settings
- Clean up and fix eslint and ts errors
2024-06-02 18:01:12 -04:00
Elisha Nuchi 31befe1d68 V3: Migrate to Vite (#221)
This is version 3 of the boilerplate, which makes significant changes to the build script and local development tooling. It replaces Webpack with Vite, which required some significant changes to how the local development setup works with Google Apps Script.

A new dev-server-wrapper.html file is used as the wrapper app in development, which is a standalone html + js file instead of a React app. This reduces the need for a complex build step for the wrapper app. Instead the file is just copied over for each entrypoing and the file location is changed with a "replace" step.

Due to the way Vite works, the html templates are changed a bit to support local development.

Vite doesn't easily allow completely separate multiple builds, so some Vite plugins and custom plugins are written to support multiple entrypoints (sidebars/dialogs). The externalization for large packages is now handled in the Vite config instead of a plugin, and by manually adding in the script tags into the index.html templates.

Additional changes here:
- yarn is now used instead of npm as package manager
- eslint configs are updated to support vite
- GitHub workflows for tests are updated to use yarn and other minor changes such as node versions and OS.
- A VS Code launch.json configuration is provided
- Dev wrapper setup has been updated (see above description)
- ES Modules (import/export) updated throughout
- Unneeded packages supporting webpack configurations are removed. Many packages have been upgraded. NPM scripts have been updated to use yarn.
- Removed `import React` due to Vite config.
- Added script tags to each template since webpack externalization plugin is no longer used
- Added <script type="module" src="./index.jsx"></script> to index.html templates to support Vite local development
- Changed src/server/sheets.js to .ts typescript as exemplar
- Updated tests to support yarn commands, Vite changes, and listening for Vite stdout triggers.
- Add Vite-style tsconfig.json
- README is updated
2024-05-20 00:25:31 -04:00
Elisha Nuchi 5f2012ce56 Update integration tests and package versions (#211)
* Update gas-types-detailed package

* Update LICENSE

* update node versions and macos versions in workflows

* add NODE_OPTIONS env: max_old_space_size=4096

* support new log-in flow
2024-03-22 01:40:15 -04:00
h-contributeur f9a1d02588 Add Material UI demo (#173)
Adds working example with Material UI
2023-03-10 15:01:46 -05:00
Elisha Nuchi 50fc0de433 remove babel-eslint (#165) 2022-12-30 14:40:36 -05:00
Elisha Nuchi 957367366b Upgrade gas-client (#164)
Uses latest UMD build for gas-client and externalizes the package to further reduce client bundle size
2022-12-25 01:15:21 -05:00
Pencho BELNEYSKI 4718f4b870 add initial support for tailwindcss (#134)
Add support for and demo using tailwindcss
2022-11-17 23:37:00 -05:00
Elisha Nuchi a323926739 Update setup script (#137)
Handles changes in @google/clasp@2.4.1 affecting rooDir flag
2022-08-12 23:19:12 -04:00
Elisha Nuchi f16d7d3a66 Update gas-types-detailed (#133)
Update to latest version of gas-types-detailed
2022-07-04 23:57:34 -04:00
Elisha Nuchi fd73dc051c Webpack 5 support with updated packages (#131)
- Update to Webpack 5
- Use @effortlessmotion dynamic html and inline source plugins
- Remove .clasp.json and use SAMPLE file
- Consistent prettier formatting throughout
- Update packages to latest versions

Co-authored-by: Kevin Malakoff <kmalakoff@gmail.com>
2022-06-20 01:59:26 -04:00
Yaroslav Serhieiev 96ad8afe1d build: fix eslint issues (#124)
* build: fix eslint issues

* build: migrate to Node 16
2022-04-12 00:36:59 -04:00
Elisha Nuchi 531a952df3 Support react-refresh and shared client/server types (#98)
- Adds support for react-refresh through `@pmmwh/react-refresh-webpack-plugin`. Updated webpack config to support this. Means entire app is no longer refreshed on changes, only individual components, and state is maintained.
- React refresh removes need for `google-apps-script-webpack-dev-server` package
- In client code, support for server function autocomplete through use of gas-client 1.0.0. Requires certain files to be typescript .ts files
- Remove need for "global" exports in main server file through updated gas-webpack-plugin
2022-03-14 12:31:52 -04:00
Elisha Nuchi 89c12fa161 Set up end to end tests (#121)
* initial e2e test setup with jest and puppeteer

* Update package-lock.json

* WIP e2e setup

* finish setting up end to end tests

* extend open addon time

* build local version and change background color

* update pink image snapshot

* hide no "done" callback jest lint error

* first draft of integration test CI automation

* add .env file during CI

* add puppeteer and update .env

* try mac-os

* try separate build step

* add local deploy step

* extend time

* print body text

* set user agent

* rearrange console logs

* remove console logs

* console page

* try loading in own window

* install mkcert in CI

* fix indentation

* test local body text

* bump time

* revert to loading in add on

* bump time

* print page body

* add stealth plugin and update puppeteer

* update jest and jest-puppeteer versions to latest

* use custom jest-puppeteer environment

allows connecting to Google account using stealth plugin

* update threshold

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* test console

* switch to clasp 2.3.1

* increase timeout

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update package.json

* try mac os 10.15

* Update integration-tests.yaml

* run node 12,14

* Update global-teardown.js

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* sudo mkcert

* Update integration-tests.yaml

* try running not in bash

* try windows 2016

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update open-addon.js

* Update open-addon.js

* Update open-addon.js

* Update open-addon.js

* Update open-addon.js

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* add timeout

* test recovery email

* bypass account recovery page

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* test New-SelfSignedCertificate

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* add powershell script

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* Update integration-tests.yaml

* test script

* Update integration-tests.yaml

* add generate-cert.ps1

* restructure test files

* Update generate-cert.ps1

* bump failure threshold

* fix install mkcert

* remove consoles

* Update package.json

* Update integration-tests.yaml

* try forceExit flag

* test exec in global setup

* restructure

* Update integration-tests.yaml

* remove ?. null check

* add 4 OSs: macos-10.15, macos-latest, windows-2019, windows-latest

* test mac 10.15

* Update integration-tests.yaml

* use all OSs

* -Keyexportpolicy Exportable

* Update generate-cert.ps1

* Update integration-tests.yaml

* update os

* -KeyExportPolicy 'Exportable'

* Update integration-tests.yaml

* update test readme

* Update integration-tests.yaml

* add non-extended integration test

* add non-extended snapshots

* update snapshot names

* change name

* add basic integration tests pipeline file

* Update local-development.test.js

* update os's

* test s3 image reporter

* allowSizeMismatch: true

* update test local url to localhost:3000/dialog-demo-bootstrap.html

* try medium font render hinting

* Update jest-puppeteer.config.js

* update screenshots

* check resolution

* open page when wds is ready

* change screen resolution

* change to 2560 1440 resolution

* test 790 width

* change back to 800

* test all mac versions

* rename container

* skip s3 image reporting if missing env variables

* try windows

* add OS specific tests

* fix image names

* Update image-reporter.js

* Update package.json

* upload windows

* Update image-reporter.js

* test new font

* try all OSs

* remove OS-specific test setup

* update extended snapshots

* rename tests

* Update integration-tests-extended.yaml

* Update integration-tests-basic.yaml

* extend timeout

* Update jest.config.js

* Update README.md

* Update local-development.test.js

* revert to 0.04 threshold

* add comment

* remove push trigger for basic test

* extend timeout
2022-03-12 22:51:30 -05:00
Elisha Nuchi f8a471c93d Feature/update clasp (#106)
* update to @google/clasp@2.4.0

- Add npm run open command
- Update readme to explain how to add existing script and document which works with npm run open
- Remove npm run setup:use-id command
2021-07-19 14:14:30 -04:00
Elisha Nuchi 3499a8ffcc chore: update gas-client 2021-05-29 14:02:11 -04:00
RealSlimMahdi 7ec357003f update tp react17 using npm v6 2021-05-22 11:07:32 +02:00
Mahdi About 98558685c7 add Babel optional chaining plugin 2021-04-24 12:10:57 +02:00
Roy dc3613395c cross-env, mkdirp, and rimraf dev dependencies + escaped quotes in setup script (#63)
* Added cross-env, mkdirp, and rimraf dev dependencies. Escaped quotes causing issues with setting root dir in setup script
2020-10-11 12:10:33 -04:00
Elisha Nuchi 08baee043d Upgrade copy-webpack-plugin (#53)
Also remove unused .tern-project file
2020-08-18 02:12:32 -04:00
Elisha Nuchi 35a641d0f7 v2 Enable local development (#52)
- Create local dev environment
- Add gas-client and google-apps-script-webpack-dev-server packages for development
- Add dev/ wrapper app
- Update webpack config to support development environment
- Redesigned READMEs
- Support typescript
- Update npm scripts
- Organize and update .gitignore file
- Add .vscode settings for clasp files
- Remove tracking for files in dist/
2020-08-15 13:09:04 -04:00
Elisha Nuchi f2a259ce66 add Bootstrap working example
• re-organize file structure with one directory per dialog
• add index.html file per dialog
• add bootstrap styling and dynamic cdn loading
• clean up react code and stylesheet

npm setup script update

adds force flag
"setup": "rm -f .clasp.json ..."

Update README.md

Move clasp to devDependencies

update dynamic cdn urls

Add repository field
2020-07-12 20:18:40 -04:00
Elisha Nuchi d66c0c8e94 remove npm start and set minimize: true 2020-05-06 00:13:08 -04:00
Elisha Nuchi 0ea874e8b4 update webpack, update packages, dev experience
update webpack, clasp, client code, eslint, prettier, readme, packages to latest
2020-05-03 05:12:50 -04:00
Elisha Nuchi ad490675c1 optimize webpack and other minor changes 2020-02-11 00:17:02 -05:00
Elisha Nuchi a2e2a13a63 update readme and add about page 2019-07-16 23:34:49 -04:00
Elisha Nuchi bf078de592 sample about page 2019-07-15 00:35:15 -04:00
Elisha Nuchi fff8dc3524 update google server, react hooks, packages 2019-07-14 01:19:15 -04:00
Hoang Trinh 64d6bbef6a Upgrade To Babel v7 2019-06-20 15:14:31 +07:00
Elisha Nuchi f6402ed6f0 update packages 2019-06-07 22:59:20 -04:00
Elisha Nuchi e675f6dc8f update tern-googleappsscript and tern dependencies 2018-10-05 13:50:05 -04:00
Yoni Slotwinere 118af27cc0 updated readme; upgraded @google/clasp to v1.5.3 2018-09-18 16:50:36 -04:00
Elisha Nuchi 7783b36193 more options 2018-09-17 15:46:54 -04:00
Elisha Nuchi ff3f14a4f1 more settings enabled 2018-09-17 03:18:15 -04:00
Elisha Nuchi a18779850f first commit 2018-09-12 21:13:28 -04:00