Skip to content

Commit 819238f

Browse files
committed
refactor: migrate package imports to @openprojectx namespace and add release workflow
- Updated all occurrences of `@flowkit/*` to `@openprojectx/*`. - Added a GitHub Actions release workflow to streamline versioning and publishing. - Updated dependencies and project configuration to integrate `changesets`.
1 parent 2e80146 commit 819238f

37 files changed

Lines changed: 632 additions & 79 deletions

.changeset/config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "public",
8+
"baseBranch": "master",
9+
"updateInternalDependencies": "patch",
10+
"ignore": ["flowkit-playground"]
11+
}

.github/workflows/ci.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ci-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
build-test:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- uses: pnpm/action-setup@v4
20+
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version-file: .nvmrc
24+
cache: pnpm
25+
26+
- name: Install dependencies
27+
run: pnpm install --frozen-lockfile
28+
29+
- name: Lint
30+
run: pnpm lint
31+
32+
- name: Build
33+
run: pnpm build
34+
35+
- name: Test
36+
run: pnpm test

.github/workflows/release.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches: [master]
6+
7+
concurrency: release
8+
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: write # changesets version PR
14+
pull-requests: write
15+
id-token: write # npm provenance (OIDC)
16+
steps:
17+
- uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
21+
- uses: pnpm/action-setup@v4
22+
23+
- uses: actions/setup-node@v4
24+
with:
25+
node-version-file: .nvmrc
26+
cache: pnpm
27+
registry-url: https://registry.npmjs.org
28+
29+
- name: Install dependencies
30+
run: pnpm install --frozen-lockfile
31+
32+
- name: Create Version PR or Publish to npm
33+
uses: changesets/action@v1
34+
with:
35+
version: pnpm version-packages
36+
publish: pnpm release
37+
commit: 'chore: version packages'
38+
title: 'chore: version packages'
39+
env:
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ experience with a single config object.
1313
│ Your app — supplies ONE config object: │
1414
│ registry, rules, renderers, persistence, slots │
1515
├──────────────────────────────────────────────────────────────┤
16-
│ @flowkit/flow-builder — the canvas kit │
16+
│ @openprojectx/flow-builder — the canvas kit │
1717
│ FlowBuilderCanvas · NodePalette · SchemaFields │
1818
│ PropertyInspectorDialog · BuilderNode/Edge · GroupNode │
1919
│ FlowBuilderProvider (graph CRUD, dirty state, selection) │
2020
├──────────────────────────────────────────────────────────────┤
21-
│ @flowkit/ui-foundation — the design system │
21+
│ @openprojectx/ui-foundation — the design system │
2222
│ theme factory (light/dark) · MainCard · buttons · inputs │
2323
│ Dropdown/AsyncDropdown · CodeEditor · JsonEditor · DataGrid │
2424
│ ConfirmDialog · Loader · hooks · utils │
@@ -31,9 +31,9 @@ domain-specific is injected through `FlowBuilderConfig`.
3131
## Quick start
3232

