Skip to content

Commit d05eb00

Browse files
clydinangular-robot[bot]
authored andcommitted
refactor(@angular-devkit/build-angular): remove direct import of i18n worker code
The i18n inlining worker code was previously imported in several locations to allow reuse of the options object used to configure the worker. To prevent the worker code from being used outside of an actual worker, the options object definition is now located in a separate file and imported in both the worker and any other files that need to use the inlining options.
1 parent cbc3998 commit d05eb00

File tree

4 files changed

+12
-14
lines changed

4 files changed

+12
-14
lines changed

packages/angular_devkit/build_angular/src/utils/action-executor.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
*/
88

99
import Piscina from 'piscina';
10+
import { InlineOptions } from './bundle-inline-options';
1011
import { maxWorkers } from './environment-options';
1112
import { I18nOptions } from './i18n-options';
12-
import { InlineOptions } from './process-bundle';
1313

1414
const workerFile = require.resolve('./process-bundle');
1515

packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js renamed to packages/angular_devkit/build_angular/src/utils/bundle-inline-options.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,11 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
require('../../../../../lib/bootstrap-local');
10-
module.exports = require('./process-bundle.ts');
9+
export interface InlineOptions {
10+
filename: string;
11+
code: string;
12+
map?: string;
13+
outputPath: string;
14+
missingTranslation?: 'warning' | 'error' | 'ignore';
15+
setLocale?: boolean;
16+
}

packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import { EmittedFiles } from '@angular-devkit/build-webpack';
1111
import * as fs from 'fs';
1212
import * as path from 'path';
1313
import { BundleActionExecutor } from './action-executor';
14+
import { InlineOptions } from './bundle-inline-options';
1415
import { copyAssets } from './copy-assets';
1516
import { assertIsError } from './error';
1617
import { I18nOptions } from './i18n-options';
17-
import { InlineOptions } from './process-bundle';
1818
import { Spinner } from './spinner';
1919

2020
function emittedFilesToInlineOptions(

packages/angular_devkit/build_angular/src/utils/process-bundle.ts

+2-10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import templateBuilder from '@babel/template';
2020
import * as fs from 'fs/promises';
2121
import * as path from 'path';
2222
import { workerData } from 'worker_threads';
23+
import { InlineOptions } from './bundle-inline-options';
2324
import { allowMinify, shouldBeautify } from './environment-options';
2425
import { assertIsError } from './error';
2526
import { I18nOptions } from './i18n-options';
@@ -65,7 +66,7 @@ async function loadLocalizeTools(): Promise<LocalizeUtilityModule> {
6566
return loadEsmModule('@angular/localize/tools');
6667
}
6768

68-
export async function createI18nPlugins(
69+
async function createI18nPlugins(
6970
locale: string,
7071
translation: unknown | undefined,
7172
missingTranslation: 'error' | 'warning' | 'ignore',
@@ -101,15 +102,6 @@ export async function createI18nPlugins(
101102
return { diagnostics, plugins };
102103
}
103104

104-
export interface InlineOptions {
105-
filename: string;
106-
code: string;
107-
map?: string;
108-
outputPath: string;
109-
missingTranslation?: 'warning' | 'error' | 'ignore';
110-
setLocale?: boolean;
111-
}
112-
113105
interface LocalizePosition {
114106
start: number;
115107
end: number;

0 commit comments

Comments
 (0)