Generated static sites aren't possible without node anymore

Back in the day you’d be able to make a non-node generated static site by having a glitch.json & editing your .glitchdotcom.json. Nowadays, if your project is a non-node project - i.e, it doesn’t have a package.json or does have a glitch.json - glitch won’t treat it as a generated_static app (source: /opt/watcher/build/source/app-picker.js) and your build directory will never be served as a static site - the start script will always be run.

This is easily work-around-able by moving your glitch.json install/start scripts to npm’s postinstall/start, respectively, but it is a minor inconvenience and I don’t always want to have to wait for node to be set up on project startup.

This may have been the case for years (or not, I have no idea!), and I don’t think manually editing .glitchdotcom.json has ever been officially supported, but it would be nice if it worked.

(as a side note, but is this related to why the fastly cli fails to work with an empty service id when there’s no package.json? i saw some stuff about a fastly/edge app type and that seemed dependent on there being a package.json, too)

I appreciate that most people will never need this though - it’s a very minor pain point, nothing more

good find. I personally find it an easier workaround to have your custom install/run be expressed via package.json e.g.

{
  "scripts": {
    "install": "echo custom install",
    "start": "echo custom start $PORT"
  },
  "engines": {
    "node": ">=12"
  }
}

even if you never use node

2 Likes