3333
```tsx
34-
import { FlowBuilderProvider, FlowBuilderCanvas, typedPortsIsValidConnection } from '@flowkit/flow-builder'
35-
import { FlowkitThemeProvider } from '@flowkit/ui-foundation'
36-
import '@flowkit/flow-builder/styles.css'
34+
import { FlowBuilderProvider, FlowBuilderCanvas, typedPortsIsValidConnection } from '@openprojectx/flow-builder'
35+
import { FlowkitThemeProvider } from '@openprojectx/ui-foundation'
36+
import '@openprojectx/flow-builder/styles.css'
3737

3838
const operators = [
3939
{
@@ -98,8 +98,8 @@ Full technical docs in [`docs/`](docs) (AsciiDoc):
9898

9999
```
100100
packages/
101-
ui-foundation/ @flowkit/ui-foundation — theme, generic components, hooks, utils
102-
flow-builder/ @flowkit/flow-builder — the visual builder kit
101+
ui-foundation/ @openprojectx/ui-foundation — theme, generic components, hooks, utils
102+
flow-builder/ @openprojectx/flow-builder — the visual builder kit
103103
examples/
104104
playground/ two demos on one kit: data-pipeline studio + BPMN builder
105105
```

docs/architecture.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ configuration.
2424
│ Supplies ONE FlowBuilderConfig: registry, rules, renderers, │
2525
│ persistence, slots. │
2626
├────────────────────────────────────────────────────────────────┤
27-
│ @flowkit/flow-builder ← the canvas kit │
27+
│ @openprojectx/flow-builder ← the canvas kit │
2828
│ FlowBuilderCanvas · FlowBuilderProvider · NodePalette │
2929
│ SchemaFields · PropertyInspectorDialog · BuilderNode/Edge │
3030
│ GroupNode · StickyNote · graph/visibility/serialize utils │
3131
├────────────────────────────────────────────────────────────────┤
32-
│ @flowkit/ui-foundation ← the design system │
32+
│ @openprojectx/ui-foundation ← the design system │
3333
│ theme factory (light/dark) · MainCard · StyledButton/Fab │
3434
│ Input/Dropdowns · CodeEditor · JsonEditor · DataGrid │
3535
│ ConfirmDialog · Loader · pickers · hooks · utils │

docs/configuration.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ flags, slots, theming, and the `useFlowBuilder` context API. Types from
1010

1111
[source,tsx]
1212
----
13-
import { FlowBuilderProvider, FlowBuilderCanvas } from '@flowkit/flow-builder'
14-
import { FlowkitThemeProvider } from '@flowkit/ui-foundation'
15-
import '@flowkit/flow-builder/styles.css'
13+
import { FlowBuilderProvider, FlowBuilderCanvas } from '@openprojectx/flow-builder'
14+
import { FlowkitThemeProvider } from '@openprojectx/ui-foundation'
15+
import '@openprojectx/flow-builder/styles.css'
1616
1717
<FlowkitThemeProvider>
1818
<FlowBuilderProvider config={config}>
@@ -262,11 +262,11 @@ const {
262262
NOTE: `FlowBuilderProvider` wraps `reactflow`'s `ReactFlowProvider` — `useStore`,
263263
`useReactFlow`, `useUpdateNodeInternals` etc. work in any child component.
264264

265-
== Theming (`@flowkit/ui-foundation`)
265+
== Theming (`@openprojectx/ui-foundation`)
266266

267267
[source,tsx]
268268
----
269-
import { FlowkitThemeProvider, useThemeMode, createFlowkitTheme } from '@flowkit/ui-foundation'
269+
import { FlowkitThemeProvider, useThemeMode, createFlowkitTheme } from '@openprojectx/ui-foundation'
270270
271271
// uncontrolled — persists to localStorage['isDarkMode']
272272
<FlowkitThemeProvider>{children}</FlowkitThemeProvider>

docs/extending.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Zero backend. Schemas as a constant — the fastest way to a working builder.
1212

1313
[source,tsx]
1414
----
15-
import type { BuilderNodeSchema, FlowBuilderConfig } from '@flowkit/flow-builder'
15+
import type { BuilderNodeSchema, FlowBuilderConfig } from '@openprojectx/flow-builder'
1616
1717
const operators: BuilderNodeSchema[] = [
1818
{
@@ -53,7 +53,7 @@ Field renderers receive `FieldRendererProps` (`inputParam`, `data`, `value`,
5353

5454
[source,tsx]
5555
----
56-
import { FieldWrapper } from '@flowkit/flow-builder'
56+
import { FieldWrapper } from '@openprojectx/flow-builder'
5757
5858
// a color picker for the custom param type 'color'
5959
const ColorField = ({ inputParam, value, onChange, disabled }: FieldRendererProps) => (
@@ -85,7 +85,7 @@ ids so connections and serialization stay consistent.
8585
[source,tsx]
8686
----
8787
import { Handle, Position, type NodeProps } from 'reactflow'
88-
import type { BuilderNodeData } from '@flowkit/flow-builder'
88+
import type { BuilderNodeData } from '@openprojectx/flow-builder'
8989
9090
export const GatewayNode = ({ data, selected }: NodeProps<BuilderNodeData>) => (
9191
<div style={{ position: 'relative', width: 56, height: 56 }}>
@@ -129,7 +129,7 @@ Compose the exported helpers, or write your own `(connection, nodes, edges) => b
129129

130130
[source,tsx]
131131
----
132-
import { typedPortsIsValidConnection, noSelfNoCycles, typesIntersect, respectsListAnchors } from '@flowkit/flow-builder'
132+
import { typedPortsIsValidConnection, noSelfNoCycles, typesIntersect, respectsListAnchors } from '@openprojectx/flow-builder'
133133
134134
// 1. typed ports, out of the box
135135
const a = { isValidConnection: typedPortsIsValidConnection, outputStrategy: 'standard' as const }

docs/index.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ designers — can stand up the same polished node-editor experience with a singl
4444
|===
4545
| Package | Contents
4646
47-
| `@flowkit/ui-foundation`
47+
| `@openprojectx/ui-foundation`
4848
| Design system: theme factory (light/dark), ~35 generic MUI components, hooks, utils. No domain knowledge.
4949
50-
| `@flowkit/flow-builder`
50+
| `@openprojectx/flow-builder`
5151
| The canvas kit: `FlowBuilderCanvas`, `FlowBuilderProvider`, `NodePalette`, `SchemaFields`, `PropertyInspectorDialog`, node/edge/group/sticky components, graph utils.
5252
5353
| `examples/playground`

examples/playground/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@
1010
"clean": "rimraf dist"
1111
},
1212
"dependencies": {
13-
"@flowkit/flow-builder": "workspace:*",
14-
"@flowkit/ui-foundation": "workspace:*",
1513
"@emotion/react": "^11.10.6",
1614
"@emotion/styled": "^11.10.6",
1715
"@mui/icons-material": "5.0.3",
1816
"@mui/material": "5.15.0",
1917
"notistack": "^2.0.4",
2018
"react": "^18.2.0",
2119
"react-dom": "^18.2.0",
22-
"reactflow": "^11.5.6"
20+
"reactflow": "^11.5.6",
21+
"@openprojectx/flow-builder": "workspace:*",
22+
"@openprojectx/ui-foundation": "workspace:*"
2323
},
2424
"devDependencies": {
2525
"@types/react": "^18.2.0",

examples/playground/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useState } from 'react'
22
import { AppBar, Box, IconButton, Tab, Tabs, Toolbar, Tooltip, Typography } from '@mui/material'
33
import { IconMoon, IconSun } from '@tabler/icons-react'
4-
import { useThemeMode } from '@flowkit/ui-foundation'
4+
import { useThemeMode } from '@openprojectx/ui-foundation'
55
import PipelineStudio from './demos/pipeline/PipelineStudio'
66
import BpmnBuilder from './demos/bpmn/BpmnBuilder'
77

0 commit comments

Comments
 (0)