Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
876 changes: 438 additions & 438 deletions CHANGELOG.md

Large diffs are not rendered by default.

80 changes: 40 additions & 40 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

## Prerequisites

Deepkit uses NPM and Lerna to manage this monorepo. Local package linking is managed through the NPM Workspaces.
D7 uses NPM and Lerna to manage this monorepo. Local package linking is managed through the NPM Workspaces.

Make sure `libpq5` and `libpq-dev` are installed.
These are needed for Postgres client `pg`, which is used in `@deepkit/postgres`.\
These are needed for Postgres client `pg`, which is used in `@d7/postgres`.\
See [Ubuntu requirements setup](docs/setup-env-ubuntu.md) for detailed steps for an Ubuntu system.

Node >= v20 is needed.

## Getting Started

```shell
git clone https://github.com/deepkit/deepkit-framework.git
cd deepkit-framework
git clone https://github.com/marcj/d7.git
cd d7
yarn
```

Expand All @@ -27,7 +27,7 @@ npm run postinstall
When installation is finished you can build the packages:

```shell
deepkit-framework » npm run build
d7 » npm run build
```

This could take several minutes.
Expand All @@ -40,17 +40,17 @@ You should see the build messages and a _success_ summary in the end:

lerna notice cli v7.4.1

✔ @deepkit/core:build (320ms)
✔ @deepkit/topsort:build (324ms)
✔ @deepkit/type-spec:build (324ms)
✔ @deepkit/core-rxjs:build (326ms)
✔ @deepkit/filesystem:build (326ms)
✔ @d7/core:build (320ms)
✔ @d7/topsort:build (324ms)
✔ @d7/type-spec:build (324ms)
✔ @d7/core-rxjs:build (326ms)
✔ @d7/filesystem:build (326ms)
...
✔ @deepkit/api-console-gui:build (19s)
✔ @deepkit/api-console-module:build (297ms)
✔ @deepkit/orm-browser-gui:build (21s)
✔ @deepkit/framework-debug-gui:build (29s)
✔ @deepkit/orm-browser:build (295ms)
✔ @d7/api-console-gui:build (19s)
✔ @d7/api-console-module:build (297ms)
✔ @d7/orm-browser-gui:build (21s)
✔ @d7/framework-debug-gui:build (29s)
✔ @d7/orm-browser:build (295ms)

——————————————————————————————————————————————

Expand All @@ -66,16 +66,16 @@ npm run test packages/type/
If everything went fine you can try out the example app:

```shell
deepkit-framework » cd packages/example-app
deepkit-framework/packages/example-app » npm run app
d7 » cd packages/example-app
d7/packages/example-app » npm run app
```

That should give you a _usage_ message of the app.

To start the app server:

```shell
deepkit-framework/packages/example-app » npm run start
d7/packages/example-app » npm run start
```

```shell
Expand All @@ -93,13 +93,13 @@ should run the included build watcher commands during local development. Usually
but when ESM packages are consumed for example by our Angular apps, you need to run `tsc-watch:esm` as well.

```shell
deepkit-framework » npm run tsc-watch
deepkit-framework » npm run tsc-watch:esm
d7 » npm run tsc-watch
d7 » npm run tsc-watch:esm
```

## Using deepkit-framework checkout with own project
## Using d7 checkout with own project

This describes one way how to use a development version (git checkout) or your own fork of deepkit-framework with your
This describes one way how to use a development version (git checkout) or your own fork of d7 with your
own project.

Add `npm-local-development` package to your project:
Expand All @@ -108,30 +108,30 @@ Add `npm-local-development` package to your project:
my-project » npm i npm-local-development --save-dev
```

Put a `.links.json` file in your project (not deepkit-framework):
Put a `.links.json` file in your project (not d7):

```json
{
"@deepkit/core": "../deepkit-framework/packages/core",
"@deepkit/bson": "../deepkit-framework/packages/bson",
"@deepkit/type": "../deepkit-framework/packages/type",
"@deepkit/mongo": "../deepkit-framework/packages/mongo",
"@deepkit/type-compiler": "../deepkit-framework/packages/type-compiler",
"@deepkit/sql": "../deepkit-framework/packages/sql",
"@deepkit/injector": "../deepkit-framework/packages/injector",
"@deepkit/rpc": "../deepkit-framework/packages/rpc",
"@deepkit/http": "../deepkit-framework/packages/http",
"@deepkit/event": "../deepkit-framework/packages/event",
"@deepkit/logger": "../deepkit-framework/packages/logger",
"@deepkit/framework": "../deepkit-framework/packages/framework",
"@deepkit/app": "../deepkit-framework/packages/app",
"@deepkit/postgres": "../deepkit-framework/packages/postgres",
"@deepkit/sqlite": "../deepkit-framework/packages/sqlite",
"@deepkit/orm": "../deepkit-framework/packages/orm"
"@d7/core": "../d7/packages/core",
"@d7/bson": "../d7/packages/bson",
"@d7/type": "../d7/packages/type",
"@d7/mongo": "../d7/packages/mongo",
"@d7/type-compiler": "../d7/packages/type-compiler",
"@d7/sql": "../d7/packages/sql",
"@d7/injector": "../d7/packages/injector",
"@d7/rpc": "../d7/packages/rpc",
"@d7/http": "../d7/packages/http",
"@d7/event": "../d7/packages/event",
"@d7/logger": "../d7/packages/logger",
"@d7/framework": "../d7/packages/framework",
"@d7/app": "../d7/packages/app",
"@d7/postgres": "../d7/packages/postgres",
"@d7/sqlite": "../d7/packages/sqlite",
"@d7/orm": "../d7/packages/orm"
}
```

Adapt the path of `../deepkit-framework` to the checkout path of your deepkit-framework.
Adapt the path of `../d7` to the checkout path of your d7.

In your project's `package.json` add a script:

Expand Down
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,50 +2,50 @@
<br/>
<br/>

> Formerly Deepkit — renamed after European Union “no genuine use” ruling. Trademarks don't like open-source.
> Formerly Deepkit, now D7 — renamed after European Union “no genuine use” ruling. Trademarks don't like open-source.

<br/>
<br/>

