@54vie/core - Core Package
Package containing shared dependencies and configurations for all other packages in the monorepo.
Purpose
@54vie/core ensures:
- Consistency: All packages use the same version of dependencies
- Bundle size: Shared dependencies are deduped in Module Federation
- Configuration: Shared configs for TypeScript, ESLint, Babel
Shared Dependencies
{
"dependencies": {
"react": "^19.0.0",
"react-native": "^0.76.0"
},
"peerDependencies": {
"react": ">=18.0.0",
"react-native": ">=0.72.0"
}
}
Usage
In package.json of another package
{
"name": "@54vie/kit",
"dependencies": {
"@54vie/core": "workspace:*"
},
"peerDependencies": {
"react": "*",
"react-native": "*"
}
}
Exports
// Re-export React
export { default as React } from 'react';
export * from 'react';
// Re-export React Native
export { Platform, StyleSheet, Dimensions } from 'react-native';
// Utilities
export { isIOS, isAndroid } from './utils/platform';
TypeScript Config
// tsconfig.json base
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"lib": ["ES2022"],
"jsx": "react-jsx",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true
}
}
Extend in another package
{
"extends": "@54vie/core/tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist"
}
}