(context: BuilderContext, workspaceRoot: string, options: DeployBuilderOptions, main?: string)
| 121 | }; |
| 122 | |
| 123 | const getPackageJson = (context: BuilderContext, workspaceRoot: string, options: DeployBuilderOptions, main?: string) => { |
| 124 | const dependencies: Record<string, string> = {}; |
| 125 | const devDependencies: Record<string, string> = {}; |
| 126 | if (options.ssr !== 'cloud-run') { |
| 127 | Object.keys(firebaseFunctionsDependencies).forEach(name => { |
| 128 | const { version, dev } = firebaseFunctionsDependencies[name]; |
| 129 | (dev ? devDependencies : dependencies)[name] = version; |
| 130 | }); |
| 131 | } |
| 132 | if (existsSync(join(workspaceRoot, 'angular.json'))) { |
| 133 | const angularJson = JSON.parse(readFileSync(join(workspaceRoot, 'angular.json')).toString()); |
| 134 | const packageManager = angularJson.cli?.packageManager ?? 'npm'; |
| 135 | // eslint-disable-next-line @typescript-eslint/no-non-null-assertion |
| 136 | const server = angularJson.projects[context.target!.project].architect.server; |
| 137 | const externalDependencies = server?.options?.externalDependencies || []; |
| 138 | const bundleDependencies = server?.options?.bundleDependencies ?? true; |
| 139 | if (bundleDependencies) { |
| 140 | externalDependencies.forEach(externalDependency => { |
| 141 | const packageVersion = findPackageVersion(packageManager, externalDependency); |
| 142 | if (packageVersion) { dependencies[externalDependency] = packageVersion; } |
| 143 | }); |
| 144 | } else { |
| 145 | if (existsSync(join(workspaceRoot, 'package.json'))) { |
| 146 | const packageJson = JSON.parse(readFileSync(join(workspaceRoot, 'package.json')).toString()); |
| 147 | Object.keys(packageJson.dependencies).forEach((dependency: string) => { |
| 148 | dependencies[dependency] = packageJson.dependencies[dependency]; |
| 149 | }); |
| 150 | } // TODO should we throw? |
| 151 | } |
| 152 | } |
| 153 | // TODO should we throw? |
| 154 | return defaultPackage(dependencies, devDependencies, options, main); |
| 155 | }; |
| 156 | |
| 157 | export const deployToFunction = async ( |
| 158 | firebaseTools: FirebaseTools, |
no test coverage detected