Merge branch 'develop' into BUDI-7189/add_primary_column

This commit is contained in:
Adria Navarro 2023-08-02 13:49:18 +01:00 committed by GitHub
commit e8b2a074d0
33 changed files with 123 additions and 210 deletions

View File

@ -154,7 +154,7 @@ jobs:
node-version: 14.x node-version: 14.x
cache: "yarn" cache: "yarn"
- run: yarn - run: yarn
- run: yarn build - run: yarn build --projects=@budibase/server,@budibase/worker,@budibase/client
- name: Run tests - name: Run tests
run: | run: |
cd qa-core cd qa-core

2
.gitignore vendored
View File

@ -101,8 +101,6 @@ packages/builder/cypress.env.json
packages/builder/cypress/reports packages/builder/cypress/reports
stats.html stats.html
# TypeScript cache
*.tsbuildinfo
# plugins # plugins
budibase-component budibase-component

View File

@ -1,5 +1,5 @@
{ {
"version": "2.8.29-alpha.11", "version": "2.8.29-alpha.12",
"npmClient": "yarn", "npmClient": "yarn",
"packages": [ "packages": [
"packages/*" "packages/*"

11
nx.json
View File

@ -8,14 +8,5 @@
} }
} }
}, },
"targetDefaults": { "targetDefaults": {}
"dev:builder": {
"dependsOn": [
{
"projects": ["@budibase/string-templates"],
"target": "build"
}
]
}
}
} }

View File

@ -51,9 +51,9 @@
"kill-builder": "kill-port 3000", "kill-builder": "kill-port 3000",
"kill-server": "kill-port 4001 4002", "kill-server": "kill-port 4001 4002",
"kill-all": "yarn run kill-builder && yarn run kill-server", "kill-all": "yarn run kill-builder && yarn run kill-server",
"dev": "yarn run kill-all && lerna run --stream --parallel dev:builder", "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 --parallel dev:builder --ignore @budibase/backend-core --ignore @budibase/server --ignore @budibase/worker", "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 --parallel dev:builder --scope @budibase/worker --scope @budibase/server", "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: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", "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", "test": "lerna run --stream test --stream",

View File

@ -9,6 +9,7 @@ const baseConfig: Config.InitialProjectOptions = {
}, },
moduleNameMapper: { moduleNameMapper: {
"@budibase/types": "<rootDir>/../types/src", "@budibase/types": "<rootDir>/../types/src",
"@budibase/shared-core": ["<rootDir>/../shared-core/src"],
}, },
} }

View File

@ -88,20 +88,5 @@
"ts-node": "10.8.1", "ts-node": "10.8.1",
"tsconfig-paths": "4.0.0", "tsconfig-paths": "4.0.0",
"typescript": "4.7.3" "typescript": "4.7.3"
},
"nx": {
"targets": {
"build": {
"dependsOn": [
{
"projects": [
"@budibase/types"
],
"target": "build"
}
]
} }
} }
},
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc"
}

View File

@ -4,7 +4,8 @@
"composite": true, "composite": true,
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@budibase/types": ["../types/src"] "@budibase/types": ["../types/src"],
"@budibase/shared-core": ["../shared-core/src"]
} }
}, },
"exclude": ["node_modules", "dist"] "exclude": ["node_modules", "dist"]

View File

@ -98,13 +98,13 @@
{ {
"projects": [ "projects": [
"@budibase/string-templates", "@budibase/string-templates",
"@budibase/shared-core" "@budibase/shared-core",
"@budibase/types"
], ],
"target": "build" "target": "build"
} }
] ]
} }
} }
}, }
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc"
} }

View File