<a href="https://discord.gg/U24mryk7Wq"><img alt="Discord" src="https://img.shields.io/discord/759513055117180999?style=square&label=Discord" /></a>
<a href="https://www.npmjs.com/package/@deepkit/type"><img alt="npm" src="https://img.shields.io/npm/v/@deepkit/type.svg?style=square" /></a>
<a href="https://www.npmjs.com/package/@d7/type"><img alt="npm" src="https://img.shields.io/npm/v/@d7/type.svg?style=square" /></a>
[![CI](https://github.com/marcj/untitled-code/actions/workflows/main.yml/badge.svg)](https://github.com/marcj/untitled-code/actions/workflows/main.yml)

This is a new modular TypeScript framework for backend applications based on runtime types.

## Docs

Check out the [Documentation](https://deepkit.io/documentation/introduction) to get started.
Check out the [Documentation](https://d7.io/documentation/introduction) to get started.

## Getting started

To create an app from scratch, you can use NPM init:

```shell
npm init @deepkit/app@latest my-deepkit-app
npm init @d7/app@latest my-d7-app
```

## Community Packages

- [OpenAPI](https://github.com/hanayashiki/deepkit-openapi): Automatic OpenAPI doc and Swagger UI generation based on HTTP routes.
- [OpenAPI](https://github.com/hanayashiki/d7-openapi): Automatic OpenAPI doc and Swagger UI generation based on HTTP routes.
- [Serverless Adapter](https://github.com/H4ad/serverless-adapter): Run Deepkit on top of AWS Lambda, Azure, Digital Ocean and many other clouds.
- [REST](https://github.com/deepkit-rest/rest): DeepKit REST opens up a whole new declarative and extensive approach for developing REST APIs.
- [Stripe](https://github.com/deepkit-community/modules/tree/master/packages/stripe): Interacting with the Stripe API or consuming Stripe webhooks in your Deepkit applications is now easy as pie 🥧.
- [GraphQL](https://github.com/marcus-sa/deepkit-graphql/tree/main/packages/core): Create GraphQL servers using Deepkit
- [Apollo Server](https://github.com/marcus-sa/deepkit-graphql/tree/main/packages/apollo): Run your Deepkit GraphQL server using Apollo
- [Remix](https://github.com/marcus-sa/deepkit-modules/tree/main/packages/remix): Create Remix apps using Deepkit as the server
- [Remix Validated Form](https://github.com/marcus-sa/deepkit-modules/tree/main/packages/remix-validated-form): Use Deepkit Type as form validator for Remix
- [Nx Webpack Plugin](https://github.com/marcus-sa/deepkit-modules/tree/main/packages/nx-webpack-plugin): Nx Webpack plugin for Deepkit
- [REST](https://github.com/marcj-rest/rest): DeepKit REST opens up a whole new declarative and extensive approach for developing REST APIs.
- [Stripe](https://github.com/marcj-community/modules/tree/master/packages/stripe): Interacting with the Stripe API or consuming Stripe webhooks in your Deepkit applications is now easy as pie 🥧.
- [GraphQL](https://github.com/marcus-sa/d7-graphql/tree/main/packages/core): Create GraphQL servers using Deepkit
- [Apollo Server](https://github.com/marcus-sa/d7-graphql/tree/main/packages/apollo): Run your Deepkit GraphQL server using Apollo
- [Remix](https://github.com/marcus-sa/d7-modules/tree/main/packages/remix): Create Remix apps using Deepkit as the server
- [Remix Validated Form](https://github.com/marcus-sa/d7-modules/tree/main/packages/remix-validated-form): Use Deepkit Type as form validator for Remix
- [Nx Webpack Plugin](https://github.com/marcus-sa/d7-modules/tree/main/packages/nx-webpack-plugin): Nx Webpack plugin for Deepkit

## Examples

- [example with HTTP, RPC, and CLI controller](https://github.com/deepkit/deepkit-framework/blob/master/packages/example-app/app.ts).
- [HTTP router with custom http server](https://github.com/deepkit/deepkit-framework/blob/master/packages/example-app/slim.ts).
- [Bookstore](https://github.com/marcj/deepkit-bookstore): Auto REST CRUD + Deepkit API Console.
- [Webpack](https://github.com/marcj/deepkit-webpack): Type Compiler with Webpack.
- [GraphQL](https://github.com/marcus-sa/deepkit-graphql/tree/main/examples/orm-integration): Deepkit GraphQL server application with ORM integration
- [Remix](https://github.com/marcus-sa/deepkit-modules/tree/main/apps/example-remix): Remix application using Deepkit as the server
- [Angular](https://github.com/marcus-sa/deepkit-angular-template): Angular SSR application using Deepkit as the server with RPC
- [example with HTTP, RPC, and CLI controller](https://github.com/marcj/d7/blob/master/packages/example-app/app.ts).
- [HTTP router with custom http server](https://github.com/marcj/d7/blob/master/packages/example-app/slim.ts).
- [Bookstore](https://github.com/marcj/d7-bookstore): Auto REST CRUD + Deepkit API Console.
- [Webpack](https://github.com/marcj/d7-webpack): Type Compiler with Webpack.
- [GraphQL](https://github.com/marcus-sa/d7-graphql/tree/main/examples/orm-integration): Deepkit GraphQL server application with ORM integration
- [Remix](https://github.com/marcus-sa/d7-modules/tree/main/apps/example-remix): Remix application using Deepkit as the server
- [Angular](https://github.com/marcus-sa/d7-angular-template): Angular SSR application using Deepkit as the server with RPC

## Contributing

Expand Down
4 changes: 2 additions & 2 deletions examples/rpc-websockets-esm/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Deepkit RPC WebSockets Example

This example shows how to use the Deepkit RPC over WebSockets.
This example shows how to use the D7 RPC over WebSockets.

## How to run

First install dependencies

```
# postinstall script automatically installs deepkit type compiler
# postinstall script automatically installs d7 type compiler
npm install
```

Expand Down
2 changes: 1 addition & 1 deletion examples/rpc-websockets-esm/client.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { RpcWebSocketClient } from '@deepkit/rpc';
import { RpcWebSocketClient } from '@d7/rpc';
import type { Controller } from './server';

async function main() {
Expand Down
8 changes: 4 additions & 4 deletions examples/rpc-websockets-esm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
},
"dependencies": {
"ws": "^8.13.0",
"@deepkit/type": "^1.0.1",
"@deepkit/rpc": "^1.0.1",
"@deepkit/rpc-tcp": "^1.0.1"
"@d7/type": "^1.0.1",
"@d7/rpc": "^1.0.1",
"@d7/rpc-tcp": "^1.0.1"
},
"devDependencies": {
"@deepkit/type-compiler": "^1.0.1",
"@d7/type-compiler": "^1.0.1",
"typescript": "~5.8.3",
"ts-node": "^10.9.1"
}
Expand Down
4 changes: 2 additions & 2 deletions examples/rpc-websockets-esm/server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { rpc, RpcKernel } from '@deepkit/rpc';
import { RpcWebSocketServer } from '@deepkit/rpc-tcp';
import { rpc, RpcKernel } from '@d7/rpc';
import { RpcWebSocketServer } from '@d7/rpc-tcp';

@rpc.controller('/main')
export class Controller {
Expand Down
4 changes: 2 additions & 2 deletions examples/rpc-websockets/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Deepkit RPC WebSockets Example

This example shows how to use the Deepkit RPC over WebSockets.
This example shows how to use the D7 RPC over WebSockets.

## How to run

First install dependencies

```
# postinstall script automatically installs deepkit type compiler
# postinstall script automatically installs d7 type compiler
npm install
```

Expand Down
2 changes: 1 addition & 1 deletion examples/rpc-websockets/client.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { RpcWebSocketClient } from '@deepkit/rpc';
import { RpcWebSocketClient } from '@d7/rpc';
import type { Controller } from './server';

async function main() {
Expand Down
8 changes: 4 additions & 4 deletions examples/rpc-websockets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
},
"dependencies": {
"ws": "^8.13.0",
"@deepkit/type": "^1.0.1",
"@deepkit/rpc": "^1.0.1",
"@deepkit/rpc-tcp": "^1.0.1"
"@d7/type": "^1.0.1",
"@d7/rpc": "^1.0.1",
"@d7/rpc-tcp": "^1.0.1"
},
"devDependencies": {
"@deepkit/type-compiler": "^1.0.1",
"@d7/type-compiler": "^1.0.1",
"typescript": "~5.8.3",
"ts-node": "^10.9.1"
}
Expand Down
4 changes: 2 additions & 2 deletions examples/rpc-websockets/server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { rpc, RpcKernel } from '@deepkit/rpc';
import { RpcWebSocketServer } from '@deepkit/rpc-tcp';
import { rpc, RpcKernel } from '@d7/rpc';
import { RpcWebSocketServer } from '@d7/rpc-tcp';

@rpc.controller('/main')
export class Controller {
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "root",
"repository": "https://github.com/deepkit/deepkit-framework",
"repository": "https://github.com/marcj/d7",
"author": "Marc J. Schmidt <[email protected]>",
"license": "MIT",
"private": true,
Expand Down Expand Up @@ -33,7 +33,7 @@
"devDependencies": {
"@commitlint/config-conventional": "^18.4.3",
"@commitlint/config-lerna-scopes": "^18.4.4",
"@deepkit/core": "^1.0.1",
"@d7/core": "^1.0.1",
"@jest/globals": "^29.2.1",
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@types/node": "^22.13.1",
Expand Down
Loading