Ghost/apps/signup-form
Cathy Sarisky 324211f64d
fix build for search, signup, comments = 80-90% reduction in size! (#21342)
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>
2024-10-17 12:35:56 -05:00
..
.storybook Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
assets/icons 🐛 Fixed accessibility issue with hidden success message in signup form 2023-06-21 10:38:27 +02:00
src Added integrity token to signup-form package 2024-08-22 22:23:16 +01:00
test Added integrity token to signup-form package 2024-08-22 22:23:16 +01:00
.env.development Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
.eslintrc.cjs Enabled no-explicit-any for majority of packages 2023-07-27 16:49:08 +02:00
.yarnrc Prevented git tags from being created for apps 2023-07-10 13:09:28 +02:00
index.html Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
package.json Update dependency tailwindcss to v3.4.14 2024-10-15 15:58:30 +02:00
playwright.config.ts Enabled parallel testing for Playwright tests of apps 2023-07-04 16:08:06 +02:00
postcss.config.cjs Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
preview.html Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
README.md Fixed typos (#18648) 2023-10-31 15:21:44 +00:00
tailwind.config.cjs Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
tsconfig.json Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
tsconfig.node.json Moved signup-form to apps/ folder 2023-06-19 09:43:33 +02:00
vite.config.ts fix build for search, signup, comments = 80-90% reduction in size! (#21342) 2024-10-17 12:35:56 -05:00

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.

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.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests
  • yarn test:e2e run e2e tests on Chromium
  • yarn test:slowmo run e2e tests visually (headed) and slower on Chromium
  • yarn test:e2e:full run e2e tests on all browsers