@ -133,8 +133,9 @@
"dependsOn": [ "dependsOn": [
{ {
"projects": [ "projects": [
"@budibase/shared-core",
"@budibase/string-templates", "@budibase/string-templates",
"@budibase/shared-core" "@budibase/types"
], ],
"target": "build" "target": "build"
} }
@ -144,8 +145,8 @@
"dependsOn": [ "dependsOn": [
{ {
"projects": [ "projects": [
"@budibase/string-templates",
"@budibase/shared-core", "@budibase/shared-core",
"@budibase/string-templates",
"@budibase/types" "@budibase/types"
], ],
"target": "build" "target": "build"
@ -157,13 +158,13 @@
{ {
"projects": [ "projects": [
"@budibase/shared-core", "@budibase/shared-core",
"@budibase/string-templates" "@budibase/string-templates",
"@budibase/types"
], ],
"target": "build" "target": "build"
} }
] ]
} }
} }
}, }
"gitHead": "115189f72a850bfb52b65ec61d932531bf327072"
} }

View File

@ -71,7 +71,8 @@
"dependsOn": [ "dependsOn": [
{ {
"projects": [ "projects": [
"@budibase/backend-core" "@budibase/backend-core",
"@budibase/string-templates"
], ],
"target": "build" "target": "build"
} }

View File

@ -16,7 +16,6 @@
"require": ["tsconfig-paths/register"], "require": ["tsconfig-paths/register"],
"swc": true "swc": true
}, },
"references": [{ "path": "../types" }, { "path": "../backend-core" }],
"include": ["src/**/*", "package.json"], "include": ["src/**/*", "package.json"],
"exclude": ["node_modules", "dist"] "exclude": ["node_modules", "dist"]
} }

View File

@ -70,14 +70,26 @@
"dependsOn": [ "dependsOn": [
{ {
"projects": [ "projects": [
"@budibase/shared-core",
"@budibase/string-templates", "@budibase/string-templates",
"@budibase/shared-core" "@budibase/types"
],
"target": "build"
}
]
},
"dev:builder": {
"dependsOn": [
{
"projects": [
"@budibase/shared-core",
"@budibase/string-templates",
"@budibase/types"
], ],
"target": "build" "target": "build"
} }
] ]
} }
} }
}, }
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc"
} }

View File

@ -25,11 +25,11 @@ const devPaths = production
: [ : [
{ {
find: "@budibase/shared-core", find: "@budibase/shared-core",
replacement: path.resolve("../shared-core/dist/mjs/src/index"), replacement: path.resolve("../shared-core/dist/index"),
}, },
{ {
find: "@budibase/types", find: "@budibase/types",
replacement: path.resolve("../types/dist/mjs/index"), replacement: path.resolve("../types/dist/index"),
}, },
] ]

View File

@ -1,10 +1,13 @@
{ {
"watch": ["src", "../backend-core", "../pro"], "watch": [
"ext": "js,ts,json", "src",
"ignore": [ "../backend-core",
"src/**/*.spec.ts", "../pro",
"src/**/*.spec.js", "../types",
"../backend-core/dist/**/*" "../shared-core",
"../string-templates"
], ],
"ext": "js,ts,json",
"ignore": ["src/**/*.spec.ts", "src/**/*.spec.js", "../*/dist/**/*"],
"exec": "yarn build && node ./dist/index.js" "exec": "yarn build && node ./dist/index.js"
} }

View File

