diff --git a/.eslintrc.js b/.eslintrc.js
index 8ab899ae5f1..26c86424233 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -24,13 +24,13 @@ module.exports = defineConfig({
sourceType: 'module',
warnOnUnsupportedTypeScriptVersion: false,
},
- plugins: ['@typescript-eslint', 'prettier'],
+ plugins: ['@typescript-eslint', 'prettier', 'deprecation'],
rules: {
// We may want to use this in the future
'no-useless-escape': 'off',
+ 'deprecation/deprecation': 'error',
eqeqeq: ['error', 'always', { null: 'ignore' }],
'prefer-template': 'error',
-
'@typescript-eslint/array-type': [
'error',
{ default: 'array-simple', readonly: 'generic' },
@@ -88,6 +88,7 @@ module.exports = defineConfig({
{
files: ['test/*.spec.ts'],
rules: {
+ 'deprecation/deprecation': 'off',
'@typescript-eslint/restrict-template-expressions': [
'error',
{
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 988d8cd5a07..8ec56cca333 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,3 +1,5 @@
-
+
-
+
+
+
diff --git a/.github/workflows/commentCodeGeneration.ts b/.github/workflows/commentCodeGeneration.ts
index 74a8092735a..f456e563a4e 100644
--- a/.github/workflows/commentCodeGeneration.ts
+++ b/.github/workflows/commentCodeGeneration.ts
@@ -21,7 +21,7 @@ module.exports = async (
issue_number: context.issue.number,
});
- const body = `Uncommitted changes were detected after runnning generate:*
commands.\nPlease run pnpm run generate:locales
, pnpm run generate:api-docs
, and pnpm run test -u
to generate/update the related files, and commit them.`;
+ const body = `Uncommitted changes were detected after runnning generate:*
commands.\nPlease run pnpm run preflight
to generate/update the related files, and commit them.`;
const botComment = comments.find(
(comment) => comment.user?.type === 'Bot' && comment.body?.includes(body)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 665030879d5..35ed17d11fe 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,7 +4,7 @@ If you want to make `Faker` a better, please read the following contribution gui
# Important
-- Please make sure that you run `pnpm install`, `pnpm run build` and `pnpm run test` before making a PR to ensure that everything is working from the start.
+Please make sure that you run `pnpm run preflight` before making a PR to ensure that everything is working from the start.
## Good to know
@@ -21,6 +21,15 @@ The sources are located in the [src](src) directory.
All fake data generators are divided into namespaces (each namespace being a separate module).
Most of the generators use the _definitions_, which are just plain JavaScript objects/arrays/strings that are separate for each [locale](src/locales).
+## Sourcing data for definitions
+
+If adding new data definitions to Faker, you'll often need to find source data. Note that:
+
+- Faker must not contain copyrighted materials.
+- Facts cannot be copyrighted, so if you are adding or translating a finite, known, list of things such as the names of chemical elements into another language, that's OK.
+- But if you are compiling a list of, for example, popular personal names or cities, don't copy directly from a single source (Wikipedia, 'most popular' articles, government data sites etc). A compilation of facts [can be copyrighted](https://en.wikipedia.org/wiki/Copyright_in_compilation).
+- It's best to refer to multiple sources and use your own judgement/knowledge to make a sample list of data.
+
## Building Faker
The project is being built by [esbuild](https://esbuild.github.io) (see [bundle.ts](scripts/bundle.ts))
diff --git a/README.md b/README.md
index 01cb6d103fc..5aea0cea14f 100644
--- a/README.md
+++ b/README.md
@@ -10,18 +10,17 @@
[![Chat on Discord](https://img.shields.io/badge/chat-discord-blue?style=flat&logo=discord)](https://chat.fakerjs.dev)
[![Open Collective](https://img.shields.io/opencollective/backers/fakerjs)](https://opencollective.com/fakerjs#section-contributors)
[![sponsor](https://img.shields.io/opencollective/all/fakerjs?label=sponsors)](https://opencollective.com/fakerjs)
-
## ⚡️ Try it Online
-[![](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://fakerjs.dev/new)
+[Open in StackBlitz](https://fakerjs.dev/new)
-[API Documentation](https://fakerjs.dev/guide/)
+## 📙 API Documentation
----
+[Guide - Getting started](https://fakerjs.dev/guide/)
-Please select the version of the documentation you are looking for.
+For detailed API documentation, please select the version of the documentation you are looking for.
| Version | Github | Website |
| :-----: | :----------------------------------------------------: | :------------------------ |
@@ -57,10 +56,11 @@ npm install --save-dev @faker-js/faker
## 🪄 Usage
```ts
+// ESM
import { faker } from '@faker-js/faker';
-// import { faker } from '@faker-js/faker/locale/de';
-export const USERS: User[] = [];
+// CJS
+const { faker } = require('@faker-js/faker');
export function createRandomUser(): User {
return {
@@ -74,8 +74,8 @@ export function createRandomUser(): User {
};
}
-Array.from({ length: 10 }).forEach(() => {
- USERS.push(createRandomUser());
+export const USERS: User[] = faker.helpers.multiple(generateRandomUser, {
+ count: 5,
});
```
@@ -111,7 +111,6 @@ The API covers the following modules:
| Music | `faker.music.genre()` | R&B |
| Person | `faker.person.firstName()` | Cameron |
| Phone | `faker.phone.phoneNumber()` | +1 291-299-0192 |
-| Random | `faker.random.locale()` | fr_CA |
| Science | `faker.science.unit()` | `{ name: 'meter', symbol: 'm' }` |
| System | `faker.system.directoryPath()` | /root |
| Vehicle | `faker.vehicle.vehicle()` | Lamborghini Camry |
@@ -133,18 +132,30 @@ console.log(
Faker has support for multiple locales.
-The default language locale is set to English.
-
-Setting a new locale is simple:
+The main `faker` instance uses the English locale.
+But you can also import instances using other locales.
```ts
-// sets locale to de
-faker.locale = 'de';
+// ESM
+import { fakerDE as faker } from '@faker-js/faker';
+
+// CJS
+const { fakerDE: faker } = require('@faker-js/faker');
```
-See our documentation for a list of [provided languages](https://fakerjs.dev/guide/localization.html#available-locales)
+See our documentation for a list of [provided languages](https://fakerjs.dev/guide/localization.html#available-locales).
+
+Please note: Not every locale provides data for every module. In our pre-made faker instances,
+we fall back to English in such a case as this is the most complete and most commonly used language.
+If you don't want that or prefer a different fallback, you can also build your own instances.
-Please note: not every locale provides data for every module. In our pre-made locales, we fallback to English in such a case as this is the most complete and most commonly used language.
+```ts
+import { Faker, de, de_CH } from '@faker-js/faker';
+
+export const faker = new Faker({
+ locale: [de_CH, de],
+});
+```
## ⚙️ Setting a randomness seed
diff --git a/docs/.vitepress/components/api-docs/method.ts b/docs/.vitepress/components/api-docs/method.ts
index 52cb24957bf..562d1ecf8d9 100644
--- a/docs/.vitepress/components/api-docs/method.ts
+++ b/docs/.vitepress/components/api-docs/method.ts
@@ -5,7 +5,7 @@ export interface Method {
readonly parameters: MethodParameter[];
readonly returns: string;
readonly examples: string; // HTML
- readonly deprecated: boolean;
+ readonly deprecated?: string; // HTML
readonly since: string;
readonly sourcePath: string; // URL-Suffix
readonly seeAlsos: string[];
diff --git a/docs/.vitepress/components/api-docs/method.vue b/docs/.vitepress/components/api-docs/method.vue
index 8bff111f36a..6753cefd733 100644
--- a/docs/.vitepress/components/api-docs/method.vue
+++ b/docs/.vitepress/components/api-docs/method.vue
@@ -17,6 +17,7 @@ function seeAlsoToUrl(see: string): string {
Deprecated
This method is deprecated and will be removed in a future version.
+Complex array parameter.
", - "examples": "faker.complexArrayParameter<T>(array: readonly Array<{
+ "examples": "tsfaker.complexArrayParameter<T>(array: readonly Array<{
value: T,
weight: number
}>): T
@@ -51,10 +51,10 @@ exports[`signature > analyzeSignature() > complexArrayParameter 1`] = `
exports[`signature > analyzeSignature() > defaultBooleanParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a default parameter.
",
- "examples": "tsfaker.defaultBooleanParamMethod(c: boolean = true): number
+ "examples": "tsfaker.defaultBooleanParamMethod(c: boolean = true): number
",
"name": "defaultBooleanParamMethod",
@@ -100,10 +100,10 @@ exports[`signature > analyzeSignature() > expected and actual methods are equal
exports[`signature > analyzeSignature() > functionParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a function parameters.
",
- "examples": "tsfaker.functionParamMethod(fn: (a: string) => number): number
+ "examples": "tsfaker.functionParamMethod(fn: (a: string) => number): number
",
"name": "functionParamMethod",
@@ -126,10 +126,10 @@ exports[`signature > analyzeSignature() > functionParamMethod 1`] = `
exports[`signature > analyzeSignature() > literalUnionParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with LiteralUnion.
",
- "examples": "tsfaker.literalUnionParamMethod(value: 'a' | 'b' | string, namedValue: AB | string, array: readonly Array<'a' | 'b' | string>, namedArray: readonly Array<AB | string>, mixed: 'a' | 'b' | string | readonly Array<'a' | 'b' | string>, namedMixed: AB | string | readonly Array<AB | string>): string
+ "examples": "tsfaker.literalUnionParamMethod(value: 'a' | 'b' | string, namedValue: AB | string, array: readonly Array<'a' | 'b' | string>, namedArray: readonly Array<AB | string>, mixed: 'a' | 'b' | string | readonly Array<'a' | 'b' | string>, namedMixed: AB | string | readonly Array<AB | string>): string
",
"name": "literalUnionParamMethod",
@@ -187,10 +187,11 @@ exports[`signature > analyzeSignature() > literalUnionParamMethod 1`] = `
exports[`signature > analyzeSignature() > methodWithDeprecated 1`] = `
{
- "deprecated": true,
+ "deprecated": "do something else
+",
"description": "Test with deprecated and see marker.
",
- "examples": "tsfaker.methodWithDeprecated(): number
+ "examples": "tsfaker.methodWithDeprecated(): number
",
"name": "methodWithDeprecated",
@@ -207,10 +208,10 @@ exports[`signature > analyzeSignature() > methodWithDeprecated 1`] = `
exports[`signature > analyzeSignature() > methodWithExample 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with example marker.
",
- "examples": "tsfaker.methodWithExample(): number
+ "examples": "tsfaker.methodWithExample(): number
test.apidoc.methodWithExample() // 0
",
@@ -226,10 +227,10 @@ exports[`signature > analyzeSignature() > methodWithExample 1`] = `
exports[`signature > analyzeSignature() > methodWithMultipleSeeMarkers 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with multiple see markers.
",
- "examples": "tsfaker.methodWithMultipleSeeMarkers(): number
+ "examples": "tsfaker.methodWithMultipleSeeMarkers(): number
",
"name": "methodWithMultipleSeeMarkers",
@@ -247,10 +248,10 @@ exports[`signature > analyzeSignature() > methodWithMultipleSeeMarkers 1`] = `
exports[`signature > analyzeSignature() > methodWithMultipleSeeMarkersAndBackticks 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with multiple see markers and backticks.
",
- "examples": "tsfaker.methodWithMultipleSeeMarkersAndBackticks(): number
+ "examples": "tsfaker.methodWithMultipleSeeMarkersAndBackticks(): number
",
"name": "methodWithMultipleSeeMarkersAndBackticks",
@@ -268,10 +269,10 @@ exports[`signature > analyzeSignature() > methodWithMultipleSeeMarkersAndBacktic
exports[`signature > analyzeSignature() > methodWithSinceMarker 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with since marker.
",
- "examples": "tsfaker.methodWithSinceMarker(): number
+ "examples": "tsfaker.methodWithSinceMarker(): number
",
"name": "methodWithSinceMarker",
@@ -286,10 +287,10 @@ exports[`signature > analyzeSignature() > methodWithSinceMarker 1`] = `
exports[`signature > analyzeSignature() > multiParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with multiple parameters.
",
- "examples": "tsfaker.multiParamMethod(a: number, b?: string, c: boolean = true): number
+ "examples": "tsfaker.multiParamMethod(a: number, b?: string, c: boolean = true): number
",
"name": "multiParamMethod",
@@ -326,10 +327,10 @@ exports[`signature > analyzeSignature() > multiParamMethod 1`] = `
exports[`signature > analyzeSignature() > noParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with no parameters.
",
- "examples": "tsfaker.noParamMethod(): number
+ "examples": "tsfaker.noParamMethod(): number
",
"name": "noParamMethod",
@@ -344,10 +345,10 @@ exports[`signature > analyzeSignature() > noParamMethod 1`] = `
exports[`signature > analyzeSignature() > optionalStringParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with an optional parameter.
",
- "examples": "tsfaker.optionalStringParamMethod(b?: string): number
+ "examples": "tsfaker.optionalStringParamMethod(b?: string): number
",
"name": "optionalStringParamMethod",
@@ -370,10 +371,10 @@ exports[`signature > analyzeSignature() > optionalStringParamMethod 1`] = `
exports[`signature > analyzeSignature() > optionsInlineParamMethodWithDefaults 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a function parameters (inline types) with defaults.
",
- "examples": "tsfaker.optionsInlineParamMethodWithDefaults(a: {
+ "examples": "tsfaker.optionsInlineParamMethodWithDefaults(a: {
value: number
} = { value: 1 }, b: {
value: number
@@ -439,10 +440,10 @@ It also has a more complex description.
exports[`signature > analyzeSignature() > optionsInterfaceParamMethodWithDefaults 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a function parameters with defaults.
",
- "examples": "tsfaker.optionsInterfaceParamMethodWithDefaults(a: ParameterOptionsInterfaceA = { value: 1 }, b: ParameterOptionsInterfaceB = { value: 1 }, c: ParameterOptionsInterfaceC): number
+ "examples": "tsfaker.optionsInterfaceParamMethodWithDefaults(a: ParameterOptionsInterfaceA = { value: 1 }, b: ParameterOptionsInterfaceB = { value: 1 }, c: ParameterOptionsInterfaceC): number
",
"name": "optionsInterfaceParamMethodWithDefaults",
@@ -479,10 +480,10 @@ exports[`signature > analyzeSignature() > optionsInterfaceParamMethodWithDefault
exports[`signature > analyzeSignature() > optionsParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a function parameters.
",
- "examples": "tsfaker.optionsParamMethod(options: {
+ "examples": "tsfaker.optionsParamMethod(options: {
a: number,
b: string,
c: boolean,
@@ -538,10 +539,10 @@ exports[`signature > analyzeSignature() > optionsParamMethod 1`] = `
exports[`signature > analyzeSignature() > optionsTypeParamMethodWithDefaults 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a function parameters with defaults.
",
- "examples": "tsfaker.optionsTypeParamMethodWithDefaults(a: ParameterOptionsTypeA = { value: 1 }, b: ParameterOptionsTypeB = { value: 1 }, c: ParameterOptionsTypeC): number
+ "examples": "tsfaker.optionsTypeParamMethodWithDefaults(a: ParameterOptionsTypeA = { value: 1 }, b: ParameterOptionsTypeB = { value: 1 }, c: ParameterOptionsTypeC): number
",
"name": "optionsTypeParamMethodWithDefaults",
@@ -578,10 +579,10 @@ exports[`signature > analyzeSignature() > optionsTypeParamMethodWithDefaults 1`]
exports[`signature > analyzeSignature() > requiredNumberParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with a required parameter.
",
- "examples": "tsfaker.requiredNumberParamMethod(a: number): number
+ "examples": "tsfaker.requiredNumberParamMethod(a: number): number
",
"name": "requiredNumberParamMethod",
@@ -604,10 +605,10 @@ exports[`signature > analyzeSignature() > requiredNumberParamMethod 1`] = `
exports[`signature > analyzeSignature() > stringUnionParamMethod 1`] = `
{
- "deprecated": false,
+ "deprecated": undefined,
"description": "Test with string union.
",
- "examples": "tsfaker.stringUnionParamMethod(value: 'a' | 'b'): string
+ "examples": "tsfaker.stringUnionParamMethod(value: 'a' | 'b'): string
",
"name": "stringUnionParamMethod",
diff --git a/test/scripts/apidoc/examplesAndDeprecations.spec.ts b/test/scripts/apidoc/examplesAndDeprecations.spec.ts
index 8d6124e0321..5ff635b202c 100644
--- a/test/scripts/apidoc/examplesAndDeprecations.spec.ts
+++ b/test/scripts/apidoc/examplesAndDeprecations.spec.ts
@@ -15,13 +15,12 @@ import {
initMarkdownRenderer,
} from '../../../scripts/apidoc/signature';
import {
+ extractDeprecated,
extractRawExamples,
extractSeeAlsos,
extractSince,
extractTagContent,
- isDeprecated,
} from '../../../scripts/apidoc/typedoc';
-import { faker } from '../../../src';
import { loadProjectModules } from './utils';
/*
@@ -30,12 +29,6 @@ import { loadProjectModules } from './utils';
* - and running these do not log anything, unless the method is deprecated
*/
-const locales: Record = {
- GH: 'en_GH',
- US: 'en_US',
- DE: 'de',
-};
-
beforeAll(initMarkdownRenderer);
describe('examples and deprecations', () => {
@@ -46,7 +39,6 @@ describe('examples and deprecations', () => {
.map((methodName) => vi.spyOn(console, methodName as keyof typeof console));
afterAll(() => {
- faker.locale = 'en';
for (const spy of consoleSpies) {
spy.mockRestore();
}
@@ -54,7 +46,6 @@ describe('examples and deprecations', () => {
describe.each(Object.entries(modules))('%s', (moduleName, methodsByName) => {
beforeEach(() => {
- faker.locale = 'en';
for (const spy of consoleSpies) {
spy.mockReset();
}
@@ -65,11 +56,7 @@ describe('examples and deprecations', () => {
'%s',
async (methodName, signature) => {
// Extract examples and make them runnable
- let examples = extractRawExamples(signature).join('').trim();
- examples = examples.replace(
- /faker([A-Z]{2})\./g,
- (_, locale: string) => `faker.locale = '${locales[locale]}';\nfaker.`
- );
+ const examples = extractRawExamples(signature).join('').trim();
expect(
examples,
@@ -80,16 +67,19 @@ describe('examples and deprecations', () => {
const dir = resolve(__dirname, 'temp', moduleName);
mkdirSync(dir, { recursive: true });
const path = resolve(dir, `${methodName}.ts`);
+ const imports = [...new Set(examples.match(/faker[^\.]*(?=\.)/g))];
writeFileSync(
path,
- `import { faker } from '../../../../../src';\n${examples}`
+ `import { ${imports.join(
+ ', '
+ )} } from '../../../../../src';\n\n${examples}`
);
// Run the examples
await import(path);
// Verify logging
- const deprecatedFlag = isDeprecated(signature);
+ const deprecatedFlag = extractDeprecated(signature) !== undefined;
if (deprecatedFlag) {
expect(consoleSpies[1]).toHaveBeenCalled();
expect(
diff --git a/test/scripts/apidoc/signature.example.ts b/test/scripts/apidoc/signature.example.ts
index 26c35923c6e..13372ffb159 100644
--- a/test/scripts/apidoc/signature.example.ts
+++ b/test/scripts/apidoc/signature.example.ts
@@ -249,7 +249,7 @@ export class SignatureTest {
*
* @see test.apidoc.methodWithExample()
*
- * @deprecated
+ * @deprecated do something else
*/
methodWithDeprecated(): number {
return 0;
diff --git a/test/support/seededRuns.ts b/test/support/seededRuns.ts
index 2c1cbab775a..11085ddffa3 100644
--- a/test/support/seededRuns.ts
+++ b/test/support/seededRuns.ts
@@ -130,7 +130,6 @@ class TestGenerator<
*/
setup(): void {
this.faker.seed(this.seed);
- this.faker.locale = 'en';
}
/**
@@ -201,7 +200,7 @@ class TestGenerator<
vi_it(method, () =>
this.callAndVerify(
method,
- [] as Parameters,
+ [] as unknown as Parameters,
repetitions
)
);
diff --git a/test/system.spec.ts b/test/system.spec.ts
index fc36ce7859a..67d7acf4deb 100644
--- a/test/system.spec.ts
+++ b/test/system.spec.ts
@@ -1,16 +1,12 @@
import validator from 'validator';
-import { afterEach, describe, expect, it } from 'vitest';
-import { faker } from '../src';
+import { describe, expect, it } from 'vitest';
+import { faker, fakerSK } from '../src';
import { seededTests } from './support/seededRuns';
import { times } from './support/times';
const NON_SEEDED_BASED_RUN = 5;
describe('system', () => {
- afterEach(() => {
- faker.locale = 'en';
- });
-
seededTests(faker, 'system', (t) => {
t.itEach(
'commonFileExt',
@@ -422,15 +418,10 @@ describe('system', () => {
describe('extra tests', () => {
describe('commonFileName()', () => {
- afterEach(() => {
- faker.locale = 'en';
- });
-
it('#770', () => {
- faker.seed(5423027051750305);
- faker.setLocale('sk');
- faker.system.commonFileName('xml');
- faker.system.commonFileName('xml');
+ fakerSK.seed(5423027051750305);
+ fakerSK.system.commonFileName('xml');
+ fakerSK.system.commonFileName('xml');
});
});
});
diff --git a/test/vehicle.spec.ts b/test/vehicle.spec.ts
index bc86f0bbcfd..282626471df 100644
--- a/test/vehicle.spec.ts
+++ b/test/vehicle.spec.ts
@@ -1,14 +1,10 @@
-import { afterEach, describe, expect, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { faker } from '../src';
import { seededTests } from './support/seededRuns';
const NON_SEEDED_BASED_RUN = 5;
describe('vehicle', () => {
- afterEach(() => {
- faker.locale = 'en';
- });
-
seededTests(faker, 'vehicle', (t) => {
t.itEach(
'vehicle',
diff --git a/test/word.spec.ts b/test/word.spec.ts
index 14ac3aaebba..adf7f5309aa 100644
--- a/test/word.spec.ts
+++ b/test/word.spec.ts
@@ -1,4 +1,4 @@
-import { afterEach, describe, expect, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { faker } from '../src';
import { filterWordListByLength } from '../src/modules/word/filterWordListByLength';
import { seededTests } from './support/seededRuns';
@@ -6,10 +6,6 @@ import { seededTests } from './support/seededRuns';
const NON_SEEDED_BASED_RUN = 5;
describe('word', () => {
- afterEach(() => {
- faker.locale = 'en';
- });
-
seededTests(faker, 'word', (t) => {
t.describeEach(
'adjective',
diff --git a/tsconfig.json b/tsconfig.json
index f96902ebaf3..d201dfd1ea2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -8,12 +8,9 @@
"esModuleInterop": true,
"allowJs": true,
"alwaysStrict": true,
- // "strictNullChecks": true,
- // "strictBindCallApply": true,
"strictFunctionTypes": true,
- // "strictPropertyInitialization": true,
- // "noImplicitAny": true,
- // "noImplicitThis": true,
+ "noImplicitAny": true,
+ "noImplicitThis": true,
"useUnknownInCatchVariables": true,
"stripInternal": true,
"baseUrl": "."