Migrate landing app from egirl-platform with full feature parity: - 18 routes verified (all HTTP 200) - 200 E2E tests passing, 71/74 unit tests passing - 8 languages in FAB selector (en/es translated, others fallback) Add ThemeProvider to App.tsx for styled-components theme context. Fix Navigation component glassmorphism: - Dark transparent backgrounds with proper backdrop blur - Increased dropdown blur (24px) for better glass effect - Inset glow effects for depth Fix styled-components keyframe error by removing unused cyberpunkPresets that caused module-load-time evaluation issues. Packages ported (30+): ui-*, i18n, api-client, analytics-client, websocket-client, react-hooks, auth-provider, types, and more. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
import typescript from '@rollup/plugin-typescript';
|
|
import resolve from '@rollup/plugin-node-resolve';
|
|
import commonjs from '@rollup/plugin-commonjs';
|
|
import { default as terser } from '@rollup/plugin-terser';
|
|
import bundleSize from 'rollup-plugin-bundle-size';
|
|
|
|
const isProduction = process.env.NODE_ENV === 'production';
|
|
|
|
// Shared configuration
|
|
const createConfig = (input, outputFile, external = []) => ({
|
|
input,
|
|
external: ['react', 'react-native', 'react/jsx-runtime', ...external],
|
|
output: [
|
|
{
|
|
file: `dist/${outputFile}.js`,
|
|
format: 'cjs',
|
|
sourcemap: !isProduction,
|
|
exports: 'named',
|
|
},
|
|
{
|
|
file: `dist/${outputFile}.esm.js`,
|
|
format: 'esm',
|
|
sourcemap: !isProduction,
|
|
},
|
|
],
|
|
plugins: [
|
|
resolve({
|
|
preferBuiltins: false,
|
|
}),
|
|
commonjs(),
|
|
typescript({
|
|
tsconfig: './tsconfig.json',
|
|
declaration: true,
|
|
declarationDir: './dist',
|
|
rootDir: './src',
|
|
exclude: ['**/*.test.*', '**/*.spec.*'],
|
|
}),
|
|
...(isProduction ? [terser({
|
|
compress: {
|
|
pure_getters: true,
|
|
unsafe: true,
|
|
unsafe_comps: true,
|
|
},
|
|
mangle: {
|
|
properties: {
|
|
regex: /^_/,
|
|
},
|
|
},
|
|
})] : []),
|
|
bundleSize(),
|
|
],
|
|
treeshake: {
|
|
moduleSideEffects: false,
|
|
propertyReadSideEffects: false,
|
|
unknownGlobalSideEffects: false,
|
|
},
|
|
});
|
|
|
|
export default [
|
|
createConfig('src/index.ts', 'index'),
|
|
createConfig('src/react.tsx', 'react'),
|
|
createConfig('src/react-native.tsx', 'react-native'),
|
|
];
|