Skip to content

Commit 40fcb92

Browse files
committed
build: update common's locales to use rules_js
Use ts_project to build the common locales
1 parent b15bddf commit 40fcb92

26 files changed

+86
-64
lines changed

.ng-dev/format.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const format: FormatConfig = {
1919
// Do not format the locale files which are checked-in for Google3, but generated using
2020
// the `generate-locales-tool` from `packages/common/locales`.
2121
'!packages/core/src/i18n/locale_en.ts',
22-
'!packages/common/locales/closure-locale.ts',
22+
'!packages/common/locales/closure-locale.mts',
2323
'!packages/common/src/i18n/currencies.ts',
2424
// Test cases contain non valid code.
2525
'!packages/compiler-cli/test/compliance/test_cases/**/*.{js,ts,mjs,mts,cjs,cts}',

packages/bazel/test/ng_package/common_package.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ describe('@angular/common ng_package', () => {
2222
describe('should have the locales files', () => {
2323
it('/locales', () => {
2424
const files = shx.ls('locales').stdout.split('\n');
25-
expect(files.some((n) => n.endsWith('.d.ts'))).toBe(true, `.d.ts files don't exist`);
25+
expect(files.some((n) => n.endsWith('.d.mts'))).toBe(true, `.d.mts files don't exist`);
2626
expect(files.some((n) => n.endsWith('.mjs'))).toBe(true, `.mjs files don't exist`);
2727
});
2828
it('/locales/extra', () => {
2929
const files = shx.ls('locales/extra').stdout.split('\n');
30-
expect(files.some((n) => n.endsWith('.d.ts'))).toBe(true, `.d.ts files don't exist`);
30+
expect(files.some((n) => n.endsWith('.d.mts'))).toBe(true, `.d.mts files don't exist`);
3131
expect(files.some((n) => n.endsWith('.mjs'))).toBe(true, `.mjs files don't exist`);
3232
});
3333
});

packages/common/locales/BUILD.bazel

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,57 @@
11
load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test")
22
load("//packages/common/locales:index.bzl", "LOCALES", "generate_all_locale_files", "generate_closure_locale_file")
3-
load("//tools:defaults.bzl", "pkg_npm", "ts_library")
3+
load("//tools:defaults.bzl", "pkg_npm")
4+
load("//tools:defaults2.bzl", "ts_config", "ts_project")
45

56
package(default_visibility = ["//visibility:public"])
67

8+
ts_config(
9+
name = "tsconfig_build",
10+
src = "tsconfig.json",
11+
deps = [
12+
"//:node_modules/@types/node",
13+
"//packages:tsconfig_build",
14+
],
15+
)
16+
717
# This generates the `closure-locale.ts` file through the `generate-locales` tool. Since
818
# the `closure-locale.ts` file is checked-in for Google3, we add a `generated_file_test` to
919
# ensure the checked-in file is up-to-date. To disambiguate from the test, we use a more
1020
# precise target name here.
1121
generate_closure_locale_file(
1222
name = "closure_locale_file_generated",
13-
output_file = "closure_locale_generated.ts",
23+
output_file = "closure_locale_generated.mts",
1424
)
1525

1626
generated_file_test(
1727
name = "closure_locale_file",
18-
src = "closure-locale.ts",
28+
src = "closure-locale.mts",
1929
generated = ":closure_locale_file_generated",
2030
)
2131

2232
generate_all_locale_files(
2333
name = "locale_files",
2434
)
2535

26-
ts_library(
36+
ts_project(
2737
name = "locales",
2838
# TODO(devversion): Remove glob for checked-in legacy locale files that haven't been
2939
# removed in the past (when CLDR has been updated). These can be removed in a major.
3040
srcs = [file for l in LOCALES for file in [
31-
"%s.ts" % l,
32-
"extra/%s.ts" % l,
41+
"%s.mts" % l,
42+
"extra/%s.mts" % l,
3343
]] + glob(
3444
[
35-
"*.ts",
36-
"extra/*.ts",
45+
"*.mts",
46+
"extra/*.mts",
3747
],
38-
exclude = ["closure-locale.ts"],
48+
exclude = ["closure-locale.mts"],
3949
),
4050
)
4151

4252
pkg_npm(
4353
name = "package",
4454
# TODO(devversion): Remove glob for checked-in legacy locale files that haven't been
4555
# removed in the past (when CLDR has been updated). These can be removed in a major.
46-
deps = ["global/%s.js" % l for l in LOCALES] + [":locales"] + glob(["global/*.js"]),
56+
deps = ["global/%s.mjs" % l for l in LOCALES] + [":locales"] + glob(["global/*.mjs"]),
4757
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
load("//tools:defaults.bzl", "ts_library")
1+
load("//tools:defaults2.bzl", "ts_project")
22

33
package(default_visibility = ["//visibility:public"])
44

5-
ts_library(
5+
ts_project(
66
name = "generate-locales-tool",
77
srcs = glob(["*.ts"]),
88
deps = [
9-
"@npm//@bazel/runfiles",
10-
"@npm//@types/cldrjs",
11-
"@npm//@types/node",
12-
"@npm//cldr",
13-
"@npm//cldrjs",
14-
"@npm//fast-glob",
9+
"//:node_modules/@bazel/runfiles",
10+
"//:node_modules/@types/cldrjs",
11+
"//:node_modules/@types/node",
12+
"//:node_modules/cldr",
13+
"//:node_modules/cldrjs",
14+
"//:node_modules/fast-glob",
1515
],
1616
)

packages/common/locales/generate-locales-tool/bin/BUILD.bazel

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
load("//tools:defaults.bzl", "nodejs_binary", "ts_library")
1+
load("//tools:defaults.bzl", "nodejs_binary")
2+
load("//tools:defaults2.bzl", "ts_project")
23

34
package(default_visibility = ["//visibility:public"])
45

@@ -9,12 +10,14 @@ BIN_ENTRYPOINTS = [
910
"write-locale-files-to-dist",
1011
]
1112

12-
ts_library(
13+
ts_project(
1314
name = "bin",
1415
srcs = glob(["*.ts"]),
15-
deps = [
16+
interop_deps = [
1617
"//packages/common/locales/generate-locales-tool",
17-
"@npm//@types/node",
18+
],
19+
deps = [
20+
"//:node_modules/@types/node",
1821
],
1922
)
2023

@@ -25,5 +28,5 @@ ts_library(
2528
"@cldr_json_data//:all_json",
2629
"@cldr_xml_data//:all_xml",
2730
],
28-
entry_point = ":%s.ts" % entrypoint,
31+
entry_point = ":%s.js" % entrypoint,
2932
) for entrypoint in BIN_ENTRYPOINTS]

packages/common/locales/generate-locales-tool/bin/write-locale-files-to-dist.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ async function main(outputDir: string | undefined) {
4141
const localeGlobalFile = generateLocaleGlobalFile(locale, localeData, baseCurrencies);
4242

4343
return [
44-
fs.promises.writeFile(join(outputDir, `${locale}.ts`), localeFile),
45-
fs.promises.writeFile(join(extraLocaleDir, `${locale}.ts`), localeExtraFile),
46-
fs.promises.writeFile(join(globalLocaleDir, `${locale}.js`), localeGlobalFile),
44+
fs.promises.writeFile(join(outputDir, `${locale}.mts`), localeFile),
45+
fs.promises.writeFile(join(extraLocaleDir, `${locale}.mts`), localeExtraFile),
46+
fs.promises.writeFile(join(globalLocaleDir, `${locale}.mjs`), localeGlobalFile),
4747
];
4848
}),
4949
);

packages/common/locales/index.bzl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
load("@cldr_json_data//:index.bzl", _ALL_CLDR_LOCALES = "LOCALES")
21
load("@build_bazel_rules_nodejs//:index.bzl", "npm_package_bin")
2+
load("@cldr_json_data//:index.bzl", _ALL_CLDR_LOCALES = "LOCALES")
33

44
# List of locales the tool can generate files for.
55
LOCALES = _ALL_CLDR_LOCALES
@@ -50,9 +50,9 @@ def generate_all_locale_files(name, **kwargs):
5050

5151
for locale in LOCALES:
5252
locale_files += [
53-
"%s.ts" % locale,
54-
"global/%s.js" % locale,
55-
"extra/%s.ts" % locale,
53+
"%s.mts" % locale,
54+
"global/%s.mjs" % locale,
55+
"extra/%s.mts" % locale,
5656
]
5757

5858
npm_package_bin(

packages/common/locales/tsconfig.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "../../tsconfig-build.json",
3+
"compilerOptions": {
4+
"types": ["node"],
5+
}
6+
}

packages/common/test/i18n/format_date_spec.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
* Use of this source code is governed by an MIT-style license that can be
66
* found in the LICENSE file at https://angular.dev/license
77
*/
8-
import localeAr from '../../locales/ar';
9-
import localeDe from '../../locales/de';
10-
import localeEn from '../../locales/en';
11-
import localeEnExtra from '../../locales/extra/en';
12-
import localeFi from '../../locales/fi';
13-
import localeHu from '../../locales/hu';
14-
import localeSr from '../../locales/sr';
15-
import localeTh from '../../locales/th';
8+
import localeAr from '../../locales/ar.mjs';
9+
import localeDe from '../../locales/de.mjs';
10+
import localeEn from '../../locales/en.mjs';
11+
import localeEnExtra from '../../locales/extra/en.mjs';
12+
import localeFi from '../../locales/fi.mjs';
13+
import localeHu from '../../locales/hu.mjs';
14+
import localeSr from '../../locales/sr.mjs';
15+
import localeTh from '../../locales/th.mjs';
1616
import {formatDate, getThursdayThisIsoWeek, isDate, toDate} from '../../src/i18n/format_date';
1717
import {ɵDEFAULT_LOCALE_ID, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
1818

packages/common/test/i18n/format_number_spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
*/
88

99
import {formatCurrency, formatNumber, formatPercent} from '../../index';
10-
import localeAr from '../../locales/ar';
11-
import localeEn from '../../locales/en';
12-
import localeEsUS from '../../locales/es-US';
13-
import localeFr from '../../locales/fr';
10+
import localeAr from '../../locales/ar.mjs';
11+
import localeEn from '../../locales/en.mjs';
12+
import localeEsUS from '../../locales/es-US.mjs';
13+
import localeFr from '../../locales/fr.mjs';
1414
import {ɵDEFAULT_LOCALE_ID, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
1515

1616
describe('Format number', () => {

packages/common/test/i18n/locale_data_api_spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import localeEn from '../../locales/en';
10-
import localeEnAU from '../../locales/en-AU';
11-
import localeFr from '../../locales/fr';
12-
import localeHe from '../../locales/he';
13-
import localeZh from '../../locales/zh';
9+
import localeEn from '../../locales/en.mjs';
10+
import localeEnAU from '../../locales/en-AU.mjs';
11+
import localeFr from '../../locales/fr.mjs';
12+
import localeHe from '../../locales/he.mjs';
13+
import localeZh from '../../locales/zh.mjs';
1414
import {ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
1515

1616
import {

packages/common/test/i18n/localization_spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import localeFr from '../../locales/fr';
10-
import localeRo from '../../locales/ro';
11-
import localeSr from '../../locales/sr';
12-
import localeZgh from '../../locales/zgh';
9+
import localeFr from '../../locales/fr.mjs';
10+
import localeRo from '../../locales/ro.mjs';
11+
import localeSr from '../../locales/sr.mjs';
12+
import localeZgh from '../../locales/zgh.mjs';
1313
import {getPluralCategory, NgLocaleLocalization, NgLocalization} from '../../src/i18n/localization';
1414
import {LOCALE_ID, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
1515
import {inject, TestBed} from '@angular/core/testing';

packages/common/test/pipes/date_pipe_spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
*/
88

99
import {DATE_PIPE_DEFAULT_OPTIONS, DatePipe} from '../../index';
10-
import localeEn from '../../locales/en';
11-
import localeEnExtra from '../../locales/extra/en';
10+
import localeEn from '../../locales/en.mjs';
11+
import localeEnExtra from '../../locales/extra/en.mjs';
1212
import {Component, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
1313
import {TestBed} from '@angular/core/testing';
1414

packages/common/test/pipes/number_pipe_spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
*/
88

99
import {CurrencyPipe, DecimalPipe, PercentPipe} from '../../index';
10-
import localeAr from '../../locales/ar';
11-
import localeDa from '../../locales/da';
12-
import localeDeAt from '../../locales/de-AT';
13-
import localeEn from '../../locales/en';
14-
import localeEsUS from '../../locales/es-US';
15-
import localeFr from '../../locales/fr';
10+
import localeAr from '../../locales/ar.mjs';
11+
import localeDa from '../../locales/da.mjs';
12+
import localeDeAt from '../../locales/de-AT.mjs';
13+
import localeEn from '../../locales/en.mjs';
14+
import localeEsUS from '../../locales/es-US.mjs';
15+
import localeFr from '../../locales/fr.mjs';
1616
import {Component, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
1717
import {TestBed} from '@angular/core/testing';
1818

packages/core/test/acceptance/i18n_spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import '@angular/localize/init';
1111

1212
import {CommonModule, DOCUMENT, registerLocaleData} from '@angular/common';
13-
import localeEs from '@angular/common/locales/es';
14-
import localeRo from '@angular/common/locales/ro';
13+
import localeEs from '@angular/common/locales/es.mjs';
14+
import localeRo from '@angular/common/locales/ro.mjs';
1515
import {computeMsgId} from '@angular/compiler';
1616
import {
1717
Attribute,

tools/defaults2.bzl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ def _determine_tsconfig(testonly):
2828
if native.package_name().startswith("packages/language-service"):
2929
return "//packages:tsconfig_test" if testonly else "//packages/language-service:tsconfig_build"
3030

31+
if native.package_name().startswith("packages/common/locales"):
32+
return "//packages:tsconfig_test" if testonly else "//packages/common/locales:tsconfig_build"
33+
3134
if native.package_name().startswith("packages"):
3235
return "//packages:tsconfig_test" if testonly else "//packages:tsconfig_build"
3336

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy