diff --git a/.changeset/slimy-hotels-agree.md b/.changeset/slimy-hotels-agree.md new file mode 100644 index 000000000000..b8af2cd82abf --- /dev/null +++ b/.changeset/slimy-hotels-agree.md @@ -0,0 +1,5 @@ +--- +'astro': minor +--- + +Update base `tsconfig.json` template with `allowJs: true` to provide a better relaxed experience for users unfamilliar with TypeScript. `allowJs` is still set to `false` (its default value) when using the `strictest` preset. diff --git a/packages/astro/tsconfigs/base.json b/packages/astro/tsconfigs/base.json index 41ee2e9d4921..aa1f1754353a 100644 --- a/packages/astro/tsconfigs/base.json +++ b/packages/astro/tsconfigs/base.json @@ -25,6 +25,8 @@ }, // TypeScript 5.0 changed how `isolatedModules` and `importsNotUsedAsValues` works, deprecating the later // Until the majority of users are on TypeScript 5.0, we'll have to supress those deprecation errors - "ignoreDeprecations": "5.0" + "ignoreDeprecations": "5.0", + // Allow JavaScript files to be imported + "allowJs": true } } diff --git a/packages/astro/tsconfigs/strictest.json b/packages/astro/tsconfigs/strictest.json index f59dc4f6cd01..36f11635e8d2 100644 --- a/packages/astro/tsconfigs/strictest.json +++ b/packages/astro/tsconfigs/strictest.json @@ -19,6 +19,8 @@ // Report an error for unreachable code instead of just a warning. "allowUnreachableCode": false, // Report an error for unused labels instead of just a warning. - "allowUnusedLabels": false + "allowUnusedLabels": false, + // Disallow JavaScript files from being imported + "allowJs": false } }