aboutsummaryrefslogtreecommitdiff
path: root/packages/renderers/renderer-solid/index.js
blob: 5848f78a4ce9a5e486f2a11e6b7e027e3fa06f49 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
export default {
  name: '@astrojs/renderer-solid',
  client: './client',
  server: './server',
  knownEntrypoints: ['solid-js', 'solid-js/web'],
  external: ['solid-js/web/dist/server.js', 'solid-js/dist/server.js', 'babel-preset-solid'],
  jsxImportSource: 'solid-js',
  jsxTransformOptions: async ({ isSSR }) => {
    const [{ default: solid }] = await Promise.all([import('babel-preset-solid')]);
    const options = {
      presets: [
        solid({}, { generate: isSSR ? 'ssr' : 'dom' }),
      ]
    }

    if (isSSR) {
      options.alias = {
        'solid-js/web': 'solid-js/web/dist/server.js',
        'solid-js': 'solid-js/dist/server.js',
      };
    }

    return options;
  }
};