Skip to content
Merged
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Don't allow people to merge changes to these generated files, because the result
# may be invalid. You need to run "rush update" again.
pnpm-lock.yaml merge=text
shrinkwrap.yaml merge=binary
npm-shrinkwrap.json merge=binary
yarn.lock merge=binary

# Rush's JSON config files use JavaScript-style code comments. The rule below prevents pedantic
# syntax highlighters such as GitHub's from highlighting these comments as errors. Your text editor
# may also require a special configuration to allow comments in JSON.
#
# For more information, see this issue: https://github.com/microsoft/rushstack/issues/1088
#
*.json linguist-language=JSON-with-Comments
38 changes: 16 additions & 22 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,32 +34,26 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Set up bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.9

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
registry-url: 'https://npm.pkg.github.com'
scope: '@hcengineering'

- name: Prepare deps
- name: Prepare .npmrc for GitHub Packages
run: |
echo "@hcengineering:registry=https://npm.pkg.github.com" > .npmrc
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> .npmrc

- name: Install dependencies
run: bun install

- name: Build
run: bun run build

- name: Check format
run: bun run format:check

- name: Lint
run: bun run lint

echo "//npm.pkg.github.com/:_authToken=${{secrets.GITHUB_TOKEN}}" > ~/.npmrc

- name: Checking for mis-matching dependencies...
run: node common/scripts/install-run-rush.js check
- name: Rush Install
run: node common/scripts/install-run-rush.js update
- name: Rush rebuild
run: node common/scripts/install-run-rush.js build
- name: Rush validate
run: node common/scripts/install-run-rush.js validate
- name: Linting
run: node common/scripts/install-run-rush.js lint
- name: Formatting
run: node common/scripts/install-run-rush.js format
139 changes: 125 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,129 @@
# build output
dist/
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
rush-logs/

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov/

# Coverage directory used by tools like istanbul
coverage/

# nyc test coverage
.nyc_output/

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt/

# Bower dependency directory (https://bower.io/)
bower_components/

# node-waf configuration
.lock-wscript/

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release/

# Dependency directories
node_modules/
jspm_packages/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm/

# Optional eslint cache
.eslintcache/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# next.js build output
.next/

# Docusaurus cache and generated files
.docusaurus/

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# yarn v2
.yarn/cache/
.yarn/unplugged/
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# OS X temporary files
.DS_Store

# IntelliJ IDEA project files; if you want to commit IntelliJ settings, this recipe may be helpful:
# https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
.idea/
*.iml

# Visual Studio Code
.vscode/
!.vscode/tasks.json
!.vscode/launch.json

# Rush temporary files
common/deploy/
common/temp/
common/autoinstallers/*/.npmrc
**/.rush/temp/
*.lock

# Common toolchain intermediate files
temp/
lib/
lib-amd/
lib-es6/
lib-esnext/
lib-commonjs/
lib-shim/
dist/
dist-storybook/

# Heft temporary files
.cache/
.heft/
.rush/
.validate

# build output
.turbo/
**/types/

Expand All @@ -9,21 +132,9 @@ lib/
# VS Code settings
.vscode/settings.json

# Jetbrains setting folder
.idea/

# dependencies
node_modules/

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# environment variables
.env
.env.production

# macOS-specific files
.DS_Store
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
## 📡 Platform Communication Package

A modular communication package for platform-level messaging —
built with [Bun](https://bun.sh).
built with [Rush](https://rushjs.io/).

---

### 📦 Installation

Install dependencies using Bun:
Install rush:

```bash
bun install
npm install -g @microsoft/rush
```

Install dependencies:

```bash
rush update
```

### Build packages

```bash
bun run build
rush build
rush validate
```

### Lint & format

```bash
bun run lint
bun run format
rush lint
rush format
```
Loading