diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml index 9509a22e99..b84fd54fae 100644 --- a/.github/workflows/budibase_ci.yml +++ b/.github/workflows/budibase_ci.yml @@ -154,7 +154,7 @@ jobs: node-version: 14.x cache: "yarn" - run: yarn - - run: yarn build + - run: yarn build --projects=@budibase/server,@budibase/worker,@budibase/client - name: Run tests run: | cd qa-core diff --git a/.gitignore b/.gitignore index b3dc8af0d4..22a7313e66 100644 --- a/.gitignore +++ b/.gitignore @@ -101,8 +101,6 @@ packages/builder/cypress.env.json packages/builder/cypress/reports stats.html -# TypeScript cache -*.tsbuildinfo # plugins budibase-component diff --git a/lerna.json b/lerna.json index 74a1392bf9..13fc86bb18 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.8.29-alpha.11", + "version": "2.8.29-alpha.12", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/nx.json b/nx.json index 9680f96dc1..8176bae82c 100644 --- a/nx.json +++ b/nx.json @@ -8,14 +8,5 @@ } } }, - "targetDefaults": { - "dev:builder": { - "dependsOn": [ - { - "projects": ["@budibase/string-templates"], - "target": "build" - } - ] - } - } + "targetDefaults": {} } diff --git a/package.json b/package.json index ab62955124..d27af2e27d 100644 --- a/package.json +++ b/package.json @@ -51,9 +51,9 @@ "kill-builder": "kill-port 3000", "kill-server": "kill-port 4001 4002", "kill-all": "yarn run kill-builder && yarn run kill-server", - "dev": "yarn run kill-all && lerna run --stream --parallel dev:builder", - "dev:noserver": "yarn run kill-builder && lerna run --stream dev:stack:up && lerna run --stream --parallel dev:builder --ignore @budibase/backend-core --ignore @budibase/server --ignore @budibase/worker", - "dev:server": "yarn run kill-server && lerna run --stream --parallel dev:builder --scope @budibase/worker --scope @budibase/server", + "dev": "yarn run kill-all && lerna run --stream dev:builder", + "dev:noserver": "yarn run kill-builder && lerna run --stream dev:stack:up && lerna run --stream dev:builder --ignore @budibase/backend-core --ignore @budibase/server --ignore @budibase/worker", + "dev:server": "yarn run kill-server && lerna run --stream dev:builder --scope @budibase/worker --scope @budibase/server", "dev:built": "yarn run kill-all && cd packages/server && yarn dev:stack:up && cd ../../ && lerna run --stream dev:built", "dev:docker": "yarn build:docker:pre && docker-compose -f hosting/docker-compose.build.yaml -f hosting/docker-compose.dev.yaml --env-file hosting/.env up --build --scale proxy-service=0", "test": "lerna run --stream test --stream", diff --git a/packages/backend-core/jest.config.ts b/packages/backend-core/jest.config.ts index 52d042dbac..3f1065ead2 100644 --- a/packages/backend-core/jest.config.ts +++ b/packages/backend-core/jest.config.ts @@ -9,6 +9,7 @@ const baseConfig: Config.InitialProjectOptions = { }, moduleNameMapper: { "@budibase/types": "/../types/src", + "@budibase/shared-core": ["/../shared-core/src"], }, } diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index b842abb389..4631b090fe 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -88,20 +88,5 @@ "ts-node": "10.8.1", "tsconfig-paths": "4.0.0", "typescript": "4.7.3" - }, - "nx": { - "targets": { - "build": { - "dependsOn": [ - { - "projects": [ - "@budibase/types" - ], - "target": "build" - } - ] - } - } - }, - "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" + } } diff --git a/packages/backend-core/tsconfig.json b/packages/backend-core/tsconfig.json index 2993ff84ed..128814b955 100644 --- a/packages/backend-core/tsconfig.json +++ b/packages/backend-core/tsconfig.json @@ -4,7 +4,8 @@ "composite": true, "baseUrl": ".", "paths": { - "@budibase/types": ["../types/src"] + "@budibase/types": ["../types/src"], + "@budibase/shared-core": ["../shared-core/src"] } }, "exclude": ["node_modules", "dist"] diff --git a/packages/bbui/package.json b/packages/bbui/package.json index e5d0ad6b57..8a9318ba94 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -98,13 +98,13 @@ { "projects": [ "@budibase/string-templates", - "@budibase/shared-core" + "@budibase/shared-core", + "@budibase/types" ], "target": "build" } ] } } - }, - "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" + } } diff --git a/packages/builder/package.json b/packages/builder/package.json index b6adfc674c..56834f79dd 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -133,8 +133,9 @@ "dependsOn": [ { "projects": [ + "@budibase/shared-core", "@budibase/string-templates", - "@budibase/shared-core" + "@budibase/types" ], "target": "build" } @@ -144,8 +145,8 @@ "dependsOn": [ { "projects": [ - "@budibase/string-templates", "@budibase/shared-core", + "@budibase/string-templates", "@budibase/types" ], "target": "build" @@ -157,13 +158,13 @@ { "projects": [ "@budibase/shared-core", - "@budibase/string-templates" + "@budibase/string-templates", + "@budibase/types" ], "target": "build" } ] } } - }, - "gitHead": "115189f72a850bfb52b65ec61d932531bf327072" + } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 4437469be2..cb59bf7c69 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -71,7 +71,8 @@ "dependsOn": [ { "projects": [ - "@budibase/backend-core" + "@budibase/backend-core", + "@budibase/string-templates" ], "target": "build" } diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index ab306debca..c2935129a8 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -16,7 +16,6 @@ "require": ["tsconfig-paths/register"], "swc": true }, - "references": [{ "path": "../types" }, { "path": "../backend-core" }], "include": ["src/**/*", "package.json"], "exclude": ["node_modules", "dist"] } diff --git a/packages/client/package.json b/packages/client/package.json index 689ec332e5..a5ee304610 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -70,14 +70,26 @@ "dependsOn": [ { "projects": [ + "@budibase/shared-core", "@budibase/string-templates", - "@budibase/shared-core" + "@budibase/types" + ], + "target": "build" + } + ] + }, + "dev:builder": { + "dependsOn": [ + { + "projects": [ + "@budibase/shared-core", + "@budibase/string-templates", + "@budibase/types" ], "target": "build" } ] } } - }, - "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" + } } diff --git a/packages/client/rollup.config.js b/packages/client/rollup.config.js index c22b928f10..ee839424ee 100644 --- a/packages/client/rollup.config.js +++ b/packages/client/rollup.config.js @@ -25,11 +25,11 @@ const devPaths = production : [ { find: "@budibase/shared-core", - replacement: path.resolve("../shared-core/dist/mjs/src/index"), + replacement: path.resolve("../shared-core/dist/index"), }, { find: "@budibase/types", - replacement: path.resolve("../types/dist/mjs/index"), + replacement: path.resolve("../types/dist/index"), }, ] diff --git a/packages/server/nodemon.json b/packages/server/nodemon.json index 7956ad161b..33d277dd64 100644 --- a/packages/server/nodemon.json +++ b/packages/server/nodemon.json @@ -1,10 +1,13 @@ { - "watch": ["src", "../backend-core", "../pro"], - "ext": "js,ts,json", - "ignore": [ - "src/**/*.spec.ts", - "src/**/*.spec.js", - "../backend-core/dist/**/*" + "watch": [ + "src", + "../backend-core", + "../pro", + "../types", + "../shared-core", + "../string-templates" ], + "ext": "js,ts,json", + "ignore": ["src/**/*.spec.ts", "src/**/*.spec.js", "../*/dist/**/*"], "exec": "yarn build && node ./dist/index.js" } diff --git a/packages/server/package.json b/packages/server/package.json index ba663df9c3..7d0d8f5feb 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -179,31 +179,5 @@ }, "optionalDependencies": { "oracledb": "5.3.0" - }, - "nx": { - "targets": { - "dev:builder": { - "dependsOn": [ - { - "projects": [ - "@budibase/backend-core" - ], - "target": "build" - } - ] - }, - "test": { - "dependsOn": [ - { - "projects": [ - "@budibase/string-templates", - "@budibase/shared-core" - ], - "target": "build" - } - ] - } - } - }, - "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" + } } diff --git a/packages/server/scripts/integrations/postgres/init.sql b/packages/server/scripts/integrations/postgres/init.sql index 5e385c12d7..6cb3f51269 100644 --- a/packages/server/scripts/integrations/postgres/init.sql +++ b/packages/server/scripts/integrations/postgres/init.sql @@ -1,6 +1,6 @@ SELECT 'CREATE DATABASE main' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'main')\gexec -CREATE SCHEMA test; +CREATE SCHEMA "test-1"; CREATE TYPE person_job AS ENUM ('qa', 'programmer', 'designer'); CREATE TABLE Persons ( PersonID SERIAL PRIMARY KEY, @@ -39,7 +39,7 @@ CREATE TABLE Products_Tasks ( REFERENCES Tasks(TaskID), PRIMARY KEY (ProductID, TaskID) ); -CREATE TABLE test.table1 ( +CREATE TABLE "test-1".table1 ( id SERIAL PRIMARY KEY, Name varchar(255) ); @@ -60,7 +60,7 @@ INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (1, 1); INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (2, 1); INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (3, 1); INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (1, 2); -INSERT INTO test.table1 (Name) VALUES ('Test'); +INSERT INTO "test-1".table1 (Name) VALUES ('Test'); INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('aaa', 'bbb', 'Michael'); INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('bbb', 'ccc', 'Andrew'); INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('ddd', '', 'OneKey'); diff --git a/packages/server/scripts/test.sh b/packages/server/scripts/test.sh index f3f679c4da..bc21ec53ed 100644 --- a/packages/server/scripts/test.sh +++ b/packages/server/scripts/test.sh @@ -5,8 +5,8 @@ if [[ -n $CI ]] then # --runInBand performs better in ci where resources are limited export NODE_OPTIONS="--max-old-space-size=4096" - echo "jest --coverage --runInBand --forceExit" - jest --coverage --runInBand --forceExit + echo "jest --coverage --runInBand --forceExit --bail" + jest --coverage --runInBand --forceExit --bail else # --maxWorkers performs better in development echo "jest --coverage --maxWorkers=2 --forceExit" diff --git a/packages/server/src/integrations/postgres.ts b/packages/server/src/integrations/postgres.ts index b16f5b858b..c4b7c2bb65 100644 --- a/packages/server/src/integrations/postgres.ts +++ b/packages/server/src/integrations/postgres.ts @@ -210,7 +210,7 @@ class PostgresIntegration extends Sql implements DatasourcePlus { if (!this.config.schema) { this.config.schema = "public" } - await this.client.query(`SET search_path TO ${this.config.schema}`) + await this.client.query(`SET search_path TO "${this.config.schema}"`) this.COLUMNS_SQL = `select * from information_schema.columns where table_schema = '${this.config.schema}'` this.open = true } diff --git a/packages/shared-core/package.json b/packages/shared-core/package.json index f79075eb2e..98ee89999b 100644 --- a/packages/shared-core/package.json +++ b/packages/shared-core/package.json @@ -2,22 +2,21 @@ "name": "@budibase/shared-core", "version": "0.0.0", "description": "Shared data utils", - "main": "dist/cjs/src/index.js", - "types": "dist/mjs/src/index.d.ts", + "main": "src/index.ts", + "types": "src/index.ts", "exports": { ".": { - "import": "./dist/mjs/src/index.js", - "require": "./dist/cjs/src/index.js" - }, - "./package.json": "./dist/mjs/package.json" + "import": "./dist/index.js", + "require": "./src/index.ts" + } }, "author": "Budibase", "license": "GPL-3.0", "scripts": { "prebuild": "rimraf dist/", - "build": "tsc -p tsconfig.build.json && tsc -p tsconfig-cjs.build.json", + "build": "tsc -p tsconfig.build.json", "build:dev": "yarn prebuild && tsc --build --watch --preserveWatchOutput", - "dev:builder": "yarn prebuild && concurrently \"tsc -p tsconfig.build.json --watch\" \"tsc -p tsconfig-cjs.build.json --watch\"", + "dev:builder": "yarn prebuild && tsc -p tsconfig.json --watch --preserveWatchOutput", "check:types": "tsc -p tsconfig.json --noEmit --paths null" }, "dependencies": { @@ -27,19 +26,5 @@ "concurrently": "^7.6.0", "rimraf": "3.0.2", "typescript": "4.7.3" - }, - "nx": { - "targets": { - "build": { - "dependsOn": [ - { - "projects": [ - "@budibase/types" - ], - "target": "build" - } - ] - } - } } } diff --git a/packages/shared-core/tsconfig-base.build.json b/packages/shared-core/tsconfig-base.build.json deleted file mode 100644 index 6930e3cb99..0000000000 --- a/packages/shared-core/tsconfig-base.build.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "moduleResolution": "node", - "lib": ["es2020"], - "strict": true, - "noImplicitAny": true, - "esModuleInterop": true, - "resolveJsonModule": true, - "incremental": true, - "sourceMap": true, - "declaration": true, - "types": ["node"], - "outDir": "dist", - "skipLibCheck": true - }, - "include": ["**/*.js", "**/*.ts"], - "exclude": [ - "node_modules", - "dist", - "**/*.spec.ts", - "**/*.spec.js", - "__mocks__" - ] -} diff --git a/packages/shared-core/tsconfig-cjs.build.json b/packages/shared-core/tsconfig-cjs.build.json deleted file mode 100644 index 45e81e575c..0000000000 --- a/packages/shared-core/tsconfig-cjs.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig-base.build.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "dist/cjs/src", - "target": "es2015" - } -} diff --git a/packages/shared-core/tsconfig.build.json b/packages/shared-core/tsconfig.build.json index 2a00a44dfe..6930e3cb99 100644 --- a/packages/shared-core/tsconfig.build.json +++ b/packages/shared-core/tsconfig.build.json @@ -1,8 +1,25 @@ { - "extends": "./tsconfig-base.build.json", "compilerOptions": { - "module": "esnext", - "outDir": "dist/mjs/src", - "target": "esnext" - } + "target": "es6", + "moduleResolution": "node", + "lib": ["es2020"], + "strict": true, + "noImplicitAny": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "incremental": true, + "sourceMap": true, + "declaration": true, + "types": ["node"], + "outDir": "dist", + "skipLibCheck": true + }, + "include": ["**/*.js", "**/*.ts"], + "exclude": [ + "node_modules", + "dist", + "**/*.spec.ts", + "**/*.spec.js", + "__mocks__" + ] } diff --git a/packages/shared-core/tsconfig.json b/packages/shared-core/tsconfig.json index 3f32e2adb8..f72933ff9b 100644 --- a/packages/shared-core/tsconfig.json +++ b/packages/shared-core/tsconfig.json @@ -1,12 +1,13 @@ { "extends": "./tsconfig.build.json", "compilerOptions": { - "composite": true, "baseUrl": ".", + "rootDir": "./src", + "composite": true, + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo", "paths": { - "@budibase/types": ["../types/src"] + "@budibase/types": ["../../types/src"] } }, - "include": ["**/*.js", "**/*.ts"], "exclude": ["node_modules", "dist"] } diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index d9416bad4c..4dc4c17ad8 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -46,6 +46,5 @@ "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-terser": "^7.0.2", "typescript": "4.7.3" - }, - "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" + } } diff --git a/packages/types/package.json b/packages/types/package.json index c419a4d527..96ab8cb095 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,21 +2,21 @@ "name": "@budibase/types", "version": "0.0.0", "description": "Budibase types", - "main": "dist/cjs/index.js", - "types": "dist/mjs/index.d.ts", + "main": "src/index.ts", + "types": "src/index.ts", "exports": { ".": { - "import": "./dist/mjs/index.js", - "require": "./dist/cjs/index.js" + "import": "./dist/index.js", + "require": "./src/index.ts" } }, "author": "Budibase", "license": "GPL-3.0", "scripts": { "prebuild": "rimraf dist/", - "build": "tsc -p tsconfig.build.json && tsc -p tsconfig-cjs.build.json", + "build": "tsc -p tsconfig.build.json", "build:dev": "yarn prebuild && tsc --build --watch --preserveWatchOutput", - "dev:builder": "yarn prebuild && concurrently \"tsc -p tsconfig.build.json --watch\" \"tsc -p tsconfig-cjs.build.json --watch\"", + "dev:builder": "yarn prebuild && tsc -p tsconfig.json --watch --preserveWatchOutput", "check:types": "tsc -p tsconfig.json --noEmit --paths null" }, "jest": {}, diff --git a/packages/types/tsconfig-base.build.json b/packages/types/tsconfig-base.build.json deleted file mode 100644 index d2403d75fc..0000000000 --- a/packages/types/tsconfig-base.build.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "lib": ["es2020"], - "strict": true, - "noImplicitAny": true, - "esModuleInterop": true, - "resolveJsonModule": true, - "incremental": true, - "sourceMap": true, - "declaration": true, - "skipLibCheck": true - }, - "include": ["src/**/*"], - "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.spec.js"] -} diff --git a/packages/types/tsconfig-cjs.build.json b/packages/types/tsconfig-cjs.build.json deleted file mode 100644 index 9b479b7b34..0000000000 --- a/packages/types/tsconfig-cjs.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig-base.build.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "dist/cjs", - "target": "es2015" - } -} diff --git a/packages/types/tsconfig.build.json b/packages/types/tsconfig.build.json index 9643676b52..f2c4c7667b 100644 --- a/packages/types/tsconfig.build.json +++ b/packages/types/tsconfig.build.json @@ -1,8 +1,18 @@ { - "extends": "./tsconfig-base.build.json", "compilerOptions": { "target": "es6", "moduleResolution": "node", - "outDir": "dist/mjs" - } + "lib": ["es2020"], + "strict": true, + "noImplicitAny": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "incremental": true, + "sourceMap": true, + "declaration": true, + "skipLibCheck": true, + "outDir": "dist" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.spec.js"] } diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index ad5356c2dc..66357a9d71 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,7 +1,10 @@ { "extends": "./tsconfig.build.json", "compilerOptions": { - "composite": true + "baseUrl": ".", + "rootDir": "./src", + "composite": true, + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" }, "exclude": ["node_modules", "dist"] } diff --git a/packages/worker/nodemon.json b/packages/worker/nodemon.json index 9585d85af5..a8e9d45b47 100644 --- a/packages/worker/nodemon.json +++ b/packages/worker/nodemon.json @@ -1,10 +1,13 @@ { - "watch": ["src", "../backend-core", "../pro"], - "ext": "js,ts,json", - "ignore": [ - "src/**/*.spec.ts", - "src/**/*.spec.js", - "../backend-core/dist/**/*" + "watch": [ + "src", + "../backend-core", + "../pro", + "../types", + "../shared-core", + "../string-templates" ], + "ext": "js,ts,json", + "ignore": ["src/**/*.spec.ts", "src/**/*.spec.js", "../*/dist/**/*"], "exec": "yarn build && node dist/index.js" } diff --git a/packages/worker/package.json b/packages/worker/package.json index a1b9e68878..a71e9519d9 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -102,20 +102,5 @@ "tsconfig-paths": "4.0.0", "typescript": "4.7.3", "update-dotenv": "1.1.1" - }, - "nx": { - "targets": { - "dev:builder": { - "dependsOn": [ - { - "projects": [ - "@budibase/backend-core" - ], - "target": "build" - } - ] - } - } - }, - "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" + } } diff --git a/packages/worker/scripts/test.sh b/packages/worker/scripts/test.sh index d7659a9318..e9755f6afe 100644 --- a/packages/worker/scripts/test.sh +++ b/packages/worker/scripts/test.sh @@ -4,8 +4,8 @@ set -e if [[ -n $CI ]] then # --runInBand performs better in ci where resources are limited - echo "jest --coverage --runInBand --forceExit" - jest --coverage --runInBand --forceExit + echo "jest --coverage --runInBand --forceExit --bail" + jest --coverage --runInBand --forceExit --bail else # --maxWorkers performs better in development echo "jest --coverage --maxWorkers=2 --forceExit"