From f2613a20eb13f22476fd1d0d717d6e0f9984b567 Mon Sep 17 00:00:00 2001 From: Matt Pocock Date: Mon, 18 Sep 2023 13:08:39 +0100 Subject: [PATCH] 2023-09-18T12:08:39.468Z --- .../212-why-module-nodenext.explainer/package.json | 12 ++++++++++++ .../pnpm-lock.yaml | 5 +++++ .../src/cjs-module.cts | 3 +++ .../src/esm-module.mts | 5 +++++ .../212-why-module-nodenext.explainer/src/index.ts | 9 +++++++++ .../tsconfig.json | 14 ++++++++++++++ ...ts => 213-intro-to-the-utils-folder.problem.ts} | 0 ...s => 213-intro-to-the-utils-folder.solution.ts} | 0 ...generic-functions-without-inference.problem.ts} | 0 ...eneric-functions-without-inference.solution.ts} | 0 ...meter-defaults-in-generic-functions.problem.ts} | 0 ...eter-defaults-in-generic-functions.solution.ts} | 0 ...-constraints-with-generic-functions.problem.ts} | 0 ...constraints-with-generic-functions.solution.ts} | 0 ...17-generic-functions-with-inference.problem.ts} | 0 ...7-generic-functions-with-inference.solution.ts} | 0 ...218-as-any-inside-generic-functions.problem.ts} | 0 ...18-as-any-inside-generic-functions.solution.ts} | 0 ...m.ts => 219-multiple-type-arguments.problem.ts} | 0 ....ts => 219-multiple-type-arguments.solution.ts} | 0 ....ts => 220-create-group-by-function.problem.ts} | 0 ...ts => 220-create-group-by-function.solution.ts} | 0 ...s.problem.ts => 221-type-predicates.problem.ts} | 0 ...solution.ts => 221-type-predicates.solution.ts} | 0 ...oblem.ts => 222-assertion-functions.problem.ts} | 0 ...tion.ts => 222-assertion-functions.solution.ts} | 0 ...roblem.ts => 223-function-overloads.problem.ts} | 0 ...ution.ts => 223-function-overloads.solution.ts} | 0 ...roblem.ts => 224-hungarian-notation.problem.ts} | 0 ...ution.ts => 224-hungarian-notation.solution.ts} | 0 ...m.ts => 225-where-to-put-your-types.problem.ts} | 0 ....ts => 225-where-to-put-your-types.solution.ts} | 0 ...oblem.ts => 226-colocation-of-types.problem.ts} | 0 ...tion.ts => 226-colocation-of-types.solution.ts} | 0 ...ainer.ts => 227-setting-up-eslint.explainer.ts} | 0 ....ts => 228-explicit-any-rule-or-not.problem.ts} | 0 ...ts => 228-explicit-any-rule-or-not.solution.ts} | 0 ...=> 229-explicit-return-types-or-not.problem.ts} | 0 ...> 229-explicit-return-types-or-not.solution.ts} | 0 ...any-vs-ts-ignore-vs-ts-expect-error.problem.ts} | 0 ...ny-vs-ts-ignore-vs-ts-expect-error.solution.ts} | 0 ...e-type-and-value-with-the-same-name.problem.ts} | 0 ...-type-and-value-with-the-same-name.solution.ts} | 0 ...oblem.ts => 232-types-vs-interfaces.problem.ts} | 0 ...tion.ts => 232-types-vs-interfaces.solution.ts} | 0 ...tion-object-string-boolean-as-types.problem.ts} | 0 ...ion-object-string-boolean-as-types.solution.ts} | 0 ...4-dont-use-globally-available-types.problem.ts} | 0 ...-dont-use-globally-available-types.solution.ts} | 0 ...-how-strict-should-you-configure-ts.problem.ts} | 0 ...how-strict-should-you-configure-ts.solution.ts} | 0 ... 236-dont-unnecessarily-widen-types.problem.ts} | 0 ...236-dont-unnecessarily-widen-types.solution.ts} | 0 ...-file-by-file-vs-ramp-up-strictness.problem.ts} | 0 ...file-by-file-vs-ramp-up-strictness.solution.ts} | 0 ...roblem.ts => 238-dependencies-first.problem.ts} | 0 ...ution.ts => 238-dependencies-first.solution.ts} | 0 ...s => 239-typing-third-party-modules.problem.ts} | 0 ... => 239-typing-third-party-modules.solution.ts} | 0 .../{239-madge.problem.ts => 240-madge.problem.ts} | 0 ...239-madge.solution.ts => 240-madge.solution.ts} | 0 ...standing-the-structure-of-ts-errors.problem.ts} | 0 ...tanding-the-structure-of-ts-errors.solution.ts} | 0 ...em.ts => 242-experiments-with-jsdoc.problem.ts} | 0 ...n.ts => 242-experiments-with-jsdoc.solution.ts} | 0 ...sdoc-cannot-pass-types-to-functions.problem.ts} | 0 ...doc-cannot-pass-types-to-functions.solution.ts} | 0 67 files changed, 48 insertions(+) create mode 100644 src/082-cjs-vs-esm/212-why-module-nodenext.explainer/package.json create mode 100644 src/082-cjs-vs-esm/212-why-module-nodenext.explainer/pnpm-lock.yaml create mode 100644 src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/cjs-module.cts create mode 100644 src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/esm-module.mts create mode 100644 src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/index.ts create mode 100644 src/082-cjs-vs-esm/212-why-module-nodenext.explainer/tsconfig.json rename src/085-the-utils-folder/{212-intro-to-the-utils-folder.problem.ts => 213-intro-to-the-utils-folder.problem.ts} (100%) rename src/085-the-utils-folder/{212-intro-to-the-utils-folder.solution.ts => 213-intro-to-the-utils-folder.solution.ts} (100%) rename src/085-the-utils-folder/{213-generic-functions-without-inference.problem.ts => 214-generic-functions-without-inference.problem.ts} (100%) rename src/085-the-utils-folder/{213-generic-functions-without-inference.solution.ts => 214-generic-functions-without-inference.solution.ts} (100%) rename src/085-the-utils-folder/{214-type-parameter-defaults-in-generic-functions.problem.ts => 215-type-parameter-defaults-in-generic-functions.problem.ts} (100%) rename src/085-the-utils-folder/{214-type-parameter-defaults-in-generic-functions.solution.ts => 215-type-parameter-defaults-in-generic-functions.solution.ts} (100%) rename src/085-the-utils-folder/{215-type-parameter-constraints-with-generic-functions.problem.ts => 216-type-parameter-constraints-with-generic-functions.problem.ts} (100%) rename src/085-the-utils-folder/{215-type-parameter-constraints-with-generic-functions.solution.ts => 216-type-parameter-constraints-with-generic-functions.solution.ts} (100%) rename src/085-the-utils-folder/{216-generic-functions-with-inference.problem.ts => 217-generic-functions-with-inference.problem.ts} (100%) rename src/085-the-utils-folder/{216-generic-functions-with-inference.solution.ts => 217-generic-functions-with-inference.solution.ts} (100%) rename src/085-the-utils-folder/{217-as-any-inside-generic-functions.problem.ts => 218-as-any-inside-generic-functions.problem.ts} (100%) rename src/085-the-utils-folder/{217-as-any-inside-generic-functions.solution.ts => 218-as-any-inside-generic-functions.solution.ts} (100%) rename src/085-the-utils-folder/{218-multiple-type-arguments.problem.ts => 219-multiple-type-arguments.problem.ts} (100%) rename src/085-the-utils-folder/{218-multiple-type-arguments.solution.ts => 219-multiple-type-arguments.solution.ts} (100%) rename src/085-the-utils-folder/{219-create-group-by-function.problem.ts => 220-create-group-by-function.problem.ts} (100%) rename src/085-the-utils-folder/{219-create-group-by-function.solution.ts => 220-create-group-by-function.solution.ts} (100%) rename src/085-the-utils-folder/{220-type-predicates.problem.ts => 221-type-predicates.problem.ts} (100%) rename src/085-the-utils-folder/{220-type-predicates.solution.ts => 221-type-predicates.solution.ts} (100%) rename src/085-the-utils-folder/{221-assertion-functions.problem.ts => 222-assertion-functions.problem.ts} (100%) rename src/085-the-utils-folder/{221-assertion-functions.solution.ts => 222-assertion-functions.solution.ts} (100%) rename src/085-the-utils-folder/{222-function-overloads.problem.ts => 223-function-overloads.problem.ts} (100%) rename src/085-the-utils-folder/{222-function-overloads.solution.ts => 223-function-overloads.solution.ts} (100%) rename src/090-the-style-guide/{223-hungarian-notation.problem.ts => 224-hungarian-notation.problem.ts} (100%) rename src/090-the-style-guide/{223-hungarian-notation.solution.ts => 224-hungarian-notation.solution.ts} (100%) rename src/090-the-style-guide/{224-where-to-put-your-types.problem.ts => 225-where-to-put-your-types.problem.ts} (100%) rename src/090-the-style-guide/{224-where-to-put-your-types.solution.ts => 225-where-to-put-your-types.solution.ts} (100%) rename src/090-the-style-guide/{225-colocation-of-types.problem.ts => 226-colocation-of-types.problem.ts} (100%) rename src/090-the-style-guide/{225-colocation-of-types.solution.ts => 226-colocation-of-types.solution.ts} (100%) rename src/090-the-style-guide/{226-setting-up-eslint.explainer.ts => 227-setting-up-eslint.explainer.ts} (100%) rename src/090-the-style-guide/{227-explicit-any-rule-or-not.problem.ts => 228-explicit-any-rule-or-not.problem.ts} (100%) rename src/090-the-style-guide/{227-explicit-any-rule-or-not.solution.ts => 228-explicit-any-rule-or-not.solution.ts} (100%) rename src/090-the-style-guide/{228-explicit-return-types-or-not.problem.ts => 229-explicit-return-types-or-not.problem.ts} (100%) rename src/090-the-style-guide/{228-explicit-return-types-or-not.solution.ts => 229-explicit-return-types-or-not.solution.ts} (100%) rename src/090-the-style-guide/{229-any-vs-ts-ignore-vs-ts-expect-error.problem.ts => 230-any-vs-ts-ignore-vs-ts-expect-error.problem.ts} (100%) rename src/090-the-style-guide/{229-any-vs-ts-ignore-vs-ts-expect-error.solution.ts => 230-any-vs-ts-ignore-vs-ts-expect-error.solution.ts} (100%) rename src/090-the-style-guide/{230-dont-declare-type-and-value-with-the-same-name.problem.ts => 231-dont-declare-type-and-value-with-the-same-name.problem.ts} (100%) rename src/090-the-style-guide/{230-dont-declare-type-and-value-with-the-same-name.solution.ts => 231-dont-declare-type-and-value-with-the-same-name.solution.ts} (100%) rename src/090-the-style-guide/{231-types-vs-interfaces.problem.ts => 232-types-vs-interfaces.problem.ts} (100%) rename src/090-the-style-guide/{231-types-vs-interfaces.solution.ts => 232-types-vs-interfaces.solution.ts} (100%) rename src/090-the-style-guide/{232-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts => 233-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts} (100%) rename src/090-the-style-guide/{232-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts => 233-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts} (100%) rename src/090-the-style-guide/{233-dont-use-globally-available-types.problem.ts => 234-dont-use-globally-available-types.problem.ts} (100%) rename src/090-the-style-guide/{233-dont-use-globally-available-types.solution.ts => 234-dont-use-globally-available-types.solution.ts} (100%) rename src/090-the-style-guide/{234-how-strict-should-you-configure-ts.problem.ts => 235-how-strict-should-you-configure-ts.problem.ts} (100%) rename src/090-the-style-guide/{234-how-strict-should-you-configure-ts.solution.ts => 235-how-strict-should-you-configure-ts.solution.ts} (100%) rename src/090-the-style-guide/{235-dont-unnecessarily-widen-types.problem.ts => 236-dont-unnecessarily-widen-types.problem.ts} (100%) rename src/090-the-style-guide/{235-dont-unnecessarily-widen-types.solution.ts => 236-dont-unnecessarily-widen-types.solution.ts} (100%) rename src/095-migrating-from-javascript/{236-strict-file-by-file-vs-ramp-up-strictness.problem.ts => 237-strict-file-by-file-vs-ramp-up-strictness.problem.ts} (100%) rename src/095-migrating-from-javascript/{236-strict-file-by-file-vs-ramp-up-strictness.solution.ts => 237-strict-file-by-file-vs-ramp-up-strictness.solution.ts} (100%) rename src/095-migrating-from-javascript/{237-dependencies-first.problem.ts => 238-dependencies-first.problem.ts} (100%) rename src/095-migrating-from-javascript/{237-dependencies-first.solution.ts => 238-dependencies-first.solution.ts} (100%) rename src/095-migrating-from-javascript/{238-typing-third-party-modules.problem.ts => 239-typing-third-party-modules.problem.ts} (100%) rename src/095-migrating-from-javascript/{238-typing-third-party-modules.solution.ts => 239-typing-third-party-modules.solution.ts} (100%) rename src/095-migrating-from-javascript/{239-madge.problem.ts => 240-madge.problem.ts} (100%) rename src/095-migrating-from-javascript/{239-madge.solution.ts => 240-madge.solution.ts} (100%) rename src/095-migrating-from-javascript/{240-understanding-the-structure-of-ts-errors.problem.ts => 241-understanding-the-structure-of-ts-errors.problem.ts} (100%) rename src/095-migrating-from-javascript/{240-understanding-the-structure-of-ts-errors.solution.ts => 241-understanding-the-structure-of-ts-errors.solution.ts} (100%) rename src/095-migrating-from-javascript/{241-experiments-with-jsdoc.problem.ts => 242-experiments-with-jsdoc.problem.ts} (100%) rename src/095-migrating-from-javascript/{241-experiments-with-jsdoc.solution.ts => 242-experiments-with-jsdoc.solution.ts} (100%) rename src/095-migrating-from-javascript/{242-jsdoc-cannot-pass-types-to-functions.problem.ts => 243-jsdoc-cannot-pass-types-to-functions.problem.ts} (100%) rename src/095-migrating-from-javascript/{242-jsdoc-cannot-pass-types-to-functions.solution.ts => 243-jsdoc-cannot-pass-types-to-functions.solution.ts} (100%) diff --git a/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/package.json b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/package.json new file mode 100644 index 0000000..c2c21b9 --- /dev/null +++ b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/package.json @@ -0,0 +1,12 @@ +{ + "name": "117-const-enums.explainer", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "dev": "nodemon --exec \"tsc && node dist/index.js\" ./src/index.ts" + }, + "keywords": [], + "author": "Matt Pocock", + "devDependencies": {} +} diff --git a/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/pnpm-lock.yaml b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/pnpm-lock.yaml new file mode 100644 index 0000000..2b9f188 --- /dev/null +++ b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/pnpm-lock.yaml @@ -0,0 +1,5 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false diff --git a/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/cjs-module.cts b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/cjs-module.cts new file mode 100644 index 0000000..c66e435 --- /dev/null +++ b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/cjs-module.cts @@ -0,0 +1,3 @@ +const example = 123; + +export = example; diff --git a/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/esm-module.mts b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/esm-module.mts new file mode 100644 index 0000000..4f232f1 --- /dev/null +++ b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/esm-module.mts @@ -0,0 +1,5 @@ +const hello = () => { + console.log("Hello!"); +}; + +export default hello; diff --git a/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/index.ts b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/index.ts new file mode 100644 index 0000000..81c7b93 --- /dev/null +++ b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/src/index.ts @@ -0,0 +1,9 @@ +import example = require("./cjs-module.cjs"); + +const main = async () => { + const esModule = await import("./esm-module.mjs"); // Dynamic import + + esModule.default(); +}; + +main(); diff --git a/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/tsconfig.json b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/tsconfig.json new file mode 100644 index 0000000..89c44f9 --- /dev/null +++ b/src/082-cjs-vs-esm/212-why-module-nodenext.explainer/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2022", + // Try changing module to commonjs/ESNext and moduleResolution to Bundler + "module": "NodeNext", + "moduleResolution": "NodeNext", + "outDir": "dist", + "verbatimModuleSyntax": true, + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "isolatedModules": true + }, +} \ No newline at end of file diff --git a/src/085-the-utils-folder/212-intro-to-the-utils-folder.problem.ts b/src/085-the-utils-folder/213-intro-to-the-utils-folder.problem.ts similarity index 100% rename from src/085-the-utils-folder/212-intro-to-the-utils-folder.problem.ts rename to src/085-the-utils-folder/213-intro-to-the-utils-folder.problem.ts diff --git a/src/085-the-utils-folder/212-intro-to-the-utils-folder.solution.ts b/src/085-the-utils-folder/213-intro-to-the-utils-folder.solution.ts similarity index 100% rename from src/085-the-utils-folder/212-intro-to-the-utils-folder.solution.ts rename to src/085-the-utils-folder/213-intro-to-the-utils-folder.solution.ts diff --git a/src/085-the-utils-folder/213-generic-functions-without-inference.problem.ts b/src/085-the-utils-folder/214-generic-functions-without-inference.problem.ts similarity index 100% rename from src/085-the-utils-folder/213-generic-functions-without-inference.problem.ts rename to src/085-the-utils-folder/214-generic-functions-without-inference.problem.ts diff --git a/src/085-the-utils-folder/213-generic-functions-without-inference.solution.ts b/src/085-the-utils-folder/214-generic-functions-without-inference.solution.ts similarity index 100% rename from src/085-the-utils-folder/213-generic-functions-without-inference.solution.ts rename to src/085-the-utils-folder/214-generic-functions-without-inference.solution.ts diff --git a/src/085-the-utils-folder/214-type-parameter-defaults-in-generic-functions.problem.ts b/src/085-the-utils-folder/215-type-parameter-defaults-in-generic-functions.problem.ts similarity index 100% rename from src/085-the-utils-folder/214-type-parameter-defaults-in-generic-functions.problem.ts rename to src/085-the-utils-folder/215-type-parameter-defaults-in-generic-functions.problem.ts diff --git a/src/085-the-utils-folder/214-type-parameter-defaults-in-generic-functions.solution.ts b/src/085-the-utils-folder/215-type-parameter-defaults-in-generic-functions.solution.ts similarity index 100% rename from src/085-the-utils-folder/214-type-parameter-defaults-in-generic-functions.solution.ts rename to src/085-the-utils-folder/215-type-parameter-defaults-in-generic-functions.solution.ts diff --git a/src/085-the-utils-folder/215-type-parameter-constraints-with-generic-functions.problem.ts b/src/085-the-utils-folder/216-type-parameter-constraints-with-generic-functions.problem.ts similarity index 100% rename from src/085-the-utils-folder/215-type-parameter-constraints-with-generic-functions.problem.ts rename to src/085-the-utils-folder/216-type-parameter-constraints-with-generic-functions.problem.ts diff --git a/src/085-the-utils-folder/215-type-parameter-constraints-with-generic-functions.solution.ts b/src/085-the-utils-folder/216-type-parameter-constraints-with-generic-functions.solution.ts similarity index 100% rename from src/085-the-utils-folder/215-type-parameter-constraints-with-generic-functions.solution.ts rename to src/085-the-utils-folder/216-type-parameter-constraints-with-generic-functions.solution.ts diff --git a/src/085-the-utils-folder/216-generic-functions-with-inference.problem.ts b/src/085-the-utils-folder/217-generic-functions-with-inference.problem.ts similarity index 100% rename from src/085-the-utils-folder/216-generic-functions-with-inference.problem.ts rename to src/085-the-utils-folder/217-generic-functions-with-inference.problem.ts diff --git a/src/085-the-utils-folder/216-generic-functions-with-inference.solution.ts b/src/085-the-utils-folder/217-generic-functions-with-inference.solution.ts similarity index 100% rename from src/085-the-utils-folder/216-generic-functions-with-inference.solution.ts rename to src/085-the-utils-folder/217-generic-functions-with-inference.solution.ts diff --git a/src/085-the-utils-folder/217-as-any-inside-generic-functions.problem.ts b/src/085-the-utils-folder/218-as-any-inside-generic-functions.problem.ts similarity index 100% rename from src/085-the-utils-folder/217-as-any-inside-generic-functions.problem.ts rename to src/085-the-utils-folder/218-as-any-inside-generic-functions.problem.ts diff --git a/src/085-the-utils-folder/217-as-any-inside-generic-functions.solution.ts b/src/085-the-utils-folder/218-as-any-inside-generic-functions.solution.ts similarity index 100% rename from src/085-the-utils-folder/217-as-any-inside-generic-functions.solution.ts rename to src/085-the-utils-folder/218-as-any-inside-generic-functions.solution.ts diff --git a/src/085-the-utils-folder/218-multiple-type-arguments.problem.ts b/src/085-the-utils-folder/219-multiple-type-arguments.problem.ts similarity index 100% rename from src/085-the-utils-folder/218-multiple-type-arguments.problem.ts rename to src/085-the-utils-folder/219-multiple-type-arguments.problem.ts diff --git a/src/085-the-utils-folder/218-multiple-type-arguments.solution.ts b/src/085-the-utils-folder/219-multiple-type-arguments.solution.ts similarity index 100% rename from src/085-the-utils-folder/218-multiple-type-arguments.solution.ts rename to src/085-the-utils-folder/219-multiple-type-arguments.solution.ts diff --git a/src/085-the-utils-folder/219-create-group-by-function.problem.ts b/src/085-the-utils-folder/220-create-group-by-function.problem.ts similarity index 100% rename from src/085-the-utils-folder/219-create-group-by-function.problem.ts rename to src/085-the-utils-folder/220-create-group-by-function.problem.ts diff --git a/src/085-the-utils-folder/219-create-group-by-function.solution.ts b/src/085-the-utils-folder/220-create-group-by-function.solution.ts similarity index 100% rename from src/085-the-utils-folder/219-create-group-by-function.solution.ts rename to src/085-the-utils-folder/220-create-group-by-function.solution.ts diff --git a/src/085-the-utils-folder/220-type-predicates.problem.ts b/src/085-the-utils-folder/221-type-predicates.problem.ts similarity index 100% rename from src/085-the-utils-folder/220-type-predicates.problem.ts rename to src/085-the-utils-folder/221-type-predicates.problem.ts diff --git a/src/085-the-utils-folder/220-type-predicates.solution.ts b/src/085-the-utils-folder/221-type-predicates.solution.ts similarity index 100% rename from src/085-the-utils-folder/220-type-predicates.solution.ts rename to src/085-the-utils-folder/221-type-predicates.solution.ts diff --git a/src/085-the-utils-folder/221-assertion-functions.problem.ts b/src/085-the-utils-folder/222-assertion-functions.problem.ts similarity index 100% rename from src/085-the-utils-folder/221-assertion-functions.problem.ts rename to src/085-the-utils-folder/222-assertion-functions.problem.ts diff --git a/src/085-the-utils-folder/221-assertion-functions.solution.ts b/src/085-the-utils-folder/222-assertion-functions.solution.ts similarity index 100% rename from src/085-the-utils-folder/221-assertion-functions.solution.ts rename to src/085-the-utils-folder/222-assertion-functions.solution.ts diff --git a/src/085-the-utils-folder/222-function-overloads.problem.ts b/src/085-the-utils-folder/223-function-overloads.problem.ts similarity index 100% rename from src/085-the-utils-folder/222-function-overloads.problem.ts rename to src/085-the-utils-folder/223-function-overloads.problem.ts diff --git a/src/085-the-utils-folder/222-function-overloads.solution.ts b/src/085-the-utils-folder/223-function-overloads.solution.ts similarity index 100% rename from src/085-the-utils-folder/222-function-overloads.solution.ts rename to src/085-the-utils-folder/223-function-overloads.solution.ts diff --git a/src/090-the-style-guide/223-hungarian-notation.problem.ts b/src/090-the-style-guide/224-hungarian-notation.problem.ts similarity index 100% rename from src/090-the-style-guide/223-hungarian-notation.problem.ts rename to src/090-the-style-guide/224-hungarian-notation.problem.ts diff --git a/src/090-the-style-guide/223-hungarian-notation.solution.ts b/src/090-the-style-guide/224-hungarian-notation.solution.ts similarity index 100% rename from src/090-the-style-guide/223-hungarian-notation.solution.ts rename to src/090-the-style-guide/224-hungarian-notation.solution.ts diff --git a/src/090-the-style-guide/224-where-to-put-your-types.problem.ts b/src/090-the-style-guide/225-where-to-put-your-types.problem.ts similarity index 100% rename from src/090-the-style-guide/224-where-to-put-your-types.problem.ts rename to src/090-the-style-guide/225-where-to-put-your-types.problem.ts diff --git a/src/090-the-style-guide/224-where-to-put-your-types.solution.ts b/src/090-the-style-guide/225-where-to-put-your-types.solution.ts similarity index 100% rename from src/090-the-style-guide/224-where-to-put-your-types.solution.ts rename to src/090-the-style-guide/225-where-to-put-your-types.solution.ts diff --git a/src/090-the-style-guide/225-colocation-of-types.problem.ts b/src/090-the-style-guide/226-colocation-of-types.problem.ts similarity index 100% rename from src/090-the-style-guide/225-colocation-of-types.problem.ts rename to src/090-the-style-guide/226-colocation-of-types.problem.ts diff --git a/src/090-the-style-guide/225-colocation-of-types.solution.ts b/src/090-the-style-guide/226-colocation-of-types.solution.ts similarity index 100% rename from src/090-the-style-guide/225-colocation-of-types.solution.ts rename to src/090-the-style-guide/226-colocation-of-types.solution.ts diff --git a/src/090-the-style-guide/226-setting-up-eslint.explainer.ts b/src/090-the-style-guide/227-setting-up-eslint.explainer.ts similarity index 100% rename from src/090-the-style-guide/226-setting-up-eslint.explainer.ts rename to src/090-the-style-guide/227-setting-up-eslint.explainer.ts diff --git a/src/090-the-style-guide/227-explicit-any-rule-or-not.problem.ts b/src/090-the-style-guide/228-explicit-any-rule-or-not.problem.ts similarity index 100% rename from src/090-the-style-guide/227-explicit-any-rule-or-not.problem.ts rename to src/090-the-style-guide/228-explicit-any-rule-or-not.problem.ts diff --git a/src/090-the-style-guide/227-explicit-any-rule-or-not.solution.ts b/src/090-the-style-guide/228-explicit-any-rule-or-not.solution.ts similarity index 100% rename from src/090-the-style-guide/227-explicit-any-rule-or-not.solution.ts rename to src/090-the-style-guide/228-explicit-any-rule-or-not.solution.ts diff --git a/src/090-the-style-guide/228-explicit-return-types-or-not.problem.ts b/src/090-the-style-guide/229-explicit-return-types-or-not.problem.ts similarity index 100% rename from src/090-the-style-guide/228-explicit-return-types-or-not.problem.ts rename to src/090-the-style-guide/229-explicit-return-types-or-not.problem.ts diff --git a/src/090-the-style-guide/228-explicit-return-types-or-not.solution.ts b/src/090-the-style-guide/229-explicit-return-types-or-not.solution.ts similarity index 100% rename from src/090-the-style-guide/228-explicit-return-types-or-not.solution.ts rename to src/090-the-style-guide/229-explicit-return-types-or-not.solution.ts diff --git a/src/090-the-style-guide/229-any-vs-ts-ignore-vs-ts-expect-error.problem.ts b/src/090-the-style-guide/230-any-vs-ts-ignore-vs-ts-expect-error.problem.ts similarity index 100% rename from src/090-the-style-guide/229-any-vs-ts-ignore-vs-ts-expect-error.problem.ts rename to src/090-the-style-guide/230-any-vs-ts-ignore-vs-ts-expect-error.problem.ts diff --git a/src/090-the-style-guide/229-any-vs-ts-ignore-vs-ts-expect-error.solution.ts b/src/090-the-style-guide/230-any-vs-ts-ignore-vs-ts-expect-error.solution.ts similarity index 100% rename from src/090-the-style-guide/229-any-vs-ts-ignore-vs-ts-expect-error.solution.ts rename to src/090-the-style-guide/230-any-vs-ts-ignore-vs-ts-expect-error.solution.ts diff --git a/src/090-the-style-guide/230-dont-declare-type-and-value-with-the-same-name.problem.ts b/src/090-the-style-guide/231-dont-declare-type-and-value-with-the-same-name.problem.ts similarity index 100% rename from src/090-the-style-guide/230-dont-declare-type-and-value-with-the-same-name.problem.ts rename to src/090-the-style-guide/231-dont-declare-type-and-value-with-the-same-name.problem.ts diff --git a/src/090-the-style-guide/230-dont-declare-type-and-value-with-the-same-name.solution.ts b/src/090-the-style-guide/231-dont-declare-type-and-value-with-the-same-name.solution.ts similarity index 100% rename from src/090-the-style-guide/230-dont-declare-type-and-value-with-the-same-name.solution.ts rename to src/090-the-style-guide/231-dont-declare-type-and-value-with-the-same-name.solution.ts diff --git a/src/090-the-style-guide/231-types-vs-interfaces.problem.ts b/src/090-the-style-guide/232-types-vs-interfaces.problem.ts similarity index 100% rename from src/090-the-style-guide/231-types-vs-interfaces.problem.ts rename to src/090-the-style-guide/232-types-vs-interfaces.problem.ts diff --git a/src/090-the-style-guide/231-types-vs-interfaces.solution.ts b/src/090-the-style-guide/232-types-vs-interfaces.solution.ts similarity index 100% rename from src/090-the-style-guide/231-types-vs-interfaces.solution.ts rename to src/090-the-style-guide/232-types-vs-interfaces.solution.ts diff --git a/src/090-the-style-guide/232-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts b/src/090-the-style-guide/233-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts similarity index 100% rename from src/090-the-style-guide/232-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts rename to src/090-the-style-guide/233-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts diff --git a/src/090-the-style-guide/232-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts b/src/090-the-style-guide/233-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts similarity index 100% rename from src/090-the-style-guide/232-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts rename to src/090-the-style-guide/233-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts diff --git a/src/090-the-style-guide/233-dont-use-globally-available-types.problem.ts b/src/090-the-style-guide/234-dont-use-globally-available-types.problem.ts similarity index 100% rename from src/090-the-style-guide/233-dont-use-globally-available-types.problem.ts rename to src/090-the-style-guide/234-dont-use-globally-available-types.problem.ts diff --git a/src/090-the-style-guide/233-dont-use-globally-available-types.solution.ts b/src/090-the-style-guide/234-dont-use-globally-available-types.solution.ts similarity index 100% rename from src/090-the-style-guide/233-dont-use-globally-available-types.solution.ts rename to src/090-the-style-guide/234-dont-use-globally-available-types.solution.ts diff --git a/src/090-the-style-guide/234-how-strict-should-you-configure-ts.problem.ts b/src/090-the-style-guide/235-how-strict-should-you-configure-ts.problem.ts similarity index 100% rename from src/090-the-style-guide/234-how-strict-should-you-configure-ts.problem.ts rename to src/090-the-style-guide/235-how-strict-should-you-configure-ts.problem.ts diff --git a/src/090-the-style-guide/234-how-strict-should-you-configure-ts.solution.ts b/src/090-the-style-guide/235-how-strict-should-you-configure-ts.solution.ts similarity index 100% rename from src/090-the-style-guide/234-how-strict-should-you-configure-ts.solution.ts rename to src/090-the-style-guide/235-how-strict-should-you-configure-ts.solution.ts diff --git a/src/090-the-style-guide/235-dont-unnecessarily-widen-types.problem.ts b/src/090-the-style-guide/236-dont-unnecessarily-widen-types.problem.ts similarity index 100% rename from src/090-the-style-guide/235-dont-unnecessarily-widen-types.problem.ts rename to src/090-the-style-guide/236-dont-unnecessarily-widen-types.problem.ts diff --git a/src/090-the-style-guide/235-dont-unnecessarily-widen-types.solution.ts b/src/090-the-style-guide/236-dont-unnecessarily-widen-types.solution.ts similarity index 100% rename from src/090-the-style-guide/235-dont-unnecessarily-widen-types.solution.ts rename to src/090-the-style-guide/236-dont-unnecessarily-widen-types.solution.ts diff --git a/src/095-migrating-from-javascript/236-strict-file-by-file-vs-ramp-up-strictness.problem.ts b/src/095-migrating-from-javascript/237-strict-file-by-file-vs-ramp-up-strictness.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/236-strict-file-by-file-vs-ramp-up-strictness.problem.ts rename to src/095-migrating-from-javascript/237-strict-file-by-file-vs-ramp-up-strictness.problem.ts diff --git a/src/095-migrating-from-javascript/236-strict-file-by-file-vs-ramp-up-strictness.solution.ts b/src/095-migrating-from-javascript/237-strict-file-by-file-vs-ramp-up-strictness.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/236-strict-file-by-file-vs-ramp-up-strictness.solution.ts rename to src/095-migrating-from-javascript/237-strict-file-by-file-vs-ramp-up-strictness.solution.ts diff --git a/src/095-migrating-from-javascript/237-dependencies-first.problem.ts b/src/095-migrating-from-javascript/238-dependencies-first.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/237-dependencies-first.problem.ts rename to src/095-migrating-from-javascript/238-dependencies-first.problem.ts diff --git a/src/095-migrating-from-javascript/237-dependencies-first.solution.ts b/src/095-migrating-from-javascript/238-dependencies-first.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/237-dependencies-first.solution.ts rename to src/095-migrating-from-javascript/238-dependencies-first.solution.ts diff --git a/src/095-migrating-from-javascript/238-typing-third-party-modules.problem.ts b/src/095-migrating-from-javascript/239-typing-third-party-modules.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/238-typing-third-party-modules.problem.ts rename to src/095-migrating-from-javascript/239-typing-third-party-modules.problem.ts diff --git a/src/095-migrating-from-javascript/238-typing-third-party-modules.solution.ts b/src/095-migrating-from-javascript/239-typing-third-party-modules.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/238-typing-third-party-modules.solution.ts rename to src/095-migrating-from-javascript/239-typing-third-party-modules.solution.ts diff --git a/src/095-migrating-from-javascript/239-madge.problem.ts b/src/095-migrating-from-javascript/240-madge.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/239-madge.problem.ts rename to src/095-migrating-from-javascript/240-madge.problem.ts diff --git a/src/095-migrating-from-javascript/239-madge.solution.ts b/src/095-migrating-from-javascript/240-madge.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/239-madge.solution.ts rename to src/095-migrating-from-javascript/240-madge.solution.ts diff --git a/src/095-migrating-from-javascript/240-understanding-the-structure-of-ts-errors.problem.ts b/src/095-migrating-from-javascript/241-understanding-the-structure-of-ts-errors.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/240-understanding-the-structure-of-ts-errors.problem.ts rename to src/095-migrating-from-javascript/241-understanding-the-structure-of-ts-errors.problem.ts diff --git a/src/095-migrating-from-javascript/240-understanding-the-structure-of-ts-errors.solution.ts b/src/095-migrating-from-javascript/241-understanding-the-structure-of-ts-errors.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/240-understanding-the-structure-of-ts-errors.solution.ts rename to src/095-migrating-from-javascript/241-understanding-the-structure-of-ts-errors.solution.ts diff --git a/src/095-migrating-from-javascript/241-experiments-with-jsdoc.problem.ts b/src/095-migrating-from-javascript/242-experiments-with-jsdoc.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/241-experiments-with-jsdoc.problem.ts rename to src/095-migrating-from-javascript/242-experiments-with-jsdoc.problem.ts diff --git a/src/095-migrating-from-javascript/241-experiments-with-jsdoc.solution.ts b/src/095-migrating-from-javascript/242-experiments-with-jsdoc.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/241-experiments-with-jsdoc.solution.ts rename to src/095-migrating-from-javascript/242-experiments-with-jsdoc.solution.ts diff --git a/src/095-migrating-from-javascript/242-jsdoc-cannot-pass-types-to-functions.problem.ts b/src/095-migrating-from-javascript/243-jsdoc-cannot-pass-types-to-functions.problem.ts similarity index 100% rename from src/095-migrating-from-javascript/242-jsdoc-cannot-pass-types-to-functions.problem.ts rename to src/095-migrating-from-javascript/243-jsdoc-cannot-pass-types-to-functions.problem.ts diff --git a/src/095-migrating-from-javascript/242-jsdoc-cannot-pass-types-to-functions.solution.ts b/src/095-migrating-from-javascript/243-jsdoc-cannot-pass-types-to-functions.solution.ts similarity index 100% rename from src/095-migrating-from-javascript/242-jsdoc-cannot-pass-types-to-functions.solution.ts rename to src/095-migrating-from-javascript/243-jsdoc-cannot-pass-types-to-functions.solution.ts