Canvas: Generate graph state out of dodo-app config

Restructure code, create shared config lib.

Change-Id: I2cf06d35c486d4557484daf8618a2c215316fa7e
diff --git a/apps/canvas/config/eslint.config.mjs b/apps/canvas/config/eslint.config.mjs
new file mode 100644
index 0000000..20ef473
--- /dev/null
+++ b/apps/canvas/config/eslint.config.mjs
@@ -0,0 +1,23 @@
+import js from "@eslint/js";
+import tseslint from "typescript-eslint";
+
+export default tseslint.config(
+	{ ignores: ["dist"] },
+	{
+		extends: [js.configs.recommended, ...tseslint.configs.recommended],
+		files: ["**/*.ts"],
+		languageOptions: {
+			ecmaVersion: 2020,
+		},
+		rules: {
+			"@typescript-eslint/no-unused-vars": [
+				"error",
+				{
+					argsIgnorePattern: "^_$",
+					varsIgnorePattern: "^_$",
+					caughtErrorsIgnorePattern: "^_$",
+				},
+			],
+		},
+	},
+);