324211f64d
no ref This change to vite.config.js fixes errors in the sodo-search, signup-form, and comments packages, preventing inclusion of all of i18n/locales. As the number of translated strings has gotten larger, these builds have increased significantly in size, bloated with strings that aren't actually present in them (in 58 different languages!) No obvious build errors are present with these changes, but an extra eyes would be appreciated. Vite isn't my forte. --------- Co-authored-by: Steve Larson <9larsons@gmail.com> |
||
---|---|---|
.. | ||
.storybook | ||
assets/icons | ||
src | ||
test | ||
.env.development | ||
.eslintrc.cjs | ||
.yarnrc | ||
index.html | ||
package.json | ||
playwright.config.ts | ||
postcss.config.cjs | ||
preview.html | ||
README.md | ||
tailwind.config.cjs | ||
tsconfig.json | ||
tsconfig.node.json | ||
vite.config.ts |
Embeddable Signup Form
Embed a Ghost signup form on any site.
Development
Pre-requisites
- Run
yarn
in Ghost monorepo root - Run
yarn
in this directory
Running via Ghost yarn dev
in root folder
You can automatically start the signup-form dev server when developing Ghost by running Ghost (in root folder) via yarn dev --all
. This will only build the production build, without the demo site.
Running via yarn dev --all --signup
or yarn dev --signup
will also serve the demo site on http://localhost:6173
.
Running the development version only
Run yarn dev
(in package folder) to start the development server to test/develop the form standalone.
- This will generate a demo site on http://localhost:6173
- This will build and watch the production build and host it on http://localhost:6174/signup-form.min.js (different port!)
Using the UMD build during development
Vite by default only supports HRM with an ESM output. But when loading a script on a site as a ESM module (<script type="module" src="...">
), you don't have access to document.currentScript
inside the script, which is required to determine the location to inject the iframe. In development mode we use a workaround for this to make the ESM HMR work. But this workaround is not suitable for production.
To test the real production behaviour without this hack, you can use http://localhost:6173/preview.html. This HTML page will use http://localhost:6174/signup-form.min.js
directly.
Develop
This is a monorepo package.
Follow the instructions for the top-level repo.
git clone
this repo &cd
into it as usual- Run
yarn
to install top-level dependencies.
Test
yarn lint
run just eslintyarn test
run lint and testsyarn test:e2e
run e2e tests on Chromiumyarn test:slowmo
run e2e tests visually (headed) and slower on Chromiumyarn test:e2e:full
run e2e tests on all browsers