@analogjs/platform
Version:
The fullstack meta-framework for Angular
81 lines • 5.67 kB
JavaScript
import { VERSION } from '@angular/compiler-cli';
import * as vite from 'vite';
import { crawlFrameworkPkgs } from 'vitefu';
export function depsPlugin(options) {
const workspaceRoot = options?.workspaceRoot ?? process.cwd();
return [
{
name: 'analogjs-deps-plugin',
config() {
const esbuild = options?.vite?.experimental?.useAngularCompilationAPI
? {}
: { exclude: ['**/*.ts', '**/*.js'] };
const oxc = options?.vite?.experimental?.useAngularCompilationAPI
? {}
: { exclude: ['**/*.ts', '**/*.js'] };
return {
...(vite.rolldownVersion ? { oxc } : { esbuild }),
ssr: {
noExternal: [
'@analogjs/**',
'firebase/**',
'firebase-admin/**',
'rxfire',
'@ng-web-apis/**',
'@taiga-ui/**',
'@tanstack/angular-query-experimental',
],
},
optimizeDeps: {
include: [
'@angular/common',
'@angular/common/http',
...(Number(VERSION.major) > 15
? ['@angular/core/rxjs-interop']
: []),
'front-matter',
],
exclude: [
'@angular/platform-server',
'@analogjs/content',
'@analogjs/router',
'@nx/angular',
'@nx/vite',
'@nx/devkit',
'@nx/js',
'@nx/devkit',
'@nx/cypress',
'@nx/jest',
'@nx/js',
'@nx/eslint',
'@nx/webpack',
'@nx/web',
'@nx/workspace',
'@nx/eslint',
'@nx/module-federation',
'@nx/rspack',
'webpack',
'fsevents',
'nx',
],
},
};
},
},
{
name: 'analogjs-auto-discover-deps',
async config(config, { command }) {
const pkgConfig = await crawlFrameworkPkgs({
root: workspaceRoot,
isBuild: command === 'build',
viteUserConfig: config,
isSemiFrameworkPkgByJson(pkgJson) {
return pkgJson['module'] && pkgJson['module'].includes('fesm');
},
});
return pkgConfig;
},
},
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcy1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2RlcHMtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJNUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFpQjtJQUMxQyxNQUFNLGFBQWEsR0FBRyxPQUFPLEVBQUUsYUFBYSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUU5RCxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLE1BQU07Z0JBQ0osTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsd0JBQXdCO29CQUNuRSxDQUFDLENBQUMsRUFBRTtvQkFDSixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFFeEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsd0JBQXdCO29CQUMvRCxDQUFDLENBQUMsRUFBRTtvQkFDSixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFFeEMsT0FBTztvQkFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztvQkFDakQsR0FBRyxFQUFFO3dCQUNILFVBQVUsRUFBRTs0QkFDVixjQUFjOzRCQUNkLGFBQWE7NEJBQ2IsbUJBQW1COzRCQUNuQixRQUFROzRCQUNSLGlCQUFpQjs0QkFDakIsY0FBYzs0QkFDZCxzQ0FBc0M7eUJBQ3ZDO3FCQUNGO29CQUNELFlBQVksRUFBRTt3QkFDWixPQUFPLEVBQUU7NEJBQ1AsaUJBQWlCOzRCQUNqQixzQkFBc0I7NEJBQ3RCLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0NBQzVCLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO2dDQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUNQLGNBQWM7eUJBQ2Y7d0JBQ0QsT0FBTyxFQUFFOzRCQUNQLDBCQUEwQjs0QkFDMUIsbUJBQW1COzRCQUNuQixrQkFBa0I7NEJBQ2xCLGFBQWE7NEJBQ2IsVUFBVTs0QkFDVixZQUFZOzRCQUNaLFFBQVE7NEJBQ1IsWUFBWTs0QkFDWixhQUFhOzRCQUNiLFVBQVU7NEJBQ1YsUUFBUTs0QkFDUixZQUFZOzRCQUNaLGFBQWE7NEJBQ2IsU0FBUzs0QkFDVCxlQUFlOzRCQUNmLFlBQVk7NEJBQ1osdUJBQXVCOzRCQUN2QixZQUFZOzRCQUNaLFNBQVM7NEJBQ1QsVUFBVTs0QkFDVixJQUFJO3lCQUNMO3FCQUNGO2lCQUNGLENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFDRDtZQUNFLElBQUksRUFBRSw2QkFBNkI7WUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUU7Z0JBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7b0JBQ3pDLElBQUksRUFBRSxhQUFhO29CQUNuQixPQUFPLEVBQUUsT0FBTyxLQUFLLE9BQU87b0JBQzVCLGNBQWMsRUFBRSxNQUFNO29CQUN0Qix3QkFBd0IsQ0FBQyxPQUFPO3dCQUM5QixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNqRSxDQUFDO2lCQUNGLENBQUMsQ0FBQztnQkFDSCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9