diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 49e988de..dcf81c44 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -48,8 +48,8 @@ jobs: - name: Run Typescript checker on web client if: ${{ success() || failure() }} working-directory: web - run: tsc -b -v --pretty + run: tsc --pretty --project tsconfig.json --noEmit - name: Run Typescript checker on cloud functions if: ${{ success() || failure() }} working-directory: functions - run: tsc -b -v --pretty + run: tsc --pretty --project tsconfig.json --noEmit diff --git a/common/.gitignore b/common/.gitignore index 11320851..e0ba0181 100644 --- a/common/.gitignore +++ b/common/.gitignore @@ -1,5 +1,6 @@ # Compiled JavaScript files -lib/ +lib/**/*.js +lib/**/*.js.map # TypeScript v1 declaration files typings/ @@ -9,4 +10,4 @@ node_modules/ package-lock.json ui-debug.log -firebase-debug.log +firebase-debug.log \ No newline at end of file diff --git a/common/tsconfig.json b/common/tsconfig.json index 62a5c745..158a5218 100644 --- a/common/tsconfig.json +++ b/common/tsconfig.json @@ -1,8 +1,6 @@ { "compilerOptions": { "baseUrl": "../", - "composite": true, - "module": "commonjs", "moduleResolution": "node", "noImplicitReturns": true, "outDir": "lib", diff --git a/firebase.json b/firebase.json index 25f9b61f..de1e19b7 100644 --- a/firebase.json +++ b/firebase.json @@ -1,8 +1,8 @@ { "functions": { - "predeploy": "cd functions && yarn build", + "predeploy": "npm --prefix \"$RESOURCE_DIR\" run build", "runtime": "nodejs16", - "source": "functions/dist" + "source": "functions" }, "firestore": { "rules": "firestore.rules", diff --git a/functions/.gitignore b/functions/.gitignore index 2aeae30c..7aeaedd4 100644 --- a/functions/.gitignore +++ b/functions/.gitignore @@ -2,11 +2,9 @@ .env* .runtimeconfig.json -# GCP deployment artifact -dist/ - # Compiled JavaScript files -lib/ +lib/**/*.js +lib/**/*.js.map # TypeScript v1 declaration files typings/ diff --git a/functions/package.json b/functions/package.json index 45ddcac2..7b5c30b0 100644 --- a/functions/package.json +++ b/functions/package.json @@ -5,8 +5,7 @@ "firestore": "dev-mantic-markets.appspot.com" }, "scripts": { - "build": "yarn compile && rm -rf dist && mkdir -p dist/functions && cp -R ../common/lib dist/common && cp -R lib/src dist/functions/src && cp ../yarn.lock dist && cp package.json dist", - "compile": "tsc -b", + "build": "tsc", "watch": "tsc -w", "shell": "yarn build && firebase functions:shell", "start": "yarn shell", @@ -19,7 +18,7 @@ "db:backup-remote": "yarn db:rename-remote-backup-folder && gcloud firestore export gs://$npm_package_config_firestore/firestore_export/", "verify": "(cd .. && yarn verify)" }, - "main": "functions/src/index.js", + "main": "lib/functions/src/index.js", "dependencies": { "@amplitude/node": "1.10.0", "fetch": "1.1.0", diff --git a/functions/tsconfig.json b/functions/tsconfig.json index 9496b9cb..e183bb44 100644 --- a/functions/tsconfig.json +++ b/functions/tsconfig.json @@ -1,7 +1,6 @@ { "compilerOptions": { "baseUrl": "../", - "composite": true, "module": "commonjs", "noImplicitReturns": true, "outDir": "lib", @@ -9,11 +8,6 @@ "strict": true, "target": "es2017" }, - "references": [ - { - "path": "../common" - } - ], "compileOnSave": true, - "include": ["src"] + "include": ["src", "../common/**/*.ts"] } diff --git a/web/next.config.js b/web/next.config.js index 28a009ad..56f643d3 100644 --- a/web/next.config.js +++ b/web/next.config.js @@ -4,9 +4,6 @@ const API_DOCS_URL = 'https://docs.manifold.markets/api' module.exports = { staticPageGenerationTimeout: 600, // e.g. stats page reactStrictMode: true, - typescript: { - ignoreBuildErrors: true, - }, experimental: { externalDir: true, optimizeCss: true, diff --git a/web/tsconfig.json b/web/tsconfig.json index 7fbb2472..96cf1311 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -1,7 +1,6 @@ { "compilerOptions": { "target": "es5", - "composite": true, "baseUrl": "../", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, @@ -17,15 +16,10 @@ "jsx": "preserve", "incremental": true }, - "references": [ - { - "path": "../common" - } - ], "watchOptions": { "excludeDirectories": [".next"] }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "../common/**/*.ts"], "exclude": ["node_modules"] }