@ -179,31 +179,5 @@
}, },
"optionalDependencies": { "optionalDependencies": {
"oracledb": "5.3.0" "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"
}

View File

@ -1,6 +1,6 @@
SELECT 'CREATE DATABASE main' SELECT 'CREATE DATABASE main'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'main')\gexec 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 TYPE person_job AS ENUM ('qa', 'programmer', 'designer');
CREATE TABLE Persons ( CREATE TABLE Persons (
PersonID SERIAL PRIMARY KEY, PersonID SERIAL PRIMARY KEY,
@ -39,7 +39,7 @@ CREATE TABLE Products_Tasks (
REFERENCES Tasks(TaskID), REFERENCES Tasks(TaskID),
PRIMARY KEY (ProductID, TaskID) PRIMARY KEY (ProductID, TaskID)
); );
CREATE TABLE test.table1 ( CREATE TABLE "test-1".table1 (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
Name varchar(255) 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 (2, 1);
INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (3, 1); INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (3, 1);
INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (1, 2); 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 ('aaa', 'bbb', 'Michael');
INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('bbb', 'ccc', 'Andrew'); INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('bbb', 'ccc', 'Andrew');
INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('ddd', '', 'OneKey'); INSERT INTO CompositeTable (KeyPartOne, KeyPartTwo, Name) VALUES ('ddd', '', 'OneKey');

View File

@ -5,8 +5,8 @@ if [[ -n $CI ]]
then then
# --runInBand performs better in ci where resources are limited # --runInBand performs better in ci where resources are limited
export NODE_OPTIONS="--max-old-space-size=4096" export NODE_OPTIONS="--max-old-space-size=4096"
echo "jest --coverage --runInBand --forceExit" echo "jest --coverage --runInBand --forceExit --bail"
jest --coverage --runInBand --forceExit jest --coverage --runInBand --forceExit --bail
else else
# --maxWorkers performs better in development # --maxWorkers performs better in development
echo "jest --coverage --maxWorkers=2 --forceExit" echo "jest --coverage --maxWorkers=2 --forceExit"

View File

@ -210,7 +210,7 @@ class PostgresIntegration extends Sql implements DatasourcePlus {
if (!this.config.schema) { if (!this.config.schema) {
this.config.schema = "public" 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.COLUMNS_SQL = `select * from information_schema.columns where table_schema = '${this.config.schema}'`
this.open = true this.open = true
} }

View File

@ -2,22 +2,21 @@
"name": "@budibase/shared-core", "name": "@budibase/shared-core",
"version": "0.0.0", "version": "0.0.0",
"description": "Shared data utils", "description": "Shared data utils",
"main": "dist/cjs/src/index.js", "main": "src/index.ts",
"types": "dist/mjs/src/index.d.ts", "types": "src/index.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/mjs/src/index.js", "import": "./dist/index.js",
"require": "./dist/cjs/src/index.js" "require": "./src/index.ts"
}, }
"./package.json": "./dist/mjs/package.json"
}, },
"author": "Budibase", "author": "Budibase",
"license": "GPL-3.0", "license": "GPL-3.0",
"scripts": { "scripts": {
"prebuild": "rimraf dist/", "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", "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" "check:types": "tsc -p tsconfig.json --noEmit --paths null"
}, },
"dependencies": { "dependencies": {
@ -27,19 +26,5 @@
"concurrently": "^7.6.0", "concurrently": "^7.6.0",
"rimraf": "3.0.2", "rimraf": "3.0.2",
"typescript": "4.7.3" "typescript": "4.7.3"
},
"nx": {
"targets": {
"build": {
"dependsOn": [
{
"projects": [
"@budibase/types"
],
"target": "build"
}
]
}
}
} }
} }

View File

@ -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__"
]
}

View File

@ -1,8 +0,0 @@
{
"extends": "./tsconfig-base.build.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "dist/cjs/src",
"target": "es2015"
}
}

View File

@ -1,8 +1,25 @@
{ {
"extends": "./tsconfig-base.build.json",
"compilerOptions": { "compilerOptions": {
"module": "esnext", "target": "es6",
"outDir": "dist/mjs/src", "moduleResolution": "node",
"target": "esnext" "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__"
]
} }

View File

@ -1,12 +1,13 @@
{ {
"extends": "./tsconfig.build.json", "extends": "./tsconfig.build.json",
"compilerOptions": { "compilerOptions": {
"composite": true,
"baseUrl": ".", "baseUrl": ".",
"rootDir": "./src",
"composite": true,
"tsBuildInfoFile": "dist/tsconfig.tsbuildinfo",
"paths": { "paths": {
"@budibase/types": ["../types/src"] "@budibase/types": ["../../types/src"]
} }
}, },
"include": ["**/*.js", "**/*.ts"],
"exclude": ["node_modules", "dist"] "exclude": ["node_modules", "dist"]
} }

View File

@ -46,6 +46,5 @@
"rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-terser": "^7.0.2", "rollup-plugin-terser": "^7.0.2",
"typescript": "4.7.3" "typescript": "4.7.3"
}, }
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc"
} }

