Skip to content

Commit 7d59cd9

Browse files
authored
infra(unicorn): prefer-export-from (#3272)
1 parent 176d430 commit 7d59cd9

File tree

7 files changed

+160
-156
lines changed

7 files changed

+160
-156
lines changed

eslint.config.ts

-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ const config: ReturnType<typeof tseslint.config> = tseslint.config(
162162

163163
// TODO @Shinigami92 2023-09-23: The following rules currently conflict with our code.
164164
// Each rule should be checked whether it should be enabled/configured and the problems fixed, or stay disabled permanently.
165-
'unicorn/prefer-export-from': 'off',
166165
'unicorn/prevent-abbreviations': 'off',
167166
},
168167
},

scripts/generate-locales.ts

+11-5
Original file line numberDiff line numberDiff line change
@@ -427,10 +427,14 @@ async function normalizeLocaleFile(filePath: string, definitionKey: string) {
427427
const locales = await readdir(pathLocales);
428428
removeIndexTs(locales);
429429

430+
// src/locale/index.ts (Faker Imports and Exports)
430431
let localeIndexImports = '';
431432
let localeIndexExportsIndividual = '';
432433
let localeIndexExportsGrouped = '';
434+
// src/locales/index.ts (Locale Data Imports and Exports)
433435
let localesIndexImports = '';
436+
let localesIndexExportsIndividual = '';
437+
let localesIndexExportsGrouped = '';
434438

435439
let localizationLocales = '| Locale | Name | Faker |\n| :--- | :--- | :--- |\n';
436440
const promises: Array<Promise<unknown>> = [];
@@ -459,9 +463,11 @@ for (const locale of locales) {
459463
)}`;
460464

461465
localeIndexImports += `import { faker as ${localizedFaker} } from './${locale}';\n`;
462-
localeIndexExportsIndividual += ` ${localizedFaker},\n`;
466+
localeIndexExportsIndividual += `export { faker as ${localizedFaker} } from './${locale}';\n`;
463467
localeIndexExportsGrouped += ` ${locale}: ${localizedFaker},\n`;
464468
localesIndexImports += `import { default as ${locale} } from './${locale}';\n`;
469+
localesIndexExportsIndividual += `export { default as ${locale} } from './${locale}';\n`;
470+
localesIndexExportsGrouped += ` ${locale},\n`;
465471
localizationLocales += `| \`${locale}\` | ${localeTitle} | \`${localizedFaker}\` |\n`;
466472

