aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-13 21:43:44 +0000
committerMohamed Bassem <me@mbassem.com>2024-03-14 16:40:45 +0000
commit04572a8e5081b1e4871e273cde9dbaaa44c52fe0 (patch)
tree8e993acb732a50d1306d4d6953df96c165c57f57 /apps/mobile
parent2df08ed08c065e8b91bc8df0266bd4bcbb062be4 (diff)
downloadkarakeep-04572a8e5081b1e4871e273cde9dbaaa44c52fe0.tar.zst
structure: Create apps dir and copy tooling dir from t3-turbo repo
Diffstat (limited to '')
-rw-r--r--apps/mobile/.eslintrc.js (renamed from packages/mobile/.eslintrc.js)0
-rw-r--r--apps/mobile/.gitignore (renamed from packages/mobile/.gitignore)0
-rw-r--r--apps/mobile/.npmrc (renamed from packages/mobile/.npmrc)0
-rw-r--r--apps/mobile/app.json (renamed from packages/mobile/app.json)0
-rw-r--r--apps/mobile/app/+not-found.tsx (renamed from packages/mobile/app/+not-found.tsx)0
-rw-r--r--apps/mobile/app/_layout.tsx (renamed from packages/mobile/app/_layout.tsx)0
-rw-r--r--apps/mobile/app/dashboard/(tabs)/_layout.tsx (renamed from packages/mobile/app/dashboard/(tabs)/_layout.tsx)0
-rw-r--r--apps/mobile/app/dashboard/(tabs)/index.tsx (renamed from packages/mobile/app/dashboard/(tabs)/index.tsx)0
-rw-r--r--apps/mobile/app/dashboard/(tabs)/lists.tsx (renamed from packages/mobile/app/dashboard/(tabs)/lists.tsx)0
-rw-r--r--apps/mobile/app/dashboard/(tabs)/search.tsx (renamed from packages/mobile/app/dashboard/(tabs)/search.tsx)0
-rw-r--r--apps/mobile/app/dashboard/(tabs)/settings.tsx (renamed from packages/mobile/app/dashboard/(tabs)/settings.tsx)0
-rw-r--r--apps/mobile/app/dashboard/_layout.tsx (renamed from packages/mobile/app/dashboard/_layout.tsx)0
-rw-r--r--apps/mobile/app/dashboard/add-link.tsx (renamed from packages/mobile/app/dashboard/add-link.tsx)0
-rw-r--r--apps/mobile/app/dashboard/add-note.tsx (renamed from packages/mobile/app/dashboard/add-note.tsx)0
-rw-r--r--apps/mobile/app/dashboard/archive.tsx (renamed from packages/mobile/app/dashboard/archive.tsx)0
-rw-r--r--apps/mobile/app/dashboard/favourites.tsx (renamed from packages/mobile/app/dashboard/favourites.tsx)0
-rw-r--r--apps/mobile/app/dashboard/lists/[slug].tsx (renamed from packages/mobile/app/dashboard/lists/[slug].tsx)0
-rw-r--r--apps/mobile/app/error.tsx (renamed from packages/mobile/app/error.tsx)0
-rw-r--r--apps/mobile/app/index.tsx (renamed from packages/mobile/app/index.tsx)0
-rw-r--r--apps/mobile/app/sharing.tsx (renamed from packages/mobile/app/sharing.tsx)0
-rw-r--r--apps/mobile/app/signin.tsx (renamed from packages/mobile/app/signin.tsx)0
-rw-r--r--apps/mobile/assets/blur.jpeg (renamed from packages/mobile/assets/blur.jpeg)bin178818 -> 178818 bytes
-rw-r--r--apps/mobile/assets/icon.png (renamed from packages/mobile/assets/icon.png)bin2362 -> 2362 bytes
-rw-r--r--apps/mobile/assets/splash.png (renamed from packages/mobile/assets/splash.png)bin117993 -> 117993 bytes
-rw-r--r--apps/mobile/babel.config.js (renamed from packages/mobile/babel.config.js)0
-rw-r--r--apps/mobile/components/Logo.tsx (renamed from packages/mobile/components/Logo.tsx)0
-rw-r--r--apps/mobile/components/bookmarks/BookmarkCard.tsx (renamed from packages/mobile/components/bookmarks/BookmarkCard.tsx)0
-rw-r--r--apps/mobile/components/bookmarks/BookmarkList.tsx (renamed from packages/mobile/components/bookmarks/BookmarkList.tsx)0
-rw-r--r--apps/mobile/components/ui/ActionButton.tsx (renamed from packages/mobile/components/ui/ActionButton.tsx)0
-rw-r--r--apps/mobile/components/ui/Button.tsx (renamed from packages/mobile/components/ui/Button.tsx)0
-rw-r--r--apps/mobile/components/ui/Divider.tsx (renamed from packages/mobile/components/ui/Divider.tsx)0
-rw-r--r--apps/mobile/components/ui/FullPageSpinner.tsx (renamed from packages/mobile/components/ui/FullPageSpinner.tsx)0
-rw-r--r--apps/mobile/components/ui/Input.tsx (renamed from packages/mobile/components/ui/Input.tsx)0
-rw-r--r--apps/mobile/components/ui/Skeleton.tsx (renamed from packages/mobile/components/ui/Skeleton.tsx)0
-rw-r--r--apps/mobile/components/ui/Toast.tsx (renamed from packages/mobile/components/ui/Toast.tsx)0
-rw-r--r--apps/mobile/eas.json (renamed from packages/mobile/eas.json)0
-rw-r--r--apps/mobile/globals.css (renamed from packages/mobile/globals.css)0
-rw-r--r--apps/mobile/lib/last-shared-intent.ts (renamed from packages/mobile/lib/last-shared-intent.ts)0
-rw-r--r--apps/mobile/lib/providers.tsx (renamed from packages/mobile/lib/providers.tsx)0
-rw-r--r--apps/mobile/lib/session.ts (renamed from packages/mobile/lib/session.ts)0
-rw-r--r--apps/mobile/lib/settings.ts (renamed from packages/mobile/lib/settings.ts)0
-rw-r--r--apps/mobile/lib/storage-state.ts (renamed from packages/mobile/lib/storage-state.ts)0
-rw-r--r--apps/mobile/lib/trpc.ts (renamed from packages/mobile/lib/trpc.ts)0
-rw-r--r--apps/mobile/lib/utils.ts (renamed from packages/mobile/lib/utils.ts)0
-rw-r--r--apps/mobile/metro.config.js58
-rw-r--r--apps/mobile/nativewind-env.d.ts (renamed from packages/mobile/nativewind-env.d.ts)0
-rw-r--r--apps/mobile/package.json (renamed from packages/mobile/package.json)32
-rw-r--r--apps/mobile/tailwind.config.ts (renamed from packages/mobile/tailwind.config.js)10
-rw-r--r--apps/mobile/tsconfig.json14
49 files changed, 103 insertions, 11 deletions
diff --git a/packages/mobile/.eslintrc.js b/apps/mobile/.eslintrc.js
index 53beac49..53beac49 100644
--- a/packages/mobile/.eslintrc.js
+++ b/apps/mobile/.eslintrc.js
diff --git a/packages/mobile/.gitignore b/apps/mobile/.gitignore
index 2920e5a8..2920e5a8 100644
--- a/packages/mobile/.gitignore
+++ b/apps/mobile/.gitignore
diff --git a/packages/mobile/.npmrc b/apps/mobile/.npmrc
index d67f3748..d67f3748 100644
--- a/packages/mobile/.npmrc
+++ b/apps/mobile/.npmrc
diff --git a/packages/mobile/app.json b/apps/mobile/app.json
index e16baa37..e16baa37 100644
--- a/packages/mobile/app.json
+++ b/apps/mobile/app.json
diff --git a/packages/mobile/app/+not-found.tsx b/apps/mobile/app/+not-found.tsx
index 466505b6..466505b6 100644
--- a/packages/mobile/app/+not-found.tsx
+++ b/apps/mobile/app/+not-found.tsx
diff --git a/packages/mobile/app/_layout.tsx b/apps/mobile/app/_layout.tsx
index 6304ced5..6304ced5 100644
--- a/packages/mobile/app/_layout.tsx
+++ b/apps/mobile/app/_layout.tsx
diff --git a/packages/mobile/app/dashboard/(tabs)/_layout.tsx b/apps/mobile/app/dashboard/(tabs)/_layout.tsx
index 5b2d810a..5b2d810a 100644
--- a/packages/mobile/app/dashboard/(tabs)/_layout.tsx
+++ b/apps/mobile/app/dashboard/(tabs)/_layout.tsx
diff --git a/packages/mobile/app/dashboard/(tabs)/index.tsx b/apps/mobile/app/dashboard/(tabs)/index.tsx
index b2349525..b2349525 100644
--- a/packages/mobile/app/dashboard/(tabs)/index.tsx
+++ b/apps/mobile/app/dashboard/(tabs)/index.tsx
diff --git a/packages/mobile/app/dashboard/(tabs)/lists.tsx b/apps/mobile/app/dashboard/(tabs)/lists.tsx
index b534ddda..b534ddda 100644
--- a/packages/mobile/app/dashboard/(tabs)/lists.tsx
+++ b/apps/mobile/app/dashboard/(tabs)/lists.tsx
diff --git a/packages/mobile/app/dashboard/(tabs)/search.tsx b/apps/mobile/app/dashboard/(tabs)/search.tsx
index 980cab36..980cab36 100644
--- a/packages/mobile/app/dashboard/(tabs)/search.tsx
+++ b/apps/mobile/app/dashboard/(tabs)/search.tsx
diff --git a/packages/mobile/app/dashboard/(tabs)/settings.tsx b/apps/mobile/app/dashboard/(tabs)/settings.tsx
index 9f86d5ec..9f86d5ec 100644
--- a/packages/mobile/app/dashboard/(tabs)/settings.tsx
+++ b/apps/mobile/app/dashboard/(tabs)/settings.tsx
diff --git a/packages/mobile/app/dashboard/_layout.tsx b/apps/mobile/app/dashboard/_layout.tsx
index ff2384d2..ff2384d2 100644
--- a/packages/mobile/app/dashboard/_layout.tsx
+++ b/apps/mobile/app/dashboard/_layout.tsx
diff --git a/packages/mobile/app/dashboard/add-link.tsx b/apps/mobile/app/dashboard/add-link.tsx
index 69a9c7a2..69a9c7a2 100644
--- a/packages/mobile/app/dashboard/add-link.tsx
+++ b/apps/mobile/app/dashboard/add-link.tsx
diff --git a/packages/mobile/app/dashboard/add-note.tsx b/apps/mobile/app/dashboard/add-note.tsx
index cf775a15..cf775a15 100644
--- a/packages/mobile/app/dashboard/add-note.tsx
+++ b/apps/mobile/app/dashboard/add-note.tsx
diff --git a/packages/mobile/app/dashboard/archive.tsx b/apps/mobile/app/dashboard/archive.tsx
index d75cfe22..d75cfe22 100644
--- a/packages/mobile/app/dashboard/archive.tsx
+++ b/apps/mobile/app/dashboard/archive.tsx
diff --git a/packages/mobile/app/dashboard/favourites.tsx b/apps/mobile/app/dashboard/favourites.tsx
index 90374f18..90374f18 100644
--- a/packages/mobile/app/dashboard/favourites.tsx
+++ b/apps/mobile/app/dashboard/favourites.tsx
diff --git a/packages/mobile/app/dashboard/lists/[slug].tsx b/apps/mobile/app/dashboard/lists/[slug].tsx
index 54744874..54744874 100644
--- a/packages/mobile/app/dashboard/lists/[slug].tsx
+++ b/apps/mobile/app/dashboard/lists/[slug].tsx
diff --git a/packages/mobile/app/error.tsx b/apps/mobile/app/error.tsx
index 2ca227a4..2ca227a4 100644
--- a/packages/mobile/app/error.tsx
+++ b/apps/mobile/app/error.tsx
diff --git a/packages/mobile/app/index.tsx b/apps/mobile/app/index.tsx
index 5ce20cda..5ce20cda 100644
--- a/packages/mobile/app/index.tsx
+++ b/apps/mobile/app/index.tsx
diff --git a/packages/mobile/app/sharing.tsx b/apps/mobile/app/sharing.tsx
index 64bbd933..64bbd933 100644
--- a/packages/mobile/app/sharing.tsx
+++ b/apps/mobile/app/sharing.tsx
diff --git a/packages/mobile/app/signin.tsx b/apps/mobile/app/signin.tsx
index a89b0087..a89b0087 100644
--- a/packages/mobile/app/signin.tsx
+++ b/apps/mobile/app/signin.tsx
diff --git a/packages/mobile/assets/blur.jpeg b/apps/mobile/assets/blur.jpeg
index 387ce697..387ce697 100644
--- a/packages/mobile/assets/blur.jpeg
+++ b/apps/mobile/assets/blur.jpeg
Binary files differ
diff --git a/packages/mobile/assets/icon.png b/apps/mobile/assets/icon.png
index 71ead90c..71ead90c 100644
--- a/packages/mobile/assets/icon.png
+++ b/apps/mobile/assets/icon.png
Binary files differ
diff --git a/packages/mobile/assets/splash.png b/apps/mobile/assets/splash.png
index 3759c518..3759c518 100644
--- a/packages/mobile/assets/splash.png
+++ b/apps/mobile/assets/splash.png
Binary files differ
diff --git a/packages/mobile/babel.config.js b/apps/mobile/babel.config.js
index f3c649bb..f3c649bb 100644
--- a/packages/mobile/babel.config.js
+++ b/apps/mobile/babel.config.js
diff --git a/packages/mobile/components/Logo.tsx b/apps/mobile/components/Logo.tsx
index 57f7a5c3..57f7a5c3 100644
--- a/packages/mobile/components/Logo.tsx
+++ b/apps/mobile/components/Logo.tsx
diff --git a/packages/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx
index 25947790..25947790 100644
--- a/packages/mobile/components/bookmarks/BookmarkCard.tsx
+++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx
diff --git a/packages/mobile/components/bookmarks/BookmarkList.tsx b/apps/mobile/components/bookmarks/BookmarkList.tsx
index 8e408709..8e408709 100644
--- a/packages/mobile/components/bookmarks/BookmarkList.tsx
+++ b/apps/mobile/components/bookmarks/BookmarkList.tsx
diff --git a/packages/mobile/components/ui/ActionButton.tsx b/apps/mobile/components/ui/ActionButton.tsx
index c51eb332..c51eb332 100644
--- a/packages/mobile/components/ui/ActionButton.tsx
+++ b/apps/mobile/components/ui/ActionButton.tsx
diff --git a/packages/mobile/components/ui/Button.tsx b/apps/mobile/components/ui/Button.tsx
index 4c3cbc69..4c3cbc69 100644
--- a/packages/mobile/components/ui/Button.tsx
+++ b/apps/mobile/components/ui/Button.tsx
diff --git a/packages/mobile/components/ui/Divider.tsx b/apps/mobile/components/ui/Divider.tsx
index 1da0a71e..1da0a71e 100644
--- a/packages/mobile/components/ui/Divider.tsx
+++ b/apps/mobile/components/ui/Divider.tsx
diff --git a/packages/mobile/components/ui/FullPageSpinner.tsx b/apps/mobile/components/ui/FullPageSpinner.tsx
index 01187f11..01187f11 100644
--- a/packages/mobile/components/ui/FullPageSpinner.tsx
+++ b/apps/mobile/components/ui/FullPageSpinner.tsx
diff --git a/packages/mobile/components/ui/Input.tsx b/apps/mobile/components/ui/Input.tsx
index 2fcb2764..2fcb2764 100644
--- a/packages/mobile/components/ui/Input.tsx
+++ b/apps/mobile/components/ui/Input.tsx
diff --git a/packages/mobile/components/ui/Skeleton.tsx b/apps/mobile/components/ui/Skeleton.tsx
index 68b22e1e..68b22e1e 100644
--- a/packages/mobile/components/ui/Skeleton.tsx
+++ b/apps/mobile/components/ui/Skeleton.tsx
diff --git a/packages/mobile/components/ui/Toast.tsx b/apps/mobile/components/ui/Toast.tsx
index fb319f84..fb319f84 100644
--- a/packages/mobile/components/ui/Toast.tsx
+++ b/apps/mobile/components/ui/Toast.tsx
diff --git a/packages/mobile/eas.json b/apps/mobile/eas.json
index 0897755d..0897755d 100644
--- a/packages/mobile/eas.json
+++ b/apps/mobile/eas.json
diff --git a/packages/mobile/globals.css b/apps/mobile/globals.css
index de1cf559..de1cf559 100644
--- a/packages/mobile/globals.css
+++ b/apps/mobile/globals.css
diff --git a/packages/mobile/lib/last-shared-intent.ts b/apps/mobile/lib/last-shared-intent.ts
index 951bcf74..951bcf74 100644
--- a/packages/mobile/lib/last-shared-intent.ts
+++ b/apps/mobile/lib/last-shared-intent.ts
diff --git a/packages/mobile/lib/providers.tsx b/apps/mobile/lib/providers.tsx
index 1717afb2..1717afb2 100644
--- a/packages/mobile/lib/providers.tsx
+++ b/apps/mobile/lib/providers.tsx
diff --git a/packages/mobile/lib/session.ts b/apps/mobile/lib/session.ts
index e2ab245b..e2ab245b 100644
--- a/packages/mobile/lib/session.ts
+++ b/apps/mobile/lib/session.ts
diff --git a/packages/mobile/lib/settings.ts b/apps/mobile/lib/settings.ts
index 21f40528..21f40528 100644
--- a/packages/mobile/lib/settings.ts
+++ b/apps/mobile/lib/settings.ts
diff --git a/packages/mobile/lib/storage-state.ts b/apps/mobile/lib/storage-state.ts
index 4988f0e0..4988f0e0 100644
--- a/packages/mobile/lib/storage-state.ts
+++ b/apps/mobile/lib/storage-state.ts
diff --git a/packages/mobile/lib/trpc.ts b/apps/mobile/lib/trpc.ts
index 6b428bd9..6b428bd9 100644
--- a/packages/mobile/lib/trpc.ts
+++ b/apps/mobile/lib/trpc.ts
diff --git a/packages/mobile/lib/utils.ts b/apps/mobile/lib/utils.ts
index 365058ce..365058ce 100644
--- a/packages/mobile/lib/utils.ts
+++ b/apps/mobile/lib/utils.ts
diff --git a/apps/mobile/metro.config.js b/apps/mobile/metro.config.js
new file mode 100644
index 00000000..c5630a83
--- /dev/null
+++ b/apps/mobile/metro.config.js
@@ -0,0 +1,58 @@
+// Learn more: https://docs.expo.dev/guides/monorepos/
+const { getDefaultConfig } = require("expo/metro-config");
+const { FileStore } = require("metro-cache");
+const { withNativeWind } = require("nativewind/metro");
+
+const path = require("path");
+
+module.exports = withTurborepoManagedCache(
+ withMonorepoPaths(
+ withNativeWind(getDefaultConfig(__dirname), {
+ input: "./globals.css",
+ configPath: "./tailwind.config.ts",
+ }),
+ ),
+);
+
+/**
+ * Add the monorepo paths to the Metro config.
+ * This allows Metro to resolve modules from the monorepo.
+ *
+ * @see https://docs.expo.dev/guides/monorepos/#modify-the-metro-config
+ * @param {import('expo/metro-config').MetroConfig} config
+ * @returns {import('expo/metro-config').MetroConfig}
+ */
+function withMonorepoPaths(config) {
+ const projectRoot = __dirname;
+ const workspaceRoot = path.resolve(projectRoot, "../..");
+
+ // #1 - Watch all files in the monorepo
+ config.watchFolders = [workspaceRoot];
+
+ // #2 - Resolve modules within the project's `node_modules` first, then all monorepo modules
+ config.resolver.nodeModulesPaths = [
+ path.resolve(projectRoot, "node_modules"),
+ path.resolve(workspaceRoot, "node_modules"),
+ ];
+
+ return config;
+}
+
+/**
+ * Move the Metro cache to the `node_modules/.cache/metro` folder.
+ * This repository configured Turborepo to use this cache location as well.
+ * If you have any environment variables, you can configure Turborepo to invalidate it when needed.
+ *
+ * @see https://turbo.build/repo/docs/reference/configuration#env
+ * @param {import('expo/metro-config').MetroConfig} config
+ * @returns {import('expo/metro-config').MetroConfig}
+ */
+function withTurborepoManagedCache(config) {
+ config.cacheStores = [
+ new FileStore({ root: path.join(__dirname, "node_modules/.cache/metro") }),
+ ];
+ return config;
+}
+
+
+
diff --git a/packages/mobile/nativewind-env.d.ts b/apps/mobile/nativewind-env.d.ts
index a13e3136..a13e3136 100644
--- a/packages/mobile/nativewind-env.d.ts
+++ b/apps/mobile/nativewind-env.d.ts
diff --git a/packages/mobile/package.json b/apps/mobile/package.json
index 1298b8db..80036724 100644
--- a/packages/mobile/package.json
+++ b/apps/mobile/package.json
@@ -1,13 +1,16 @@
{
- "name": "hoarder-mobile",
+ "name": "@hoarder/mobile",
"version": "1.0.0",
"main": "expo-router/entry",
"scripts": {
+ "clean": "git clean -xdf .expo .turbo node_modules",
"start": "expo start",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web",
- "lint": "eslint ."
+ "lint": "eslint .",
+ "format": "prettier --check . --ignore-path .gitignore",
+ "typecheck": "tsc --noEmit"
},
"dependencies": {
"@hoarder/trpc": "0.1.0",
@@ -27,7 +30,7 @@
"expo-web-browser": "^12.8.2",
"lucide-react-native": "^0.354.0",
"nativewind": "^4.0.1",
- "react": "18.2.0",
+ "react": "^18.2.0",
"react-native": "0.73.4",
"react-native-markdown-display": "^7.0.2",
"react-native-reanimated": "^3.8.0",
@@ -40,14 +43,29 @@
"zustand": "^4.5.1"
},
"devDependencies": {
+ "@hoarder/eslint-config": "workspace:^0.2.0",
+ "@hoarder/prettier-config": "workspace:^0.1.0",
+ "@hoarder/tailwind-config": "workspace:^0.1.0",
+ "@hoarder/tsconfig": "workspace:^0.1.0",
"@babel/core": "^7.20.0",
- "@types/react": "~18.2.45",
+ "@types/react": "^18.2.55",
"ajv": "latest",
"eslint": "^8.57.0",
"eslint-config-universe": "^12.0.0",
"prettier": "^3.2.5",
- "tailwindcss": "3.3.2",
- "typescript": "^5.1.3"
+ "tailwindcss": "^3.4.1",
+ "typescript": "^5.3.3"
},
- "private": true
+ "private": true,
+ "eslintConfig": {
+ "root": true,
+ "extends": [
+ "@hoarder/eslint-config/base",
+ "@hoarder/eslint-config/react"
+ ],
+ "ignorePatterns": [
+ "expo-plugins/**"
+ ]
+ },
+ "prettier": "@hoarder/prettier-config"
}
diff --git a/packages/mobile/tailwind.config.js b/apps/mobile/tailwind.config.ts
index b49f9598..ce0059d4 100644
--- a/packages/mobile/tailwind.config.js
+++ b/apps/mobile/tailwind.config.ts
@@ -1,7 +1,7 @@
-const { hairlineWidth } = require("nativewind/theme");
+import type { Config } from "tailwindcss";
+import { hairlineWidth } from "nativewind/theme";
-/** @type {import('tailwindcss').Config} */
-module.exports = {
+const config = {
content: ["./app/**/*.{js,jsx,ts,tsx}", "./components/**/*.{js,jsx,ts,tsx}"],
plugins: [],
presets: [require("nativewind/preset")],
@@ -68,4 +68,6 @@ module.exports = {
},
},
},
-};
+} satisfies Config;
+
+export default config;
diff --git a/apps/mobile/tsconfig.json b/apps/mobile/tsconfig.json
new file mode 100644
index 00000000..3bcf5741
--- /dev/null
+++ b/apps/mobile/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "extends": "expo/tsconfig.base",
+ "compilerOptions": {
+ "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json",
+ "types": ["nativewind/types"],
+ "incremental": true,
+ "strict": true,
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./*"]
+ }
+ },
+ "exclude": ["node_modules"]
+}