Update TSCondif

Nate Butler created

Based on #2558. Also fixes errors resulting from the stricter options.

Change summary

styles/src/theme/themeConfig.ts             |  5 +++++
styles/src/themes/atelier/common.ts         |  4 ++--
styles/src/themes/ayu/common.ts             |  4 ++--
styles/src/themes/gruvbox/gruvbox-common.ts |  3 ++-
styles/tsconfig.json                        | 16 +++++++++++++++-
5 files changed, 26 insertions(+), 6 deletions(-)

Detailed changes

styles/src/theme/themeConfig.ts 🔗

@@ -23,6 +23,11 @@ interface ThemeMeta {
     themeUrl?: string
 }
 
+export type ThemeFamilyMeta = Pick<
+    ThemeMeta,
+    "name" | "author" | "licenseType" | "licenseUrl"
+>
+
 export interface ThemeConfigInputColors {
     neutral: Scale<Color>
     red: Scale<Color>

styles/src/themes/atelier/common.ts 🔗

@@ -1,4 +1,4 @@
-import { ThemeLicenseType, ThemeConfig, ThemeSyntax } from "../../common"
+import { ThemeLicenseType, ThemeSyntax, ThemeFamilyMeta } from "../../common"
 
 export interface Variant {
     colors: {
@@ -21,7 +21,7 @@ export interface Variant {
     }
 }
 
-export const meta: Partial<ThemeConfig> = {
+export const meta: ThemeFamilyMeta = {
     name: "Atelier",
     author: "Bram de Haan (http://atelierbramdehaan.nl)",
     licenseType: ThemeLicenseType.MIT,

styles/src/themes/ayu/common.ts 🔗

@@ -3,8 +3,8 @@ import {
     chroma,
     colorRamp,
     ThemeLicenseType,
-    ThemeConfig,
     ThemeSyntax,
+    ThemeFamilyMeta,
 } from "../../common"
 
 export const ayu = {
@@ -77,7 +77,7 @@ export const buildSyntax = (t: typeof dark): ThemeSyntax => {
     }
 }
 
-export const meta: Partial<ThemeConfig> = {
+export const meta: ThemeFamilyMeta = {
     name: "Ayu",
     author: "dempfi",
     licenseType: ThemeLicenseType.MIT,

styles/src/themes/gruvbox/gruvbox-common.ts 🔗

@@ -5,9 +5,10 @@ import {
     ThemeLicenseType,
     ThemeConfig,
     ThemeSyntax,
+    ThemeFamilyMeta,
 } from "../../common"
 
-const meta: Partial<ThemeConfig> = {
+const meta: ThemeFamilyMeta = {
     name: "Gruvbox",
     author: "morhetz <morhetz@gmail.com>",
     licenseType: ThemeLicenseType.MIT,

styles/tsconfig.json 🔗

@@ -6,7 +6,21 @@
         "noImplicitAny": true,
         "removeComments": true,
         "preserveConstEnums": true,
-        "sourceMap": true
+        "sourceMap": true,
+        "noEmit": true,
+        "forceConsistentCasingInFileNames": true,
+        "declaration": true,
+        "strict": true,
+        "strictNullChecks": true,
+        "noImplicitThis": true,
+        "alwaysStrict": true,
+        "noUnusedLocals": false,
+        "noUnusedParameters": false,
+        "noImplicitReturns": true,
+        "noFallthroughCasesInSwitch": false,
+        "experimentalDecorators": true,
+        "strictPropertyInitialization": false,
+        "skipLibCheck": true
     },
     "exclude": ["node_modules"]
 }