467473
promises.push(
@@ -484,9 +490,7 @@ let localeIndexContent = `
484490
485491
${localeIndexImports}
486492
487-
export {
488493
${localeIndexExportsIndividual}
489-
};
490494
491495
export const allFakers = {
492496
${localeIndexExportsGrouped}
@@ -503,9 +507,11 @@ let localesIndexContent = `
503507
504508
${localesIndexImports}
505509
506-
export { ${locales.join(',')} };
510+
${localesIndexExportsIndividual}
507511
508-
export const allLocales = { ${locales.join(',')} };
512+
export const allLocales = {
513+
${localesIndexExportsGrouped}
514+
} as const;
509515
`;
510516

511517
localesIndexContent = await formatTypescript(localesIndexContent);

src/locale/index.ts

+69-71
Original file line numberDiff line numberDiff line change
@@ -73,77 +73,75 @@ import { faker as fakerZH_CN } from './zh_CN';
7373
import { faker as fakerZH_TW } from './zh_TW';
7474
import { faker as fakerZU_ZA } from './zu_ZA';
7575

76-
export {
77-
fakerAF_ZA,
78-
fakerAR,
79-
fakerAZ,
80-
fakerBASE,
81-
fakerCS_CZ,
82-
fakerDA,
83-
fakerDE,
84-
fakerDE_AT,
85-
fakerDE_CH,
86-
fakerDV,
87-
fakerEL,
88-
fakerEN,
89-
fakerEN_AU,
90-
fakerEN_AU_ocker,
91-
fakerEN_BORK,
92-
fakerEN_CA,
93-
fakerEN_GB,
94-
fakerEN_GH,
95-
fakerEN_HK,
96-
fakerEN_IE,
97-
fakerEN_IN,
98-
fakerEN_NG,
99-
fakerEN_US,
100-
fakerEN_ZA,
101-
fakerEO,
102-
fakerES,
103-
fakerES_MX,
104-
fakerFA,
105-
fakerFI,
106-
fakerFR,
107-
fakerFR_BE,
108-
fakerFR_CA,
109-
fakerFR_CH,
110-
fakerFR_LU,
111-
fakerFR_SN,
112-
fakerHE,
113-
fakerHR,
114-
fakerHU,
115-
fakerHY,
116-
fakerID_ID,
117-
fakerIT,
118-
fakerJA,
119-
fakerKA_GE,
120-
fakerKO,
121-
fakerLV,
122-
fakerMK,
123-
fakerNB_NO,
124-
fakerNE,
125-
fakerNL,
126-
fakerNL_BE,
127-
fakerPL,
128-
fakerPT_BR,
129-
fakerPT_PT,
130-
fakerRO,
131-
fakerRO_MD,
132-
fakerRU,
133-
fakerSK,
134-
fakerSR_RS_latin,
135-
fakerSV,
136-
fakerTH,
137-
fakerTR,
138-
fakerUK,
139-
fakerUR,
140-
fakerUZ_UZ_latin,
141-
fakerVI,
142-
fakerYO_NG,
143-
fakerZH_CN,
144-
fakerZH_TW,
145-
fakerZU_ZA,
146-
};
76+
export { faker as fakerAF_ZA } from './af_ZA';
77+
export { faker as fakerAR } from './ar';
78+
export { faker as fakerAZ } from './az';
79+
export { faker as fakerBASE } from './base';
80+
export { faker as fakerCS_CZ } from './cs_CZ';
81+
export { faker as fakerDA } from './da';
82+
export { faker as fakerDE } from './de';
83+
export { faker as fakerDE_AT } from './de_AT';
84+
export { faker as fakerDE_CH } from './de_CH';
85+
export { faker as fakerDV } from './dv';
86+
export { faker as fakerEL } from './el';
87+
export { faker as fakerEN } from './en';
88+
export { faker as fakerEN_AU } from './en_AU';
89+
export { faker as fakerEN_AU_ocker } from './en_AU_ocker';
90+
export { faker as fakerEN_BORK } from './en_BORK';
91+
export { faker as fakerEN_CA } from './en_CA';
92+
export { faker as fakerEN_GB } from './en_GB';
93+
export { faker as fakerEN_GH } from './en_GH';
94+
export { faker as fakerEN_HK } from './en_HK';
95+
export { faker as fakerEN_IE } from './en_IE';
96+
export { faker as fakerEN_IN } from './en_IN';
97+
export { faker as fakerEN_NG } from './en_NG';
98+
export { faker as fakerEN_US } from './en_US';
99+
export { faker as fakerEN_ZA } from './en_ZA';
100+
export { faker as fakerEO } from './eo';
101+
export { faker as fakerES } from './es';
102+
export { faker as fakerES_MX } from './es_MX';
103+
export { faker as fakerFA } from './fa';
104+
export { faker as fakerFI } from './fi';
105+
export { faker as fakerFR } from './fr';
106+
export { faker as fakerFR_BE } from './fr_BE';
107+
export { faker as fakerFR_CA } from './fr_CA';
108+
export { faker as fakerFR_CH } from './fr_CH';
109+
export { faker as fakerFR_LU } from './fr_LU';
110+
export { faker as fakerFR_SN } from './fr_SN';
111+
export { faker as fakerHE } from './he';
112+
export { faker as fakerHR } from './hr';
113+
export { faker as fakerHU } from './hu';
114+
export { faker as fakerHY } from './hy';
115+
export { faker as fakerID_ID } from './id_ID';
116+
export { faker as fakerIT } from './it';
117+
export { faker as fakerJA } from './ja';
118+
export { faker as fakerKA_GE } from './ka_GE';
119+
export { faker as fakerKO } from './ko';
120+
export { faker as fakerLV } from './lv';
121+
export { faker as fakerMK } from './mk';
122+
export { faker as fakerNB_NO } from './nb_NO';
123+
export { faker as fakerNE } from './ne';
124+
export { faker as fakerNL } from './nl';
125+
export { faker as fakerNL_BE } from './nl_BE';
126+
export { faker as fakerPL } from './pl';
127+
export { faker as fakerPT_BR } from './pt_BR';
128+
export { faker as fakerPT_PT } from './pt_PT';
129+
export { faker as fakerRO } from './ro';
130+
export { faker as fakerRO_MD } from './ro_MD';
131+
export { faker as fakerRU } from './ru';
132+
export { faker as fakerSK } from './sk';
133+
export { faker as fakerSR_RS_latin } from './sr_RS_latin';
134+
export { faker as fakerSV } from './sv';
135+
export { faker as fakerTH } from './th';
136+
export { faker as fakerTR } from './tr';
137+
export { faker as fakerUK } from './uk';
138+
export { faker as fakerUR } from './ur';
139+
export { faker as fakerUZ_UZ_latin } from './uz_UZ_latin';
140+
export { faker as fakerVI } from './vi';
141+
export { faker as fakerYO_NG } from './yo_NG';
142+
export { faker as fakerZH_CN } from './zh_CN';
143+
export { faker as fakerZH_TW } from './zh_TW';
144+
export { faker as fakerZU_ZA } from './zu_ZA';
147145

148146
export const allFakers = {
149147
af_ZA: fakerAF_ZA,
+1-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
import timeZone from '../date/time_zone';
2-
31
// The base locale uses any possible time zone.
4-
export default timeZone;
2+
export { default } from '../date/time_zone';

src/locales/hr/location/county.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
// Since first-level administrative regions of Croatia are called "counties" we return them both from the state() and county() methods
2-
import state from './state';
3-
export default state;
2+
export { default } from './state';

src/locales/index.ts

+70-72
Original file line numberDiff line numberDiff line change
@@ -73,77 +73,75 @@ import { default as zh_CN } from './zh_CN';
7373
import { default as zh_TW } from './zh_TW';
7474
import { default as zu_ZA } from './zu_ZA';
7575

76-
export {
77-
af_ZA,
78-
ar,
79-
az,
80-
base,
81-
cs_CZ,
82-
da,
83-
de,
84-
de_AT,
85-
de_CH,
86-
dv,
87-
el,
88-
en,
89-
en_AU,
90-
en_AU_ocker,
91-
en_BORK,
92-
en_CA,
93-
en_GB,
94-
en_GH,
95-
en_HK,
96-
en_IE,
97-
en_IN,
98-
en_NG,
99-
en_US,
100-
en_ZA,
101-
eo,
102-
es,
103-
es_MX,
104-
fa,
105-
fi,
106-
fr,
107-
fr_BE,
108-
fr_CA,
109-
fr_CH,
110-
fr_LU,
111-
fr_SN,
112-
he,
113-
hr,
114-
hu,
115-
hy,
116-
id_ID,
117-
it,
118-
ja,
119-
ka_GE,
120-
ko,
121-
lv,
122-
mk,
123-
nb_NO,
124-
ne,
125-
nl,
126-
nl_BE,
127-
pl,
128-
pt_BR,
129-
pt_PT,
130-
ro,
131-
ro_MD,
132-
ru,
133-
sk,
134-
sr_RS_latin,
135-
sv,
136-
th,
137-
tr,
138-
uk,
139-
ur,
140-
uz_UZ_latin,
141-
vi,
142-
yo_NG,
143-
zh_CN,
144-
zh_TW,
145-
zu_ZA,
146-
};
76+
export { default as af_ZA } from './af_ZA';
77+
export { default as ar } from './ar';
78+
export { default as az } from './az';
79+
export { default as base } from './base';
80+
export { default as cs_CZ } from './cs_CZ';
81+
export { default as da } from './da';
82+
export { default as de } from './de';
83+
export { default as de_AT } from './de_AT';
84+
export { default as de_CH } from './de_CH';
85+
export { default as dv } from './dv';
86+
export { default as el } from './el';
87+
export { default as en } from './en';
88+
export { default as en_AU } from './en_AU';
89+
export { default as en_AU_ocker } from './en_AU_ocker';
90+
export { default as en_BORK } from './en_BORK';
91+
export { default as en_CA } from './en_CA';
92+
export { default as en_GB } from './en_GB';
93+
export { default as en_GH } from './en_GH';
94+
export { default as en_HK } from './en_HK';
95+
export { default as en_IE } from './en_IE';
96+
export { default as en_IN } from './en_IN';
97+
export { default as en_NG } from './en_NG';
98+
export { default as en_US } from './en_US';
99+
export { default as en_ZA } from './en_ZA';
100+
export { default as eo } from './eo';
101+
export { default as es } from './es';
102+
export { default as es_MX } from './es_MX';
103+
export { default as fa } from './fa';
104+
export { default as fi } from './fi';
105+
export { default as fr } from './fr';
106+
export { default as fr_BE } from './fr_BE';
107+
export { default as fr_CA } from './fr_CA';
108+
export { default as fr_CH } from './fr_CH';
109+
export { default as fr_LU } from './fr_LU';
110+
export { default as fr_SN } from './fr_SN';
111+
export { default as he } from './he';
112+
export { default as hr } from './hr';
113+
export { default as hu } from './hu';
114+
export { default as hy } from './hy';
115+
export { default as id_ID } from './id_ID';
116+
export { default as it } from './it';
117+
export { default as ja } from './ja';
118+
export { default as ka_GE } from './ka_GE';
119+
export { default as ko } from './ko';
120+
export { default as lv } from './lv';
121+
export { default as mk } from './mk';
122+
export { default as nb_NO } from './nb_NO';
123+
export { default as ne } from './ne';
124+
export { default as nl } from './nl';
125+
export { default as nl_BE } from './nl_BE';
126+
export { default as pl } from './pl';
127+
export { default as pt_BR } from './pt_BR';
128+
export { default as pt_PT } from './pt_PT';
129+
export { default as ro } from './ro';
130+
export { default as ro_MD } from './ro_MD';
131+
export { default as ru } from './ru';
132+
export { default as sk } from './sk';
133+
export { default as sr_RS_latin } from './sr_RS_latin';
134+
export { default as sv } from './sv';
135+
export { default as th } from './th';
136+
export { default as tr } from './tr';
137+
export { default as uk } from './uk';
138+
export { default as ur } from './ur';
139+
export { default as uz_UZ_latin } from './uz_UZ_latin';
140+
export { default as vi } from './vi';
141+
export { default as yo_NG } from './yo_NG';
142+
export { default as zh_CN } from './zh_CN';
143+
export { default as zh_TW } from './zh_TW';
144+
export { default as zu_ZA } from './zu_ZA';
147145

148146
export const allLocales = {
149147
af_ZA,
@@ -215,4 +213,4 @@ export const allLocales = {
215213
zh_CN,
216214
zh_TW,
217215
zu_ZA,
218-
};
216+
} as const;

test/scripts/apidocs/method.example.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@ import { FakerError } from '../../../src/errors/faker-error';
33
import type { LiteralUnion } from '../../../src/internal/types';
44
import type { AlphaNumericChar } from '../../../src/modules/string';
55
// explicitly export types so they show up in the docs as decomposed types
6-
export type { NumberColorFormat, StringColorFormat } from '../../../src';
7-
export type { AlphaNumericChar, Casing, ColorFormat, LiteralUnion };
6+
export type {
7+
Casing,
8+
ColorFormat,
9+
NumberColorFormat,
10+
StringColorFormat,
11+
} from '../../../src';
12+
export type { LiteralUnion } from '../../../src/internal/types';
13+
export type { AlphaNumericChar } from '../../../src/modules/string';
814

915
/**
1016
* Parameter options type with default from signature.

0 commit comments

Comments
 (0)