Commit Graph

117 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 a976451c78 Update README.md
- Add videos to README.md
2024-05-20 00:32:28 -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
Elisha Nuchi 7a26c690e1 Update ReactDOM render to use createRoot (#148)
react 18 new API
2023-03-12 01:04:49 -05:00
Elisha Nuchi 8265933d4b Update README.md (#180)
Clean up outdated descriptions and add more info in some areas.
2023-03-10 23:54:05 -05: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 7fd979aed8 Performance improvement: stop serving wrapper code (#179)
* Only serve react app in development

- Don't serve server code from "webpack serve"
- Don't serve iframe wrapper from "webpack serve"
- Update "basic" local test to load -impl file, not wrapper
2023-03-10 14:43:48 -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 f4371469fc Change input query to "Passwd" (#149) 2022-10-25 22:59:53 -04: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
Elisha Nuchi 0adf784ba1 Update basic integration test trigger to use main instead of master (#127) 2022-06-11 13:07: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 b14c0f9219 Update package-lock.json (#108)
run npm audit fix
2021-07-19 14:23:18 -04: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 405cf206f5 Merge pull request #105 from enuchi/update/lock-file
Update package-lock.json

Switch to "lockfileVersion": 2 for npm 7 (backward compatible)

See https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json#lockfileversion
2021-07-15 00:18:13 -04:00
Elisha Nuchi 058fec3a4e Update package-lock.json 2021-07-15 00:16:39 -04:00
Elisha Nuchi b662d5a432 Fix: adds support for development mode in Safari
Updates gas-client to latest version
2021-05-29 14:08:25 -04:00
Elisha Nuchi 47fba531ce add comment to webpack config 2021-05-29 14:06:47 -04:00
Elisha Nuchi 3499a8ffcc chore: update gas-client 2021-05-29 14:02:11 -04:00
Elisha Nuchi 7e3d346468 Merge pull request #88 from enuchi/dependabot/npm_and_yarn/url-parse-1.5.1
Bump url-parse from 1.4.7 to 1.5.1
2021-05-24 01:24:27 -04:00
Elisha Nuchi ba42a24f61 Merge pull request #87 from enuchi/dependabot/npm_and_yarn/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-05-24 01:24:01 -04:00
Elisha Nuchi aa74744e13 Merge pull request #86 from enuchi/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.19 to 4.17.21
2021-05-24 01:23:48 -04:00
Elisha Nuchi b59b2b6288 Merge pull request #92 from RealSlimMahdi/dev-react17-npmv6
update to react17
2021-05-24 01:20:13 -04:00
RealSlimMahdi 7ec357003f update tp react17 using npm v6 2021-05-22 11:07:32 +02:00
dependabot[bot] 5db02748c0 Bump url-parse from 1.4.7 to 1.5.1
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 06:55:45 +00:00
dependabot[bot] e1dade5b59 Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-09 17:04:48 +00:00
dependabot[bot] 68b672f6fd Bump lodash from 4.17.19 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-07 18:16:09 +00:00
Elisha Nuchi 54f9483a24 Merge pull request #85 from enuchi/update/babel-optional-chaining
Update/babel optional chaining
2021-05-01 13:17:58 -04:00
Elisha Nuchi 472bdd2e19 Update .babelrc
fix formatting
2021-05-01 13:05:00 -04:00
Elisha Nuchi 3910ebed5b Update package-lock.json 2021-05-01 13:04:09 -04:00
Mahdi About 98558685c7 add Babel optional chaining plugin 2021-04-24 12:10:57 +02:00
Elisha Nuchi 2b8f0dc9d4 Docs/React DevTools documentation (#80)
Add documentation on using React DevTools
2021-04-24 00:55:27 -04:00
dependabot[bot] e6fbab0f5b Bump ssri from 6.0.1 to 6.0.2 (#79)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-24 00:17:19 -04:00
dependabot[bot] 4b7b79267d Bump y18n from 4.0.0 to 4.0.1 (#78)
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-23 23:51:31 -04:00
Juan Ignacio Telechea 18fb03d42c docs: webpack config line updated (#77) 2021-03-18 22:48:23 -04:00
dependabot[bot] f9292c0ddc Bump elliptic from 6.5.3 to 6.5.4 (#75)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-18 22:47:49 -04:00
dependabot[bot] b5928f9316 Bump ini from 1.3.5 to 1.3.7 (#70)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-18 22:47:14 -04:00
Elisha Nuchi e73e51e56e fix: allow jsDoc comments for custom functions (#66)
Allows jsDoc comments for custom sheets functions to remain in builds so that autocomplete works correctly
2020-10-28 15:10:55 -04: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
dependabot[bot] 2721e34053 Bump node-fetch from 2.6.0 to 2.6.1 (#59)
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-14 20:58:13 -04:00
Nikola Miljković 471cdc843d Exclude "impl" files from being pushed during development (#58) 2020-09-09 17:19:11 -04:00