43 lines
1.0 KiB
TypeScript
Raw Normal View History

import { Config, defineConfig } from '@strapi/pack-up';
import { transformWithEsbuild } from 'vite';
const config: Config = defineConfig({
bundles: [
{
source: './admin/src/index.js',
import: './dist/admin/index.mjs',
require: './dist/admin/index.js',
runtime: 'web',
},
],
dist: './dist',
/**
* Because we're exporting a server & client package
* which have different runtimes we want to ignore
* what they look like in the package.json
*/
exports: {},
plugins: [
{
name: 'treat-js-files-as-jsx',
async transform(code, id) {
/**
* Matches all files in src/ and ee/ that end with .js
*/
if (!id.match(/src\/.*\.js$/) && !id.match(/ee\/.*\.js$/)) {
return null;
}
// Use the exposed transform from vite, instead of directly
// transforming with esbuild
return transformWithEsbuild(code, id, {
loader: 'tsx',
jsx: 'automatic',
});
},
},
],
});
export default config;