Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review CLASP #86

Closed
lricoy opened this issue Feb 26, 2018 · 12 comments
Closed

Review CLASP #86

lricoy opened this issue Feb 26, 2018 · 12 comments

Comments

@lricoy
Copy link
Collaborator

lricoy commented Feb 26, 2018

It appears that Google has been busy and will now offer the possibility to develop app scripts locally, see versions, automatically deploy, etc... They have launched it on January 11th without much noise.

We should review it and ideally put a notice on the README about it

https://developers.google.com/apps-script/guides/clasp
https://github.com/google/clasp

@lricoy lricoy self-assigned this Feb 26, 2018
@lricoy
Copy link
Collaborator Author

lricoy commented Feb 26, 2018

@danthareja @aurelienshz if you guys could also take a quick look it would be awesome :)

@danthareja
Copy link
Owner

Do either of you you see any reason for this project to co-exist with clasp?

@lricoy
Copy link
Collaborator Author

lricoy commented Feb 27, 2018

Not really. Since the other one is open source as well I think we should give it priority. I have not tried it yet though.

@JeanRemiDelteil
Copy link

JeanRemiDelteil commented Feb 27, 2018

Hello guys, here is my experience:

I've used gapps for some years now, to work with our addons projects.
Then came this AppsScript API release and along with it the clasp CLI.

It basically does the same thing than gapps, though rely on the new GAS API, which does pretty much everything we ever wanted to do with GAS files (and container bound file).

They already have added all the basic stuff, fixed the more pressing issues.
And it has some really nice feature like allowing to keep a coherent folder structure locally and keep this structure by renaming the gas files like : folder/file

I really thank the gapps project for all the time it saved through all these years though !
We have switched to clasp now as it gave us the opportunity to work with all our container bound script immediately.

@danthareja
Copy link
Owner

Thanks for sharing your experience, @JeanRemiDelteil.

Since the tool is officially supported by Google, I think we can safely deprecate this project.

I'll leave this issue open for another week to solicit other opinions. If there's no strong support to keep this project alive, I'll release a final version and post a deprecation notice on the README.

@hess-g
Copy link
Contributor

hess-g commented Feb 28, 2018 via email

@aurelienshz
Copy link
Collaborator

aurelienshz commented Mar 9, 2018

I finally had time to try out clasp. My opinion is that the way node-google-apps-script is designed is a little bit better, in the sense that it targets a directory instead of using the contents of the current directory. On the project I'm working on, we currently can't live without this, because we are using Gulp to perform a few build steps, and then upload the contents of the build result directory. The second element is the fact that individual commands of node-google-apps-script are exported individually, allowing to use them programmatically in our gulpfile instead of having to run an actual CLI command. This allows us to script our upload step instead of having a package.json script defined as gulp build && gapps upload (minor, but still looks a bit and easier to reason about).

There is, however one huge upside to CLASP: error messages. Here's an example of what happens when the upload fails because of a syntax error:

$ gapps upload
Pushing back up to Google Drive...
Uploading 2 files to Google
An error occured while running upload command: Bad Request
Upload failed.

versus:

$ clasp push
Push failed. Errors:
Syntax error: Syntax error. line: 5 file: Code

Where it currently stands is that we're going to try to get going a few PRs on clasp to make it more convenient for advanced use, but in the meantime, we'll stick to this project. If clasp maintainers want to stick to a simple tool without any configuration options, it will then make sense for node-gapps to continue to live alongside, but we might want to switch to the scripts API instead of the Drive API so that we benefit from the detailed error messages when the upload fails. Otherwise, we could safely deprecate this project and switch our efforts to helping on maintaining clasp.

For now, I would be in favor of adding a small warning on top of our README to explain that Google has released their official tool for the same use as this project, and that unless you need configurable target directory or programmatic use, newcomers might want to use the officially maintained tool instead of a community-maintained one.

@jondcallahan
Copy link

Great write up on the pros and cons, one note: you can specify a directory containing files to be uploaded with clasp using the rootDir option in the clasp config json file. Similar to you, my project has some build steps which outputs to a dist directory so I opened a PR on clasp to support that. It was merged in a few weeks ago.

@aurelienshz
Copy link
Collaborator

Thanks for the heads up! Guess I haven't been reviewing clasp thoroughly enough. It's definitely a viable option then.

@grant
Copy link

grant commented Mar 9, 2018

Hey all,
I feel like this thread has many of the top Apps Script contributors. Thank you for contributing to the Apps Script ecosystem! ❤️ ⭐️

I pick up the reins of @hess-g's work and developed clasp at Google and am working on a better developer experience in general for Apps Script with G Suite add-on teams.

There's definitely a lot of ideas around creating a better developer experience in Apps Script. Like 2 way sync'ing, develop Apps Script locally with TypeScript, clasp run sendEmail, etc... There's some ideas written in the issues section of the repo.

If there's anything Google or I can do, I'd love to hear them. Please voice what you want to see in Apps Script, and we can bring these features to life.

@danthareja
Copy link
Owner

danthareja commented Mar 11, 2018

Given the discussion here, I'm now confident that the right move is to deprecate this project in favor of clasp.

Thank you @hess-g and @shrugs for making this project what it was, @lricoy and @aurelienshz for supporting this project during it's final days, and @grant for offering to continue working with the community built around this project.

I'm glad the wheel of time is rotating strong this community.

@lricoy lricoy removed their assignment Mar 12, 2018
labnol added a commit to labnol/google-apps-script-awesome that referenced this issue Jun 18, 2018
The @danthareja/node-google-apps-script project has been deprecated in favour of CLASP and will no longer receive any feature updates or bug fixes.

See note from the author danthareja/node-google-apps-script#86 (comment)
@oshliaer
Copy link

It was great!

@lricoy lricoy closed this as completed Jun 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants