Go to file
jack zhang 2cb1203aa4
refactor(client)!: application, router and plugin (#2068)
BREAKING CHANGE:

* 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: complete basic functional refactor

* fix: performance Application

* feat: support client and server build

* refactor: nocobase build-in plugin and providers

* fix: server can't start

* refactor: all plugins package `Prodiver` change to `Plugin`

* feat: nested router and change mobile client

* feat: delete application-v1 and router-switch

* feat: improve routes

* fix: change mobile not nested

* feat: delete RouteSwitchContext and change buildin Provider to Plugin

* feat: delete RouteSwitchContext plugins

* fix: refactor SchemaComponentOptions

* feat: improve SchemaComponentOptions

* fix: add useAdminSchemaUid

* fix: merge master error

* fix: vitest error

* fix: bug

* feat: bugs

* fix: improve code

* fix: restore code

* feat: vitest

* fix: bugs

* fix: bugs

* docs: update doc

* feat: improve code

* feat: add docs and imporve code

* fix: bugs

* feat: add tests

* fix: remove deps

* fix: muti app router error

* fix: router error

* fix: workflow error

* fix: cli error

* feat: change NoCobase -> Nocobase

* fix: code review

* fix: type error

* fix: cli error and plugin demo

* feat: update doc theme

* fix: build error

* fix: mobile router

* fix: code rewview

* fix: bug

* fix: test bug

* fix: bug

* refactor: add the "client" directory to all plugins

* refactor: modify samples client and plugin template

* fix: merge error

* fix: add files in package.json

* refactor: add README to files in package.json

* fix: adjust plugins depencies

* refactor: completing plugins' devDependencies and dependencies

* fix: bug

* refactor: remove @emotion/css

* refactor: jsonwebtoken deps

* refactor: remove sequelize

* refactor: dayjs and moment deps

* fix: bugs

* fix: bug

* fix: cycle detect

* fix: merge bug

* feat: new plugin bug

* fix: lang bug

* fix: dynamic import bug

* refactor: plugins and example add father config

* feat: improve code

* fix: add AppSpin and AppError components

* Revert "refactor: plugins and example add father config"

This reverts commit 483315bca5524e4b8cbbb20cbad77986f081089d.

# Conflicts:
#	packages/plugins/auth/package.json
#	packages/plugins/multi-app-manager/package.json
#	packages/samples/command/package.json
#	packages/samples/custom-collection-template/package.json
#	packages/samples/ratelimit/package.json
#	packages/samples/shop-actions/package.json
#	packages/samples/shop-events/package.json
#	packages/samples/shop-modeling/package.json

* feat: update doc

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-07 14:35:22 +08:00
.dumi refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
.github fix: change ci timeout minutes (#2187) 2023-07-05 18:29:18 +08:00
.vscode test: add tests for client (#1960) 2023-06-07 10:37:10 +08:00
docker chore: dockerfile from node:18-slim 2023-05-26 17:03:08 +08:00
docs refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00
examples fix: eslint (#1759) 2023-04-25 13:12:14 +08:00
packages refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00
scripts fix: time zone when showTime is false (#2170) 2023-07-04 15:30:08 +08:00
storage fix: yarn start error in windows system (#1177) 2022-12-02 14:23:07 +08:00
.buildrc.ts refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
.dumirc.ts fix: mobile docs style (#2083) 2023-06-20 17:11:18 +08:00
.editorconfig Feat: client base entry of plugin workflow (#225) 2022-03-27 15:51:48 +08:00
.env.example feat(plugin-workflow): add workflow specific logger (#1677) 2023-04-10 06:00:29 -07:00
.env.test.example fix: yarn start error in windows system (#1177) 2022-12-02 14:23:07 +08:00
.eslintignore refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00
.eslintrc refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00
.gitignore refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
.gitpod.yml chore: gitpod yml 2023-02-15 14:47:02 +00:00
.prettierignore refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00
.prettierrc refactor: code splitting of the table component (#121) 2021-12-02 22:56:16 +08:00
CHANGELOG.md chore: update changelog 2023-07-07 06:57:44 +08:00
commitlint.config.js fix: eslint (#1759) 2023-04-25 13:12:14 +08:00
deploy-docs-cn.sh feat: update docs 2023-06-20 18:05:06 +08:00
deploy-docs.sh feat: update docs 2023-06-20 18:05:06 +08:00
docker-compose.yml feat: database view collection (#1587) 2023-04-01 21:56:01 +08:00
Dockerfile chore: update dockerfile (#1754) 2023-04-24 14:27:11 +08:00
Dockerfile.acr chore: update dockerfile (#1754) 2023-04-24 14:27:11 +08:00
jest.config.js test: add tests for client (#1960) 2023-06-07 10:37:10 +08:00
jest.setup.ts feat(auth): support custom authentication (#2007) 2023-06-07 23:46:42 +08:00
jest.setupAfterEnv.ts test: should load the .env.test (#1678) 2023-04-10 08:48:26 +08:00
lerna.json chore(versions): 😊 publish v0.10.1-alpha.1 2023-07-07 06:56:04 +08:00
LICENSE-AGPL feat: change license (#1350) 2023-01-11 11:58:47 +08:00
LICENSE-APACHE-2.0 feat: change license (#1350) 2023-01-11 11:58:47 +08:00
package.json refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00
README.md refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
README.tr-TR.md refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
README.zh-CN.md refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
testUtils.ts test: add tests for client (#1960) 2023-06-07 10:37:10 +08:00
tsconfig.jest.json feat: build, cli, devtools, sdk, docs... 2022-05-19 00:40:55 +08:00
tsconfig.json refactor: upgrade umi, react and react-router-dom (#1921) 2023-06-20 11:48:02 +08:00
tsconfig.server.json feat: build, cli, devtools, sdk, docs... 2022-05-19 00:40:55 +08:00
vitest.config.ts chore: upgrade vitest 2023-06-07 15:43:15 +08:00
yarn.lock refactor(client)!: application, router and plugin (#2068) 2023-07-07 14:35:22 +08:00

English | 中文 | Türkçe

Note: 📌

NocoBase is in early stage of development and is subject to frequent changes, please use caution in production environments.

NocoBase v0.10 has been released, see v0.10: update instructions for details.

We are hiring

We are looking for full-time, remote product design and development colleagues to join the team. If you have a strong interest in NocoBase, please feel free to email us at hello@nocobase.com.

What is NocoBase

NocoBase is a scalability-first, open-source no-code development platform. No programming required, build your own collaboration platform, management system with NocoBase in hours.

Homepage:
https://www.nocobase.com/

Online Demo:
https://demo.nocobase.com/new

Documents:
https://docs.nocobase.com/

Contact Us:
hello@nocobase.com

Who is NocoBase for

NocoBase is designed for you if you have the following needs.

  • Develop an internal management system
  • Meet most of your business needs with no-code development
  • No-code development is simple enough for non-developers; flexible enough to be close to native development
  • Can be very easy to extend
  • Private deployment with full control of code and data
  • Free to use or pay for more technical support

Why NocoBase is different

1. Separate "data structure" and "user interface"

Most form-, table-, or process-driven codeless products create data structures directly in the user interface, such as Airtable, where adding a new column to a table is adding a new field. This has the advantage of simplicity of use, but the disadvantage of limited functionality and flexibility to meet the needs of more complex scenarios.

NocoBase adopts the design idea of separating the data structure from the user interface, allowing you to create any number of blocks (data views) for the data collections, with different type, styles, content, and actions in each block. This takes into account the simplicity of codeless operation, but also the flexibility like native development.

2.collection-block.png

2. What you see is what you get

NocoBase enables the development of complex and distinctive business systems, but this does not mean that complex and specialized operations are required. With a single click, configuration options can be displayed on the usage interface, which means that administrators with system configuration rights can configure the user interface directly with WYSIWYG operations.

2.user-root.gif

3. Everything is a plugin

NocoBase adopts plugin architecture, all new features can be implemented by developing and installing plugins. In the future, we will build a plug-in marketplace where extending functionality is as easy as installing an APP on your phone.

Click to view the full image

Business Services

If you need commercial version and commercial services, please feel free to contact us by email: hello@nocobase.com

Also by WeChat

Installation

NocoBase supports three installation methods:

  • Installing With Docker (👍Recommended)

    Suitable for no-code scenarios, no code to write. When upgrading, just download the latest image and reboot.

  • Installing from create-nocobase-app CLI

    The business code of the project is completely independent and supports low-code development.

  • Installing from Git source code

    If you want to experience the latest unreleased version, or want to participate in the contribution, you need to make changes and debug on the source code, it is recommended to choose this installation method, which requires a high level of development skills, and if the code has been updated, you can git pull the latest code.

License