View File

@ -2,21 +2,21 @@
"name": "@budibase/types", "name": "@budibase/types",
"version": "0.0.0", "version": "0.0.0",
"description": "Budibase types", "description": "Budibase types",
"main": "dist/cjs/index.js", "main": "src/index.ts",
"types": "dist/mjs/index.d.ts", "types": "src/index.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/mjs/index.js", "import": "./dist/index.js",
"require": "./dist/cjs/index.js" "require": "./src/index.ts"
} }
}, },
"author": "Budibase", "author": "Budibase",
"license": "GPL-3.0", "license": "GPL-3.0",
"scripts": { "scripts": {
"prebuild": "rimraf dist/", "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", "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" "check:types": "tsc -p tsconfig.json --noEmit --paths null"
}, },
"jest": {}, "jest": {},

View File

@ -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"]
}

View File

@ -1,8 +0,0 @@
{
"extends": "./tsconfig-base.build.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "dist/cjs",
"target": "es2015"
}
}

View File

@ -1,8 +1,18 @@
{ {
"extends": "./tsconfig-base.build.json",
"compilerOptions": { "compilerOptions": {
"target": "es6", "target": "es6",
"moduleResolution": "node", "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"]
} }

View File

@ -1,7 +1,10 @@
{ {
"extends": "./tsconfig.build.json", "extends": "./tsconfig.build.json",
"compilerOptions": { "compilerOptions": {
"composite": true "baseUrl": ".",
"rootDir": "./src",
"composite": true,
"tsBuildInfoFile": "dist/tsconfig.tsbuildinfo"
}, },
"exclude": ["node_modules", "dist"] "exclude": ["node_modules", "dist"]
} }

View File

@ -1,10 +1,13 @@
{ {
"watch": ["src", "../backend-core", "../pro"], "watch": [
"ext": "js,ts,json", "src",
"ignore": [ "../backend-core",
"src/**/*.spec.ts", "../pro",
"src/**/*.spec.js", "../types",
"../backend-core/dist/**/*" "../shared-core",
"../string-templates"
], ],
"ext": "js,ts,json",
"ignore": ["src/**/*.spec.ts", "src/**/*.spec.js", "../*/dist/**/*"],
"exec": "yarn build && node dist/index.js" "exec": "yarn build && node dist/index.js"
} }

View File

@ -102,20 +102,5 @@
"tsconfig-paths": "4.0.0", "tsconfig-paths": "4.0.0",
"typescript": "4.7.3", "typescript": "4.7.3",
"update-dotenv": "1.1.1" "update-dotenv": "1.1.1"
},
"nx": {
"targets": {
"dev:builder": {
"dependsOn": [
{
"projects": [
"@budibase/backend-core"
],
"target": "build"
}
]
} }
} }
},
"gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc"
}

View File

@ -4,8 +4,8 @@ set -e
if [[ -n $CI ]] if [[ -n $CI ]]
then then
# --runInBand performs better in ci where resources are limited # --runInBand performs better in ci where resources are limited
echo "jest --coverage --runInBand --forceExit" echo "jest --coverage --runInBand --forceExit --bail"
jest --coverage --runInBand --forceExit jest --coverage --runInBand --forceExit --bail
else else
# --maxWorkers performs better in development # --maxWorkers performs better in development
echo "jest --coverage --maxWorkers=2 --forceExit" echo "jest --coverage --maxWorkers=2 --forceExit"