Commit Graph

78 Commits

Author SHA1 Message Date
ChengLei Shao
39ee4b8873
feat: application supervisor (#2353)
* chore: skip sync localization-management plugin enable status

* chore: unSyncPlugins array

* chore: remove install at dev

* chore: gateway and supervisor

* chore: install command

* chore: remove app manager

* chore: share plugin

* chore: wsserver

* chore: websocket server

* chore: websocket connection with app status

* feat: socket server at gateway

* chore: loading message

* chore: ready status

* chore: handle app error

* feat: restart app at supervisor

* feat: health check endpoint

* chore: test

* chore: test

* chore: test

* chore: test

* chore: build

* chore: test

* chore: build

* chore: application ready status

* chore: error message

* chore: handle application error

* chore: handle error in load

* chore: report error in websocket

* chore: ws error

* chore: ws error

* chore: typo

* chore: switch app ready status at install

* chore: test

* chore: test

* chore: test

* chore: test

* feat: add WebSocket client

* chore: start gateway

* chore: start command in application

* chore: code

* chore: pm command

* chore: run start after load sub app

* feat: application fsm

* refactor: server life cycle (#2402)

* refactor: server life cycle

* fix: test error

* fix: test error

* fix: test error

* fix: app.start

* fix: cronjob stop

* fix: db.sync before upgrade

* fix: pm.get

* fix: test error

* fix: test error

* fix: test error

* test: add test cases

* fix: remove PluginType

* chore: start application after install

* chore: fsm

* chore: working status

* chore: working command

* chore: remove swith app ready status

* chore: switch status after working done

* chore: ws status

* chore: gateway error

* chore: test

* chore: stopping status

* chore: test

* chore: test

* feat: app proxy

* chore: application destory

* chore: application message changed with status

* chore: test

* chore: test timeout

* test: remove listener add by plugin

* test: remove listener add by plugin

* chore: test

* feat: app maintaining

* fix: add AppMaintainingDialog

* feat: off

* test: gateway http response

* test: gateway with errors

* chore: unkown error

* chore: websocket message

* chore: ws message

* chore: code

* chore: error format

* chore: delay app load

* feat: improve code

* chore: application initializing status

* chore: supervisor with app status

* chore: command status response

* chore: test

* chore: ws message

* chore: test

* fix: command running message

* feat: restart

* chore: code

* chore: status transition

* chore: test

* fix: improve code

* fix: error

* fix: restart

* fix: command

* chore: reset client app tag when app selector changed

* chore: error report

* fix: application status

* fix: build

* chore: disable help command dispatch

* chore: test

* test: multi apps test

* fix: improve code

* fix: test

* fix: test

* fix: multi apps single running

* fix: improve code

* fix: app status

* chore: move plugin static file to gateway

* feat: static file handler

* chore: test

* chore: enable plugins in share collection

* chore: gateway serve upload files

* fix: improve client

* chore: ws nginx config

* fix: gateway with naonoid

* fix: db sync

* fix: loading

* fix: ping

* fix: locale load

* fix: yarn start --quickstart

* fix: add debug log

* chore: application started event

* chore: running working message payload

* chore: nginx log

* chore: nginxconf

* chore: working message log

* feat: logs

* feat: compression

* fix: remove koa-send and koa-static

* fix: remove -e

* fix: remove nginx

* fix: remove -e

* fix: __appName

* chore: delay install sub application

* chore: sync plugin status

* fix: boot sub app

* fix: main app reload

* fix: test

* fix: app status

* test: field.bind block event loop

* feat: newrelic

* feat: debug log

* chore: upgrade

* fix(file-manager): test error

* fix: default app selector

* fix: reload after maintained

* chore: boot sub app

* chore: application destroy command

* chore: destroy command

* chore: clean code

* chore: package.json

* chore: maintaining message

* chore: test

* fix: collection.sync

* feat: add test cases

* chore: application

* fix: test error

* feat: improve codes and add test cases

* fix: test error

* fix: pm enable and disable

* fix: pm.disable

* feat: update docs

* chore: update dockerfile

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-24 17:47:45 +08:00
jack zhang
5df3b0e75d
refactor!: plugins build and plugins load (#2253)
* refactor: plugin build and plugin template

* refactor: plugins' deps

* refactor: plugins bugs

* feat: add plugin static middleware

* fix: bugs

* refactor: frontend plugin add from remote

* refactor: delete useless app/client/plugins

* fix: requirejs move to local

* fix: tests case

* refactor: add src/client and src/server dir check

* fix: lodash tree shaking

* refactor: add BUILD_TIP

* refactor: add file size tip

* fix: bugs

* fix: bug

* fix: change china-division

* fix: change plugins response

* fix: recover dynamicImport

* fix: change server src entry

* fix: test error

* fix: plugins sourcemap => false

* fix: production file error

* refactor: change build tools to vite and tsup

* fix: yarn.lock

* fix: bugs

* fix: server build bugs

* fix: delete .fatherrc.ts

* fix: bug

* fix: bug

* fix: bugs

* fix: bugs

* fix: bugs

* refactor: add plugin d.ts

* refactor: delete fatherrc

* refactor: delete father scripts

* refactor: build bug

* fix: bug

* fix: deps adjust

* fix: add build tips

* fix: bug

* refactor: ignore plugins when build client

* docs: update doc

* refactor: docs and build

* fix: bug

* refactor: build deps

* fix: add USER_REMOTE_PLUGIN env

* feat: add plugin static cache

* feat: add build deps cache

* fix: bugs

* test: add test

* fix: add plugin depden on plugin tip

* fix: adjust shouldDevDependencies

* fix: deps

* fix: ajust deps

* fix: mobile style error

* fix: map error

* fix: test

* fix: bug

* feat: lodash and dayjs import from themself

* feat: @emotion/css 、ahooks and lodash to global

* fix: theme-editor plugin error

* fix: review

* feat: move all plugins' dependencies to devDependencies

* feat: change build

* feat: add devPlugins

* fix: bug

* fix: bugs

* fix: bugs

* fix: bugs

* feat: build bugs

* fix: bugs

* fix: bugs

* fix: review

* fix: bug

* fix: change deps build

* fix: bugs

* fix: bug

* fix: bug

* fix: bugs

* fix: bug

* fix: bug

* fix: multi language

* fix: dist

* fix: cronstrue

* fix: getPackageClientStaticUrl

* fix: antd dayjs locale

* fix: plugin' d.ts import from dist

* fix: multi language

* fix: build types error

* fix: requireModule

* fix: plugin lifecycle

* fix: client resource

* fix: improve code

* fix: locale

* feat: custom build

* fix: require locale

* fix: improve code

* fix: improve code

* fix: skip preset

* fix: collection undefined

* feat: yarn build

* fix: remove enabled

* fix: update dockerfile

* fix: formily version

* docs: update v12 changelog

* fix: devDependencies

* feat: @nocobase/app

* feat: generateAppDir

* fix: improve code

* fix: 0.11.1-alpha.5

* fix: missing @nocobase/client

* fix: error

* fix: add .npmignore

* feat: upgrade antd version

* fix: dependencies

* fix: peerDependencies

* fix: remove china-division dep

* fix: toposort deps

* fix: update dockerfile

* fix: plugin template

* fix: app client outputPath

* feat: update docs

* fix: nginx server root

* fix: storage/.app-dev

* fix: getChinaDivisionData

* feat: plugin info

* feat: update docs

* fix: docs menu

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-02 00:07:52 +08:00
ChengLei Shao
6aefff7409 chore: test logging level 2023-07-27 21:57:13 +08:00
ChengLei Shao
331147dfaa chore: incr test timeout 2023-07-27 09:17:08 +08:00
ChengLei Shao
840254f517
chore: upgrade jest (#2323)
* chore: upgrade jest

* fix: eslint

* chore: github action backend test

* fix: import

* chore: export

* fix: test
2023-07-26 17:53:51 +08:00
chenos
894167d413 Revert "chore: platforms: linux/amd64,linux/arm64"
This reverts commit f9de7c3156.
2023-07-26 17:32:57 +08:00
chenos
f9de7c3156 chore: platforms: linux/amd64,linux/arm64 2023-07-26 15:25:07 +08:00
ChengLei Shao
e5612f87f8
chore: merge docker build (#2317)
* chore: merge docker build

* chore: build image

* chore: build image

* chore: job name
2023-07-25 18:07:17 +08:00
ChengLei Shao
3510531182
feat(database): view collection support for add new, update and delete actions (#2119)
* feat: writeableView options in view collection

* refactor: view collection support edit

* refactor: view collection support edit

* refactor: view collection support edit

* refactor: view collection support edit

* test: insert into view with join table

* chore: typo

* chore: package.json

* chore: sql parser

* chore: query interface

* chore: test

* feat: update view collection

* chore: test

* chore: test

* chore: github action pg version

* fix: params in update and delete

* refactor: locale improve

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-07-14 14:49:12 +08:00
jack zhang
207ad61c63
fix: change ci timeout minutes (#2187) 2023-07-05 18:29:18 +08:00
jack zhang
d76e8fb87f
refactor: upgrade umi, react and react-router-dom (#1921)
* refactor: update umi version 3.x to version 4.x

* refactor: update react-router-dom version to 6.x

* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`

* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct

* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`

* refactor(react-router-dom): replace `useHistory` to `useNavigate`

* refactor(react-router-dom): replace `useRouteMatch` to `useParams`

* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug

* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code

* refactor(react-router-dom): update `Route` types and docs

* refactor(react-router-dom): optimize RouteSwitch code

* refactor(react-router-dom): `useLocation` no generics type

* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`

* refactor(react-router-dom): fix `<RouteSwitch />`  `props.routes` as an array is not handled

* chore: upgrade `dumi` and refactor docs

* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`

* refactor(dumi): upgraded dumi under `packages/core/client`

* refactor(dumi): delete `packages/core/dumi-theme-nocobase`

* refactor(dumi): degrade `react`  & replace `dumi-theme-antd` to `dumi-theme-nocobase`

* refactor(dumi): solve conflicts between multiple dumi applications

* fix: login page error in react 17

* refactor(dumi): remove less resolutions

* refactor(dumi): umi add `msfu: true` config

* fix: merge bug

* fix: self code review

* fix: code reivew and test bug

* refactor: upgrade react to 18

* refactor: degrade react types to 17

* chore: fix ci error

* fix: support routerBase & fix workflow page params

* fix(doc): menu externel link

* fix: build error

* fix: delete

* fix: vitest error

* fix: react-router new code replace

* fix: vitest markdown error

* fix: title is none when refresh

* fix: merge error

* fix: sidebar width is wrong

* fix: useProps error

* fix: side-menu-width

* fix: menu selectId is wrong & useProps is string

* fix: menu selected first default & side menu hide when change

* fix: test error & v0.10 change log

* fix: new compnent doc modify

* fix: set umi `fastRefresh=false`

* refactor: application v2

* fix: improve code

* fix: bug

* fix: page = 0 error

* fix: workflow navigate error

* feat: plugin manager

* fix: afterAdd

* feat: update docs

* feat: update docs

* fix: page tab change not work

* fix: login redirect query param doesn't work

* fix: bug and doc

* feat: update docs

* fix: ci error

* fix: merge main

* feat: update docs

* feat: update docs

* feat: update docs

* chore(versions): 😊 publish v0.10.0-alpha.1

* fix: translations

* chore: backend node test max old space size

* docs: add useSearchParams

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2023-06-20 11:48:02 +08:00
ChengLei Shao
f1cc991c1c
chore(github-actions): separate frontend and backend tests (#2013) 2023-06-09 09:23:04 +08:00
被雨水过滤的空气-Rairn
49117afb72
refactor: front-end testing with vitest (#1900)
* refactor: front-end testing with vitest

* fix: fix build failed
2023-05-25 10:40:08 +08:00
Junyi
7b3e16ce63
chore(github-template): clean comments and format (#1878) 2023-05-17 17:21:21 +08:00
xilesun
26469f7aaf chore: update pr template 2023-05-15 19:47:39 +08:00
YANG QIA
f5f12c90e9
chore: create pull_request_template.md 2023-05-15 18:31:15 +08:00
YANG QIA
2806ef8810
chore: create feature.md pr template 2023-05-15 18:19:09 +08:00
YANG QIA
33852517dc
chore: bug_fix pull request template 2023-05-15 18:08:29 +08:00
ChengLei Shao
b8c85c91b4
test: filter nested association (#1802)
* test: filter nested association

* chore: log

* fix: tree instance to json

* ci: test case

* chore: test

* chore: log

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-06 07:55:26 +08:00
Junyi
05fd419729
chore(ci): add timeout config for jobs (#1725) 2023-04-18 22:00:02 +08:00
chenos
02758cb338
chore: update test ci (#1622)
* chore: update test ci

* test: ci

* fix: remove v16

* Update Action.Designer.tsx
2023-03-30 18:27:38 +08:00
ChengLei Shao
d1fb3c92d8
test: with collection_manager_schema env (#1532)
* test: with collection_manager_schema env

* fix: remove collection

* fix: collection test

* fix: collection exist in db with custom schema

* fix: inherited with custom collection schema

* fix: build error

* fix: sync unique index & database logger
2023-03-05 14:45:56 +08:00
chenos
750081e6aa
feat: dialect version accessors (#1502) 2023-02-26 11:58:45 +08:00
Junyi
944f327212
fix(plugin-workflow): fix migration on table prefix (#1478)
* fix(plugin-workflow): fix migration on table prefix

* fix(plugin-workflow): fix migration version check

* fix: ci

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-22 12:05:59 +08:00
ChengLei Shao
89c1d39b6b
Fix/pg schema with inherit (#1446)
* fix: pg schema in sync runner

* fix: restore with pg schema

* chore: databse utils

* fix: test

* Update nocobase-test.yml

* fix: test

* chore: db schema test options

* feat: collection add schema table name method

* fix: update to bigint test

* fix: schema test

* chore: show constraints query path

* chore: show constraints query path

* Update nocobase-test.yml

* chore: test

* fix: test

* fix: test

* fix: test table name

* fix: inherited collection test
2023-02-16 10:53:04 +08:00
ChengLei Shao
0e0eb6432e
feat: provide the underscored option for the database (#1366)
* feat: underscored options

* feat: underscored using hook

* feat: database underscored options

* feat: underscored env

* fix: collectionExistsInDb

* fix: test

* fix: nocobase install

* fix: test

* fix: belongsTo association

* fix: test of underscored

* chore: console.log

* fix: list action test

* fix: dump test

* chore: snakeCase algo

* fix: underscored field create

* fix: underscored env

* fix(acl): custom appends merge strategy (#1416)

* Update index.md

* fix(plugin-workflow): use promise to request (#1426)

* Update index.md

* Update collection.md

* Update index.md

* Update index.md

* Update collection.md

* Update field.md

* Update repository.md

* Update has-one-repository.md

* Update has-many-repository.md

* Update belongs-to-many-repository.md

* Update index.md

* chore: translate 'Add tab' in page header (#1424)

* fix: test

* fix: workflow test

* fix: underscored with inherits

* fix: underscored test

* fix:  process.env.DB_UNDERSCORED

* fix: process.env.DB_UNDERSCORED === 'true'

* fix: test

* fix: pg test

* fix: underscored table name

* feat: tableName & fieldName conflict check

* fix: test

* fix: underscored index

* fix: update field unique index

* fix: sync default value

* fix: collection manager create field

* chore: field sync

* fix: pg test

* chore: test

* fix: test

* chore: default constraint name

* chore: syncUniqueIndex

* feat: field destory before check

* feat: field type check

* fix: test

* fix: test

* fix: improve

* fix: should destroy when fields refer to the same field

* fix: acl meta with underscored

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-13 21:38:47 +08:00
chenos
2dc9c5c444
fix: error:0308010C:digital envelope routines::unsupported (#1447)
* fix: error:0308010C:digital envelope routines::unsupported

* fix: process.env.UNSET_NODE_OPTIONS
2023-02-10 11:16:36 +08:00
chenos
3cd79006be fix(ci): curl --retry 2 2023-02-08 09:20:17 +08:00
chenos
d062c8fd99
chore(versions): 😊 publish v0.8.1-alpha.4 (#1331) 2023-01-05 23:22:18 +08:00
chenos
4ecd2ee40d chore(versions): 😊 publish v0.8.1-alpha.2 2023-01-05 18:29:47 +08:00
chenos
0c80992f7d fix: update github workflows 2022-12-13 13:37:32 +08:00
chenos
c81c19bf23
chore: update ci (#1239)
* fix: test

* fix: deploy NocoBase
2022-12-13 10:42:18 +08:00
chenos
b74300cb16 chore: update ci 2022-12-13 10:18:36 +08:00
chenos
49a4899959 chore(ci): deploy nocobase 2022-12-12 23:24:07 +08:00
chenos
8833eaf0ee chore(ci): update ci 2022-12-12 22:25:46 +08:00
chenos
8f6ed646c9 chore(ci): manual build pr docker image 2022-12-12 21:57:58 +08:00
SemmyWong
28b71dcda3
fix: change nginx timeout as 10min (#1222)
* fix: change nginx timeout as 10min

* Update aliyun-container-registry.yml

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-12-09 07:06:00 +08:00
chenos
bc7c1ba1b0 feat: update docs 2022-12-05 22:59:10 +08:00
lyf-coder
22f1b9b541
fix: auto deploy error (#1168)
* ci(workflows): fix auto deploy error

* ci(workflows): separate send feishu bot msg

* ci(workflows): send feishu message remove content text
2022-12-01 14:26:46 +08:00
lyf-coder
ec94565259
ci(workflows): fix auto deploy error (#1166) 2022-11-30 16:49:12 +08:00
lyf-coder
51c4ba0a04 ci(workflows): support deploy fork pr 2022-11-30 16:19:53 +08:00
lyf-coder
c94f29a8ce
ci(workflows): support manual depoly and stop pr (#1132)
* ci(workflows): support manual depoly and stop pr

* ci(workflows): support auto depoly pr and stop pr

* ci(workflows): depoly pr script moves to server side

* ci(workflows): support pr sent text msg to feishu bot

* ci(workflows): fix auto deploy pr script

* ci(workflows): support auto deploy main and develop branch
2022-11-30 16:10:12 +08:00
katherinehhh
4085ed0db7
Feat/collection templates (#1124)
* feat: add collection templates

* feat:  collection templates

* feat:  collection templates

* feat:  collection templates

* feat:  collection templates

* feat: collection templates

* feat: calendar collection template

* feat: no id does not support sorting

* feat: collection template edit

* feat: collectiom templates code improve

* feat: collection template supports configurable field interface

* feat: collection template supports configurable field interface

* feat: establish relation field when there is no id

* feat: collection templates

* feat: collection templates locale

* feat: calendar collection

* feat: calendar collection default fields

* feat: code optimization

* feat: code optimization

* feat: code optimization

* feat: collectin template fix

* feat: add sample-custom-collection-template

* feat: code optimization

* feat: code optimization

* feat: code optimization

* feat: code optimization

* feat: import code

* feat: collection template local

* feat: code opimization

* feat: code opimization

* feat: code opimization

* feat: code opimization

* feat: code opimization

* feat: collection template local

* feat: collection template local

* fix(collection-manager): exclude reverse parameters when overriding

* feat: update docs

* feat: disabled

* feat: improve code

* feat: update submodule

* feat: submodules: true

* fix: token

* fix: with ssh-key

* fix: update dockerfile

* fix: ci

* fix: ci

* fix: ci

* fix: ci

* fix: --no-verify-access

* fix: ci

* fix: ci

* fix: ci

* fix: missing env

* fix: env

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: chareice <chareice@live.com>
2022-11-29 11:31:30 +08:00
ChengLei Shao
e991b2965a
feat: collection inheritance (#1069)
* chore: test

* chore: inherited-collection class

* feat: collection inherit

* feat: collection inherit

* feat: inhertis sync runner

* test: get parents fields

* feat: collection inherit style promote

* feat: sync

* feat: sync alter table

* feat: pgOnly Test

* fix: child collection create api

* feat: replace parent field

* chore: reload parent fields

* test: reload collection test

* feat: details are displayed according to conditions

* fix: typo

* feat: inheritance map class

* chore: is parent node

* feat: display where child row created from

* fix: find with appends

* feat: add parent collection fields

* fix: create table

* feat: load fields for all children

* refactor: sync fields from parent

* test: has one field inhertis

* feat: replace child association target

* feat: should not replace child field when parent field update

* test: should update inherit field when parent field update

* feat: only the blocks directly inherited from the current data are displayed

* fix: inherit from multiple collections

* feat: only the blocks directly inherited from the current data are displayed

* fix: test

* feat: parent collection expend

* fix: test

* test: belongsToMany inherits

* test: belongsToMany inherits

* feat: block display

* feat: collection inherite

* feat: collection inherite

* feat: multiple inherits

* fix: sync runner

* feat: collection inherite

* feat: collecton inherits

* feat: cannot be modified after inheritance and saving

* feat: collection inherit for graph

* feat: collection inherits

* fix: drop inhertied field

* fix: should throw error when type conflit

* feat: output inherited fields

* feat: bulk update collection fields

* feat: collection fields

* feat: collection fields

* test: create relation with child table

* fix: test

* fix: test

* fix: test

* feat: style impove

* test: should not replace field with difference type

* feat: add text

* fix: throw error when replace field with difference type

* feat: overriding

* feat: kan bankanban group fields

* feat: calendar block fields

* feat: kan bankanban group fields

* fix: test

* feat: relationship fields

* feat: should delete child's field when parent field deleted

* feat: foreign key filter

* fix: build error & multiple inherit destory field

* fix: test

* chore: disable error

* feat: no recursive update associations (#1091)

* feat: update associations

* fix(collection-manager): should update uiSchema

* chore: flip if

* feat: mutile inherits

* feat: db dialect

* feat: inherits show by database

* chore: git hash into docker image

* fix: js gzip

* fix: dockerfile

* chore: error message

* feat: overriding

* feat: overriding

* feat: overriding

* feat: local

* feat: filter fields by interface

* fix: database logging env

* test: replace hasOne target

* feat: add view

* feat: local

* chore: enable error

* fix: update docs

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2022-11-16 12:53:58 +08:00
chenos
d70bded4a9 fix: publish error 2022-11-01 00:00:15 +08:00
chenos
e7ad0c1089 fix: publish error 2022-10-31 23:55:11 +08:00
chenos
d0b1de826a chore(versions): 😊 publish v0.8.0-alpha.1 2022-10-31 23:39:54 +08:00
chenos
506fae0d9a feat(ci): update ci 2022-10-28 23:17:47 +08:00
chenos
274d80d501 chore: improve ci (#976)
* test: ci

* fix: ci error

* fix: on pull_request

* fix: paths

* fix: paths 'packages/**'
# Conflicts:
#	.github/workflows/nocobase-test.yml
2022-10-28 11:46:22 +08:00
chenos
ea4a9c2d6e fix(ci): add verdaccio service 2022-10-27 14:10:30 +08:00