From 539f0c2e95e34c09def9c3f5db48c4af54548d3c Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 28 Jun 2023 12:17:03 +0530 Subject: [PATCH 01/14] fix: add event handler based activeCell status Signed-off-by: Pranav C --- packages/nc-gui/components/cell/MultiSelect.vue | 6 +++--- packages/nc-gui/components/cell/SingleSelect.vue | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/nc-gui/components/cell/MultiSelect.vue b/packages/nc-gui/components/cell/MultiSelect.vue index e2569578cc..7a22788276 100644 --- a/packages/nc-gui/components/cell/MultiSelect.vue +++ b/packages/nc-gui/components/cell/MultiSelect.vue @@ -48,11 +48,11 @@ const readOnly = inject(ReadonlyInj)! const isEditable = inject(EditModeInj, ref(false)) -const _active = inject(ActiveCellInj, ref(false)) +const activeCell = inject(ActiveCellInj, ref(false)) // use both ActiveCellInj or EditModeInj to determine the active state // since active will be false in case of form view -const active = computed(() => _active.value || isEditable.value) +const active = computed(() => activeCell.value || isEditable.value) const isPublic = inject(IsPublicInj, ref(false)) @@ -180,7 +180,7 @@ watch(isOpen, (n, _o) => { } }) -useSelectedCellKeyupListener(active, (e) => { +useSelectedCellKeyupListener(activeCell, (e) => { switch (e.key) { case 'Escape': isOpen.value = false diff --git a/packages/nc-gui/components/cell/SingleSelect.vue b/packages/nc-gui/components/cell/SingleSelect.vue index 3b9dafbadb..d05eab3966 100644 --- a/packages/nc-gui/components/cell/SingleSelect.vue +++ b/packages/nc-gui/components/cell/SingleSelect.vue @@ -42,11 +42,11 @@ const readOnly = inject(ReadonlyInj)! const isEditable = inject(EditModeInj, ref(false)) -const _active = inject(ActiveCellInj, ref(false)) +const activeCell = inject(ActiveCellInj, ref(false)) // use both ActiveCellInj or EditModeInj to determine the active state // since active will be false in case of form view -const active = computed(() => _active.value || isEditable.value) +const active = computed(() => activeCell.value || isEditable.value) const aselect = ref() @@ -119,7 +119,7 @@ watch(isOpen, (n, _o) => { } }) -useSelectedCellKeyupListener(active, (e) => { +useSelectedCellKeyupListener(activeCell, (e) => { switch (e.key) { case 'Escape': isOpen.value = false From de65ea3041b44aab1278d8061379c918e8a7baac Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 28 Jun 2023 12:21:26 +0530 Subject: [PATCH 02/14] refactor: context menu update option Signed-off-by: Pranav C --- packages/nc-gui/components/smartsheet/Grid.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nc-gui/components/smartsheet/Grid.vue b/packages/nc-gui/components/smartsheet/Grid.vue index 659fe932e8..b16ae4518d 100644 --- a/packages/nc-gui/components/smartsheet/Grid.vue +++ b/packages/nc-gui/components/smartsheet/Grid.vue @@ -82,6 +82,8 @@ const isView = false let editEnabled = $ref(false) +const { appInfo } = useGlobal() + const { xWhere, isPkAvail, isSqlView, eventBus } = useSmartsheetStoreOrThrow() const visibleColLength = $computed(() => fields.value?.length) @@ -1129,7 +1131,7 @@ function addEmptyRow(row?: number) {
From 1a21215eb559df7e37a7928434b56ec84c9d4632 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 28 Jun 2023 12:31:38 +0530 Subject: [PATCH 03/14] fix: do index creation only if relation found Signed-off-by: Pranav C --- .../version-upgrader/ncXcdbLTARUpgrader.ts | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts b/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts index 962d8dab64..66f16d4c37 100644 --- a/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts +++ b/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts @@ -77,17 +77,17 @@ async function upgradeModelRelations({ childTable: relation.tn, foreignKeyName: relation.cstn, }); - } - // skip postgres since we were already creating the index while creating the relation - if (ncMeta.knex.clientType() !== 'pg') { - // create a new index for the column - const indexArgs = { - columns: [relation.cn], - tn: relation.tn, - non_unique: true, - }; - await sqlClient.indexCreate(indexArgs); + // skip postgres since we were already creating the index while creating the relation + if (ncMeta.knex.clientType() !== 'pg') { + // create a new index for the column + const indexArgs = { + columns: [relation.cn], + tn: relation.tn, + non_unique: true, + }; + await sqlClient.indexCreate(indexArgs); + } } } break; From 10f569d398cfdea5150fbd5c5140b855127a0575 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 28 Jun 2023 12:41:21 +0530 Subject: [PATCH 04/14] fix: if colOptions not found then skip Signed-off-by: Pranav C --- packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts b/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts index 66f16d4c37..1f667a1789 100644 --- a/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts +++ b/packages/nocodb/src/version-upgrader/ncXcdbLTARUpgrader.ts @@ -44,6 +44,11 @@ async function upgradeModelRelations({ ncMeta, ); + // if colOptions not found then skip + if (!colOptions) { + continue; + } + switch (colOptions.type) { case RelationTypes.HAS_MANY: { From c6147440dc00d73baa1e2688f268bb15f74b492d Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 13:25:59 +0530 Subject: [PATCH 05/14] test: fix for bulk update to be EE feature Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- tests/playwright/tests/db/bulkUpdate.spec.ts | 32 ++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/playwright/tests/db/bulkUpdate.spec.ts b/tests/playwright/tests/db/bulkUpdate.spec.ts index c3b78d40a5..9783dbd889 100644 --- a/tests/playwright/tests/db/bulkUpdate.spec.ts +++ b/tests/playwright/tests/db/bulkUpdate.spec.ts @@ -4,6 +4,8 @@ import { DashboardPage } from '../../pages/Dashboard'; import { Api } from 'nocodb-sdk'; import { createDemoTable } from '../../setup/demoTable'; import { BulkUpdatePage } from '../../pages/Dashboard/BulkUpdate'; +import { AccountLicensePage } from '../../pages/Account/License'; +import { AccountPage } from '../../pages/Account'; let bulkUpdateForm: BulkUpdatePage; async function updateBulkFields(fields) { @@ -31,6 +33,8 @@ test.describe('Bulk update', () => { context = await setup({ page, isEmptyProject: true }); dashboard = new DashboardPage(page, context.project); bulkUpdateForm = dashboard.bulkUpdateForm; + const accountPage: AccountPage = new AccountPage(page); + const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); api = new Api({ baseURL: `http://localhost:8080/`, @@ -42,6 +46,10 @@ test.describe('Bulk update', () => { table = await createDemoTable({ context, type: 'textBased', recordCnt: 50 }); await page.reload(); + await accountLicensePage.goto(); + await accountLicensePage.saveLicenseKey('1234567890'); + await dashboard.goto(); + await dashboard.treeView.openTable({ title: 'textBased' }); // Open bulk update form @@ -127,6 +135,8 @@ test.describe('Bulk update', () => { context = await setup({ page, isEmptyProject: true }); dashboard = new DashboardPage(page, context.project); bulkUpdateForm = dashboard.bulkUpdateForm; + const accountPage: AccountPage = new AccountPage(page); + const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); api = new Api({ baseURL: `http://localhost:8080/`, @@ -138,6 +148,10 @@ test.describe('Bulk update', () => { table = await createDemoTable({ context, type: 'numberBased', recordCnt: 50 }); await page.reload(); + await accountLicensePage.goto(); + await accountLicensePage.saveLicenseKey('1234567890'); + await dashboard.goto(); + await dashboard.treeView.openTable({ title: 'numberBased' }); // Open bulk update form @@ -197,6 +211,8 @@ test.describe('Bulk update', () => { context = await setup({ page, isEmptyProject: true }); dashboard = new DashboardPage(page, context.project); bulkUpdateForm = dashboard.bulkUpdateForm; + const accountPage: AccountPage = new AccountPage(page); + const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); api = new Api({ baseURL: `http://localhost:8080/`, @@ -208,6 +224,10 @@ test.describe('Bulk update', () => { table = await createDemoTable({ context, type: 'selectBased', recordCnt: 50 }); await page.reload(); + await accountLicensePage.goto(); + await accountLicensePage.saveLicenseKey('1234567890'); + await dashboard.goto(); + await dashboard.treeView.openTable({ title: 'selectBased' }); // Open bulk update form @@ -260,6 +280,8 @@ test.describe('Bulk update', () => { context = await setup({ page, isEmptyProject: true }); dashboard = new DashboardPage(page, context.project); bulkUpdateForm = dashboard.bulkUpdateForm; + const accountPage: AccountPage = new AccountPage(page); + const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); api = new Api({ baseURL: `http://localhost:8080/`, @@ -271,6 +293,10 @@ test.describe('Bulk update', () => { table = await createDemoTable({ context, type: 'miscellaneous', recordCnt: 50 }); await page.reload(); + await accountLicensePage.goto(); + await accountLicensePage.saveLicenseKey('1234567890'); + await dashboard.goto(); + await dashboard.treeView.openTable({ title: 'miscellaneous' }); // Open bulk update form @@ -323,6 +349,8 @@ test.describe('Bulk update', () => { context = await setup({ page, isEmptyProject: true }); dashboard = new DashboardPage(page, context.project); bulkUpdateForm = dashboard.bulkUpdateForm; + const accountPage: AccountPage = new AccountPage(page); + const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); api = new Api({ baseURL: `http://localhost:8080/`, @@ -334,6 +362,10 @@ test.describe('Bulk update', () => { table = await createDemoTable({ context, type: 'dateTimeBased', recordCnt: 50 }); await page.reload(); + await accountLicensePage.goto(); + await accountLicensePage.saveLicenseKey('1234567890'); + await dashboard.goto(); + await dashboard.treeView.openTable({ title: 'dateTimeBased' }); // Open bulk update form From 0487c96565ac54aeb2527499404720a64e38f68a Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 15:11:14 +0530 Subject: [PATCH 06/14] test: waitFor license page render Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- tests/playwright/pages/Account/License.ts | 1 + tests/playwright/tests/db/bulkUpdate.spec.ts | 175 ++++--------------- 2 files changed, 34 insertions(+), 142 deletions(-) diff --git a/tests/playwright/pages/Account/License.ts b/tests/playwright/pages/Account/License.ts index 8501ed0864..b71d0afe03 100644 --- a/tests/playwright/pages/Account/License.ts +++ b/tests/playwright/pages/Account/License.ts @@ -28,6 +28,7 @@ export class AccountLicensePage extends BasePage { } async saveLicenseKey(licenseKey: string) { + await this.get().waitFor({ state: 'visible' }); await this.get().fill(licenseKey); await this.getSaveButton().click(); await this.verifyToast({ message: 'License key updated' }); diff --git a/tests/playwright/tests/db/bulkUpdate.spec.ts b/tests/playwright/tests/db/bulkUpdate.spec.ts index 9783dbd889..f1482f6fc3 100644 --- a/tests/playwright/tests/db/bulkUpdate.spec.ts +++ b/tests/playwright/tests/db/bulkUpdate.spec.ts @@ -8,6 +8,11 @@ import { AccountLicensePage } from '../../pages/Account/License'; import { AccountPage } from '../../pages/Account'; let bulkUpdateForm: BulkUpdatePage; +let dashboard: DashboardPage; +let context: any; +let api: Api; +let table; + async function updateBulkFields(fields) { // move all fields to active for (let i = 0; i < fields.length; i++) { @@ -23,37 +28,35 @@ async function updateBulkFields(fields) { await bulkUpdateForm.save({ awaitResponse: true }); } -test.describe('Bulk update', () => { - let dashboard: DashboardPage; - let context: any; - let api: Api; - let table; +async function beforeEachInit({ page, tableType }: { page: any; tableType: string }) { + context = await setup({ page, isEmptyProject: true }); + dashboard = new DashboardPage(page, context.project); + bulkUpdateForm = dashboard.bulkUpdateForm; + const accountPage: AccountPage = new AccountPage(page); + const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); + + api = new Api({ + baseURL: `http://localhost:8080/`, + headers: { + 'xc-auth': context.token, + }, + }); - test.beforeEach(async ({ page }) => { - context = await setup({ page, isEmptyProject: true }); - dashboard = new DashboardPage(page, context.project); - bulkUpdateForm = dashboard.bulkUpdateForm; - const accountPage: AccountPage = new AccountPage(page); - const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); - - api = new Api({ - baseURL: `http://localhost:8080/`, - headers: { - 'xc-auth': context.token, - }, - }); + table = await createDemoTable({ context, type: tableType, recordCnt: 50 }); - table = await createDemoTable({ context, type: 'textBased', recordCnt: 50 }); - await page.reload(); + await accountLicensePage.goto(); + await accountLicensePage.saveLicenseKey('1234567890'); + await dashboard.goto(); - await accountLicensePage.goto(); - await accountLicensePage.saveLicenseKey('1234567890'); - await dashboard.goto(); + await dashboard.treeView.openTable({ title: tableType }); - await dashboard.treeView.openTable({ title: 'textBased' }); + // Open bulk update form + await dashboard.grid.updateAll(); +} - // Open bulk update form - await dashboard.grid.updateAll(); +test.describe('Bulk update', () => { + test.beforeEach(async ({ page }) => { + await beforeEachInit({ page, tableType: 'textBased' }); }); test('General- Click to add & remove', async () => { @@ -126,36 +129,8 @@ test.describe('Bulk update', () => { }); test.describe('Bulk update', () => { - let dashboard: DashboardPage; - let context: any; - let api: Api; - let table; - test.beforeEach(async ({ page }) => { - context = await setup({ page, isEmptyProject: true }); - dashboard = new DashboardPage(page, context.project); - bulkUpdateForm = dashboard.bulkUpdateForm; - const accountPage: AccountPage = new AccountPage(page); - const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); - - api = new Api({ - baseURL: `http://localhost:8080/`, - headers: { - 'xc-auth': context.token, - }, - }); - - table = await createDemoTable({ context, type: 'numberBased', recordCnt: 50 }); - await page.reload(); - - await accountLicensePage.goto(); - await accountLicensePage.saveLicenseKey('1234567890'); - await dashboard.goto(); - - await dashboard.treeView.openTable({ title: 'numberBased' }); - - // Open bulk update form - await dashboard.grid.updateAll(); + await beforeEachInit({ page, tableType: 'numberBased' }); }); test('Number based', async () => { @@ -202,36 +177,8 @@ test.describe('Bulk update', () => { }); test.describe('Bulk update', () => { - let dashboard: DashboardPage; - let context: any; - let api: Api; - let table; - test.beforeEach(async ({ page }) => { - context = await setup({ page, isEmptyProject: true }); - dashboard = new DashboardPage(page, context.project); - bulkUpdateForm = dashboard.bulkUpdateForm; - const accountPage: AccountPage = new AccountPage(page); - const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); - - api = new Api({ - baseURL: `http://localhost:8080/`, - headers: { - 'xc-auth': context.token, - }, - }); - - table = await createDemoTable({ context, type: 'selectBased', recordCnt: 50 }); - await page.reload(); - - await accountLicensePage.goto(); - await accountLicensePage.saveLicenseKey('1234567890'); - await dashboard.goto(); - - await dashboard.treeView.openTable({ title: 'selectBased' }); - - // Open bulk update form - await dashboard.grid.updateAll(); + await beforeEachInit({ page, tableType: 'selectBased' }); }); test('Select based', async () => { @@ -271,36 +218,8 @@ test.describe('Bulk update', () => { }); test.describe('Bulk update', () => { - let dashboard: DashboardPage; - let context: any; - let api: Api; - let table; - test.beforeEach(async ({ page }) => { - context = await setup({ page, isEmptyProject: true }); - dashboard = new DashboardPage(page, context.project); - bulkUpdateForm = dashboard.bulkUpdateForm; - const accountPage: AccountPage = new AccountPage(page); - const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); - - api = new Api({ - baseURL: `http://localhost:8080/`, - headers: { - 'xc-auth': context.token, - }, - }); - - table = await createDemoTable({ context, type: 'miscellaneous', recordCnt: 50 }); - await page.reload(); - - await accountLicensePage.goto(); - await accountLicensePage.saveLicenseKey('1234567890'); - await dashboard.goto(); - - await dashboard.treeView.openTable({ title: 'miscellaneous' }); - - // Open bulk update form - await dashboard.grid.updateAll(); + await beforeEachInit({ page, tableType: 'miscellaneous' }); }); test('Miscellaneous (Checkbox, attachment)', async () => { @@ -340,36 +259,8 @@ test.describe('Bulk update', () => { }); test.describe('Bulk update', () => { - let dashboard: DashboardPage; - let context: any; - let api: Api; - let table; - test.beforeEach(async ({ page }) => { - context = await setup({ page, isEmptyProject: true }); - dashboard = new DashboardPage(page, context.project); - bulkUpdateForm = dashboard.bulkUpdateForm; - const accountPage: AccountPage = new AccountPage(page); - const accountLicensePage: AccountLicensePage = new AccountLicensePage(accountPage); - - api = new Api({ - baseURL: `http://localhost:8080/`, - headers: { - 'xc-auth': context.token, - }, - }); - - table = await createDemoTable({ context, type: 'dateTimeBased', recordCnt: 50 }); - await page.reload(); - - await accountLicensePage.goto(); - await accountLicensePage.saveLicenseKey('1234567890'); - await dashboard.goto(); - - await dashboard.treeView.openTable({ title: 'dateTimeBased' }); - - // Open bulk update form - await dashboard.grid.updateAll(); + await beforeEachInit({ page, tableType: 'dateTimeBased' }); }); test('Date Time Based', async () => { From f150a7bf69908496726b0c52bafa8536b11a2cbc Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:38:22 +0530 Subject: [PATCH 07/14] test: license key wait kludge Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- tests/playwright/pages/Account/License.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/playwright/pages/Account/License.ts b/tests/playwright/pages/Account/License.ts index b71d0afe03..ed5d1ce468 100644 --- a/tests/playwright/pages/Account/License.ts +++ b/tests/playwright/pages/Account/License.ts @@ -28,7 +28,10 @@ export class AccountLicensePage extends BasePage { } async saveLicenseKey(licenseKey: string) { - await this.get().waitFor({ state: 'visible' }); + // Kludge: fix me! + // await this.get().waitFor({ state: 'visible' }); + await this.rootPage.waitForTimeout(1000); + await this.get().fill(licenseKey); await this.getSaveButton().click(); await this.verifyToast({ message: 'License key updated' }); From 872550fd524021c15fa36e995ce296bc9870d0dd Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:59:43 +0530 Subject: [PATCH 08/14] Revert "refactor: context menu update option" This reverts commit de65ea3041b44aab1278d8061379c918e8a7baac. --- packages/nc-gui/components/smartsheet/Grid.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Grid.vue b/packages/nc-gui/components/smartsheet/Grid.vue index b16ae4518d..659fe932e8 100644 --- a/packages/nc-gui/components/smartsheet/Grid.vue +++ b/packages/nc-gui/components/smartsheet/Grid.vue @@ -82,8 +82,6 @@ const isView = false let editEnabled = $ref(false) -const { appInfo } = useGlobal() - const { xWhere, isPkAvail, isSqlView, eventBus } = useSmartsheetStoreOrThrow() const visibleColLength = $computed(() => fields.value?.length) @@ -1131,7 +1129,7 @@ function addEmptyRow(row?: number) {
From 9f53f980276f0d498c7a0f2d23c67cf2f9876158 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:59:43 +0530 Subject: [PATCH 09/14] Revert "fix: add event handler based activeCell status" This reverts commit 539f0c2e95e34c09def9c3f5db48c4af54548d3c. --- packages/nc-gui/components/cell/MultiSelect.vue | 6 +++--- packages/nc-gui/components/cell/SingleSelect.vue | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/nc-gui/components/cell/MultiSelect.vue b/packages/nc-gui/components/cell/MultiSelect.vue index 7a22788276..e2569578cc 100644 --- a/packages/nc-gui/components/cell/MultiSelect.vue +++ b/packages/nc-gui/components/cell/MultiSelect.vue @@ -48,11 +48,11 @@ const readOnly = inject(ReadonlyInj)! const isEditable = inject(EditModeInj, ref(false)) -const activeCell = inject(ActiveCellInj, ref(false)) +const _active = inject(ActiveCellInj, ref(false)) // use both ActiveCellInj or EditModeInj to determine the active state // since active will be false in case of form view -const active = computed(() => activeCell.value || isEditable.value) +const active = computed(() => _active.value || isEditable.value) const isPublic = inject(IsPublicInj, ref(false)) @@ -180,7 +180,7 @@ watch(isOpen, (n, _o) => { } }) -useSelectedCellKeyupListener(activeCell, (e) => { +useSelectedCellKeyupListener(active, (e) => { switch (e.key) { case 'Escape': isOpen.value = false diff --git a/packages/nc-gui/components/cell/SingleSelect.vue b/packages/nc-gui/components/cell/SingleSelect.vue index d05eab3966..3b9dafbadb 100644 --- a/packages/nc-gui/components/cell/SingleSelect.vue +++ b/packages/nc-gui/components/cell/SingleSelect.vue @@ -42,11 +42,11 @@ const readOnly = inject(ReadonlyInj)! const isEditable = inject(EditModeInj, ref(false)) -const activeCell = inject(ActiveCellInj, ref(false)) +const _active = inject(ActiveCellInj, ref(false)) // use both ActiveCellInj or EditModeInj to determine the active state // since active will be false in case of form view -const active = computed(() => activeCell.value || isEditable.value) +const active = computed(() => _active.value || isEditable.value) const aselect = ref() @@ -119,7 +119,7 @@ watch(isOpen, (n, _o) => { } }) -useSelectedCellKeyupListener(activeCell, (e) => { +useSelectedCellKeyupListener(active, (e) => { switch (e.key) { case 'Escape': isOpen.value = false From 84e9bdb66a15bfc356b7e336f6a5074704bef596 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 17:49:19 +0530 Subject: [PATCH 10/14] test: rename file Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- tests/playwright/tests/db/{bulkUpdate.spec.ts => updateBulk.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/playwright/tests/db/{bulkUpdate.spec.ts => updateBulk.ts} (100%) diff --git a/tests/playwright/tests/db/bulkUpdate.spec.ts b/tests/playwright/tests/db/updateBulk.ts similarity index 100% rename from tests/playwright/tests/db/bulkUpdate.spec.ts rename to tests/playwright/tests/db/updateBulk.ts From 7e8601847c36f16d7763e0d910739aea8dd49166 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 17:50:06 +0530 Subject: [PATCH 11/14] Revert "Revert "fix: add event handler based activeCell status"" This reverts commit 9f53f980276f0d498c7a0f2d23c67cf2f9876158. --- packages/nc-gui/components/cell/MultiSelect.vue | 6 +++--- packages/nc-gui/components/cell/SingleSelect.vue | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/nc-gui/components/cell/MultiSelect.vue b/packages/nc-gui/components/cell/MultiSelect.vue index e2569578cc..7a22788276 100644 --- a/packages/nc-gui/components/cell/MultiSelect.vue +++ b/packages/nc-gui/components/cell/MultiSelect.vue @@ -48,11 +48,11 @@ const readOnly = inject(ReadonlyInj)! const isEditable = inject(EditModeInj, ref(false)) -const _active = inject(ActiveCellInj, ref(false)) +const activeCell = inject(ActiveCellInj, ref(false)) // use both ActiveCellInj or EditModeInj to determine the active state // since active will be false in case of form view -const active = computed(() => _active.value || isEditable.value) +const active = computed(() => activeCell.value || isEditable.value) const isPublic = inject(IsPublicInj, ref(false)) @@ -180,7 +180,7 @@ watch(isOpen, (n, _o) => { } }) -useSelectedCellKeyupListener(active, (e) => { +useSelectedCellKeyupListener(activeCell, (e) => { switch (e.key) { case 'Escape': isOpen.value = false diff --git a/packages/nc-gui/components/cell/SingleSelect.vue b/packages/nc-gui/components/cell/SingleSelect.vue index 3b9dafbadb..d05eab3966 100644 --- a/packages/nc-gui/components/cell/SingleSelect.vue +++ b/packages/nc-gui/components/cell/SingleSelect.vue @@ -42,11 +42,11 @@ const readOnly = inject(ReadonlyInj)! const isEditable = inject(EditModeInj, ref(false)) -const _active = inject(ActiveCellInj, ref(false)) +const activeCell = inject(ActiveCellInj, ref(false)) // use both ActiveCellInj or EditModeInj to determine the active state // since active will be false in case of form view -const active = computed(() => _active.value || isEditable.value) +const active = computed(() => activeCell.value || isEditable.value) const aselect = ref() @@ -119,7 +119,7 @@ watch(isOpen, (n, _o) => { } }) -useSelectedCellKeyupListener(active, (e) => { +useSelectedCellKeyupListener(activeCell, (e) => { switch (e.key) { case 'Escape': isOpen.value = false From 964d185bbe4c153300d7523b5f78a0acf1ac9079 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 28 Jun 2023 17:50:06 +0530 Subject: [PATCH 12/14] Revert "Revert "refactor: context menu update option"" This reverts commit 872550fd524021c15fa36e995ce296bc9870d0dd. --- packages/nc-gui/components/smartsheet/Grid.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nc-gui/components/smartsheet/Grid.vue b/packages/nc-gui/components/smartsheet/Grid.vue index 659fe932e8..b16ae4518d 100644 --- a/packages/nc-gui/components/smartsheet/Grid.vue +++ b/packages/nc-gui/components/smartsheet/Grid.vue @@ -82,6 +82,8 @@ const isView = false let editEnabled = $ref(false) +const { appInfo } = useGlobal() + const { xWhere, isPkAvail, isSqlView, eventBus } = useSmartsheetStoreOrThrow() const visibleColLength = $computed(() => fields.value?.length) @@ -1129,7 +1131,7 @@ function addEmptyRow(row?: number) {
From 46660435f6cf7c6aaf1c786cc2b5aebc88780d73 Mon Sep 17 00:00:00 2001 From: pranavxc Date: Wed, 28 Jun 2023 13:08:25 +0000 Subject: [PATCH 13/14] [create-pull-request] automated change Signed-off-by: GitHub --- packages/nc-gui/package-lock.json | 54 +++++++++++++++++++------------ packages/nc-gui/package.json | 2 +- packages/nc-lib-gui/package.json | 2 +- packages/nocodb-sdk/package.json | 2 +- packages/nocodb/package-lock.json | 50 +++++++++++++--------------- packages/nocodb/package.json | 8 ++--- 6 files changed, 63 insertions(+), 55 deletions(-) diff --git a/packages/nc-gui/package-lock.json b/packages/nc-gui/package-lock.json index 35cd522cd5..28cfe44d31 100644 --- a/packages/nc-gui/package-lock.json +++ b/packages/nc-gui/package-lock.json @@ -30,7 +30,7 @@ "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.109.3", "papaparse": "^5.3.2", "pinia": "^2.0.33", "qrcode": "^1.5.1", @@ -110,7 +110,8 @@ } }, "../nocodb-sdk": { - "version": "0.109.2", + "version": "0.109.3", + "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -8719,7 +8720,6 @@ "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "devOptional": true, "funding": [ { "type": "individual", @@ -12238,8 +12238,21 @@ } }, "node_modules/nocodb-sdk": { - "resolved": "../nocodb-sdk", - "link": true + "version": "0.109.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", + "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", + "dependencies": { + "axios": "^0.21.1", + "jsep": "^1.3.6" + } + }, + "node_modules/nocodb-sdk/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } }, "node_modules/node-abi": { "version": "3.23.0", @@ -24716,8 +24729,7 @@ "follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "devOptional": true + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "form-data": { "version": "4.0.0", @@ -27267,22 +27279,22 @@ } }, "nocodb-sdk": { - "version": "file:../nocodb-sdk", + "version": "0.109.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", + "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", "requires": { - "@typescript-eslint/eslint-plugin": "^4.0.1", - "@typescript-eslint/parser": "^4.0.1", "axios": "^0.21.1", - "cspell": "^4.1.0", - "eslint": "^7.8.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-functional": "^3.0.2", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-prettier": "^4.0.0", - "jsep": "^1.3.6", - "npm-run-all": "^4.1.5", - "prettier": "^2.1.1", - "typescript": "^4.0.2" + "jsep": "^1.3.6" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + } } }, "node-abi": { diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index 44f0905daf..0265e81dd6 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -54,7 +54,7 @@ "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.109.3", "papaparse": "^5.3.2", "pinia": "^2.0.33", "qrcode": "^1.5.1", diff --git a/packages/nc-lib-gui/package.json b/packages/nc-lib-gui/package.json index 51597abe5f..0c29ea4b4f 100644 --- a/packages/nc-lib-gui/package.json +++ b/packages/nc-lib-gui/package.json @@ -1,6 +1,6 @@ { "name": "nc-lib-gui", - "version": "0.109.2", + "version": "0.109.3", "description": "NocoDB GUI", "author": { "name": "NocoDB", diff --git a/packages/nocodb-sdk/package.json b/packages/nocodb-sdk/package.json index ed5e6e5846..612ad08839 100644 --- a/packages/nocodb-sdk/package.json +++ b/packages/nocodb-sdk/package.json @@ -1,6 +1,6 @@ { "name": "nocodb-sdk", - "version": "0.109.2", + "version": "0.109.3", "description": "NocoDB SDK", "main": "build/main/index.js", "typings": "build/main/index.d.ts", diff --git a/packages/nocodb/package-lock.json b/packages/nocodb/package-lock.json index 5dd6210c1c..825369f521 100644 --- a/packages/nocodb/package-lock.json +++ b/packages/nocodb/package-lock.json @@ -1,12 +1,12 @@ { "name": "nocodb", - "version": "0.109.2", + "version": "0.109.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nocodb", - "version": "0.109.2", + "version": "0.109.3", "license": "AGPL-3.0-or-later", "dependencies": { "@google-cloud/storage": "^5.7.2", @@ -80,10 +80,10 @@ "mysql2": "^3.2.0", "nanoid": "^3.1.20", "nc-help": "^0.2.87", - "nc-lib-gui": "0.109.2", + "nc-lib-gui": "0.109.3", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.109.3", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -191,7 +191,8 @@ } }, "../nocodb-sdk": { - "version": "0.109.2", + "version": "0.109.3", + "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -13158,9 +13159,9 @@ } }, "node_modules/nc-lib-gui": { - "version": "0.109.2", - "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.109.2.tgz", - "integrity": "sha512-eZ1ANukU8LCjXlrhQdRixjeh/JPgvLt6MJwrQ/rHdgMC5Ip/O5c8WRd/HkzQSnapHbmSrv5c/Ng74p5DPjL6rA==", + "version": "0.109.3", + "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.109.3.tgz", + "integrity": "sha512-8a1M+yBBRXWX3qz1HfY8YyGq1fg+aviwEv6IhGouZy4PnkBmbwbjXFNLxVidQoDor92AYACZHRltE3dxeIb1Sw==", "dependencies": { "express": "^4.17.1" } @@ -13207,8 +13208,13 @@ } }, "node_modules/nocodb-sdk": { - "resolved": "../nocodb-sdk", - "link": true + "version": "0.109.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", + "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", + "dependencies": { + "axios": "^0.21.1", + "jsep": "^1.3.6" + } }, "node_modules/node-abort-controller": { "version": "3.1.1", @@ -28474,9 +28480,9 @@ } }, "nc-lib-gui": { - "version": "0.109.2", - "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.109.2.tgz", - "integrity": "sha512-eZ1ANukU8LCjXlrhQdRixjeh/JPgvLt6MJwrQ/rHdgMC5Ip/O5c8WRd/HkzQSnapHbmSrv5c/Ng74p5DPjL6rA==", + "version": "0.109.3", + "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.109.3.tgz", + "integrity": "sha512-8a1M+yBBRXWX3qz1HfY8YyGq1fg+aviwEv6IhGouZy4PnkBmbwbjXFNLxVidQoDor92AYACZHRltE3dxeIb1Sw==", "requires": { "express": "^4.17.1" } @@ -28511,22 +28517,12 @@ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" }, "nocodb-sdk": { - "version": "file:../nocodb-sdk", + "version": "0.109.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", + "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", "requires": { - "@typescript-eslint/eslint-plugin": "^4.0.1", - "@typescript-eslint/parser": "^4.0.1", "axios": "^0.21.1", - "cspell": "^4.1.0", - "eslint": "^7.8.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-functional": "^3.0.2", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-prettier": "^4.0.0", - "jsep": "^1.3.6", - "npm-run-all": "^4.1.5", - "prettier": "^2.1.1", - "typescript": "^4.0.2" + "jsep": "^1.3.6" } }, "node-abort-controller": { diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index e6d92ed68b..2f722f8e40 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -1,6 +1,6 @@ { "name": "nocodb", - "version": "0.109.2", + "version": "0.109.3", "description": "NocoDB Backend", "main": "dist/bundle.js", "author": { @@ -115,10 +115,10 @@ "mysql2": "^3.2.0", "nanoid": "^3.1.20", "nc-help": "^0.2.87", - "nc-lib-gui": "0.109.2", + "nc-lib-gui": "0.109.3", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.109.3", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -206,4 +206,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} +} \ No newline at end of file From 4ed73fd79503adabbe0cf4659b2ed555491fd307 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 28 Jun 2023 19:39:44 +0530 Subject: [PATCH 14/14] chore: update sdk path Signed-off-by: Pranav C --- packages/nc-gui/package-lock.json | 52 +++++++++++---------------- packages/nc-gui/package.json | 2 +- packages/nocodb-sdk/package-lock.json | 4 +-- packages/nocodb/package-lock.json | 30 +++++++++------- packages/nocodb/package.json | 4 +-- 5 files changed, 42 insertions(+), 50 deletions(-) diff --git a/packages/nc-gui/package-lock.json b/packages/nc-gui/package-lock.json index 28cfe44d31..5dc0d7dad2 100644 --- a/packages/nc-gui/package-lock.json +++ b/packages/nc-gui/package-lock.json @@ -30,7 +30,7 @@ "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", - "nocodb-sdk": "0.109.3", + "nocodb-sdk": "file:../nocodb-sdk", "papaparse": "^5.3.2", "pinia": "^2.0.33", "qrcode": "^1.5.1", @@ -111,7 +111,6 @@ }, "../nocodb-sdk": { "version": "0.109.3", - "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -8720,6 +8719,7 @@ "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "devOptional": true, "funding": [ { "type": "individual", @@ -12238,21 +12238,8 @@ } }, "node_modules/nocodb-sdk": { - "version": "0.109.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", - "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", - "dependencies": { - "axios": "^0.21.1", - "jsep": "^1.3.6" - } - }, - "node_modules/nocodb-sdk/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } + "resolved": "../nocodb-sdk", + "link": true }, "node_modules/node-abi": { "version": "3.23.0", @@ -24729,7 +24716,8 @@ "follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "devOptional": true }, "form-data": { "version": "4.0.0", @@ -27279,22 +27267,22 @@ } }, "nocodb-sdk": { - "version": "0.109.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", - "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", + "version": "file:../nocodb-sdk", "requires": { + "@typescript-eslint/eslint-plugin": "^4.0.1", + "@typescript-eslint/parser": "^4.0.1", "axios": "^0.21.1", - "jsep": "^1.3.6" - }, - "dependencies": { - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - } + "cspell": "^4.1.0", + "eslint": "^7.8.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-functional": "^3.0.2", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-prettier": "^4.0.0", + "jsep": "^1.3.6", + "npm-run-all": "^4.1.5", + "prettier": "^2.1.1", + "typescript": "^4.0.2" } }, "node-abi": { diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index 0265e81dd6..44f0905daf 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -54,7 +54,7 @@ "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", - "nocodb-sdk": "0.109.3", + "nocodb-sdk": "file:../nocodb-sdk", "papaparse": "^5.3.2", "pinia": "^2.0.33", "qrcode": "^1.5.1", diff --git a/packages/nocodb-sdk/package-lock.json b/packages/nocodb-sdk/package-lock.json index 4404fa6937..aafb4c217a 100644 --- a/packages/nocodb-sdk/package-lock.json +++ b/packages/nocodb-sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "nocodb-sdk", - "version": "0.109.2", + "version": "0.109.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nocodb-sdk", - "version": "0.109.2", + "version": "0.109.3", "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", diff --git a/packages/nocodb/package-lock.json b/packages/nocodb/package-lock.json index 825369f521..4a5539bc01 100644 --- a/packages/nocodb/package-lock.json +++ b/packages/nocodb/package-lock.json @@ -83,7 +83,7 @@ "nc-lib-gui": "0.109.3", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", - "nocodb-sdk": "0.109.3", + "nocodb-sdk": "file:../nocodb-sdk", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -192,7 +192,6 @@ }, "../nocodb-sdk": { "version": "0.109.3", - "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -13208,13 +13207,8 @@ } }, "node_modules/nocodb-sdk": { - "version": "0.109.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", - "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", - "dependencies": { - "axios": "^0.21.1", - "jsep": "^1.3.6" - } + "resolved": "../nocodb-sdk", + "link": true }, "node_modules/node-abort-controller": { "version": "3.1.1", @@ -28517,12 +28511,22 @@ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" }, "nocodb-sdk": { - "version": "0.109.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.109.3.tgz", - "integrity": "sha512-B7s1dyTdsH0u1J/t2ZS7O5glitXnLXwT4A9lNO6349aPyBXIb1S7TTkmG0WzNylp+0mgNbLrCuVT3L3TFS9IfQ==", + "version": "file:../nocodb-sdk", "requires": { + "@typescript-eslint/eslint-plugin": "^4.0.1", + "@typescript-eslint/parser": "^4.0.1", "axios": "^0.21.1", - "jsep": "^1.3.6" + "cspell": "^4.1.0", + "eslint": "^7.8.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-functional": "^3.0.2", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-prettier": "^4.0.0", + "jsep": "^1.3.6", + "npm-run-all": "^4.1.5", + "prettier": "^2.1.1", + "typescript": "^4.0.2" } }, "node-abort-controller": { diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index 2f722f8e40..54553509bf 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -118,7 +118,7 @@ "nc-lib-gui": "0.109.3", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", - "nocodb-sdk": "0.109.3", + "nocodb-sdk": "file:../nocodb-sdk", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -206,4 +206,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} \ No newline at end of file +}