So I tried to give a seed a try today as a CI step...
# seed
m
So I tried to give a seed a try today as a CI step for deploying the SST project I have been working on. Everything starts out ok, and it seems to bundle all the Python code properly for the Lambda functions, but then it gets to the StaticSite and dies right away because apparently it didn't run the npm install for the static site stuff, because I am use Vue3 and it didn't even have vite installed to do the build. I am not sure what the right way is to fix this, so I though I would ask. I am guessing I need a seed.yml file with a build step to run the npm install in the frontend directory that houses the static site. Here is the relevent part of my stack:
Copy code
const site = new sst.StaticSite(this, "VueJSSite", {
    path: "frontend",
    buildOutput: "dist",
    buildCommand: "npm run build",
    errorPage: sst.StaticSiteErrorOptions.REDIRECT_TO_INDEX_PAGE,
    customDomain: {
        hostedZone: "<http://chartflow.io|chartflow.io>",
        domainName:
            scope.stage === "prod" ? "<http://www.chartflow.io|www.chartflow.io>" : `${scope.stage}.<http://chartflow.io|chartflow.io>`,
        domainAlias: scope.stage === "prod" ? "<http://chartflow.io|chartflow.io>" : undefined,
    },
    environment: {
        VITE_API_URL: scope.stage === "prod" ? "<https://api.chartflow.io>" : `<https://api>.${scope.stage}.<http://chartflow.io|chartflow.io>`
    }
});
and here is the error message I get:
Copy code
Building static site frontend
> frontend@0.0.0 build
> vite build
sh: 1: vite: not found
Error: There was a problem building the "VueJSSite" StaticSite.
    at StaticSite.buildApp (/tmp/seed/source/node_modules/@serverless-stack/resources/src/StaticSite.ts:203:15)
    at new StaticSite (/tmp/seed/source/node_modules/@serverless-stack/resources/src/StaticSite.ts:95:24)
    at new SiteStack (/tmp/seed/source/stacks/site.js:8:22)
    at Object.main (/tmp/seed/source/stacks/index.js:30:3)
    at Object.<anonymous> (/tmp/seed/source/.build/run.js:94:16)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
Error: Subprocess exited with error 1
    at ChildProcess.<anonymous> (/tmp/seed/source/node_modules/aws-cdk/lib/api/cxapp/exec.ts:127:23)
    at ChildProcess.emit (events.js:315:20)
    at ChildProcess.EventEmitter.emit (domain.js:467:12)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
There was an error synthesizing your app.
ERROR: Error: Subprocess exited with error 1
Any help would be appreciated
f
Hey @Michael Robellard, yeah you’d need to add a
seed.yml
that looks something like this:
Copy code
before_build:
  - cd my/frontend/app && npm install
You’d add the
seed.yml
file to the root of the repo. Here are more details https://seed.run/docs/adding-a-build-spec.html