@ifc-lite/server-bin 1.14.3 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -91
- package/dist/binary.js +1 -1
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -1,142 +1,119 @@
|
|
|
1
1
|
# @ifc-lite/server-bin
|
|
2
2
|
|
|
3
|
-
Pre-built
|
|
3
|
+
Pre-built native binary for the IFClite server. No Docker, no Rust toolchain — just `npx @ifc-lite/server-bin`. Auto-downloads the right binary for your platform on first run.
|
|
4
4
|
|
|
5
5
|
## Quick Start
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
# Run
|
|
8
|
+
# Run the server (downloads binary on first run, ~20 MB)
|
|
9
9
|
npx @ifc-lite/server-bin
|
|
10
10
|
|
|
11
|
-
# Or install
|
|
11
|
+
# Or install once, run anywhere
|
|
12
12
|
npm install -g @ifc-lite/server-bin
|
|
13
13
|
ifc-lite-server
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
The server starts on `http://localhost:8080` by default. Point [`@ifc-lite/server-client`](../server-client/README.md) at it and you've got a parsing backend with caching, streaming, and parallel processing.
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
- **Auto-download**: Binary is downloaded on first run
|
|
20
|
-
- **Cross-platform**: macOS, Linux, and Windows support
|
|
21
|
-
- **Fast startup**: Native binary starts instantly
|
|
18
|
+
## CLI
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
```bash
|
|
21
|
+
npx @ifc-lite/server-bin # start server on PORT (default 8080)
|
|
22
|
+
PORT=3001 npx @ifc-lite/server-bin # custom port
|
|
23
|
+
npx @ifc-lite/server-bin download # pre-fetch the binary (CI / pre-deploy)
|
|
24
|
+
npx @ifc-lite/server-bin info # show platform target + cache state
|
|
25
|
+
npx @ifc-lite/server-bin help # full help
|
|
26
|
+
```
|
|
24
27
|
|
|
25
|
-
|
|
28
|
+
## Configuration
|
|
26
29
|
|
|
27
30
|
```bash
|
|
28
|
-
|
|
31
|
+
PORT=8080 \
|
|
32
|
+
RUST_LOG=info \
|
|
33
|
+
MAX_FILE_SIZE_MB=500 \
|
|
34
|
+
WORKER_THREADS=8 \
|
|
35
|
+
CACHE_DIR=./.cache \
|
|
36
|
+
REQUEST_TIMEOUT_SECS=300 \
|
|
37
|
+
INITIAL_BATCH_SIZE=100 \
|
|
38
|
+
MAX_BATCH_SIZE=1000 \
|
|
39
|
+
CACHE_MAX_AGE_DAYS=7 \
|
|
29
40
|
npx @ifc-lite/server-bin
|
|
30
|
-
|
|
31
|
-
# Start on custom port
|
|
32
|
-
PORT=3001 npx @ifc-lite/server-bin
|
|
33
|
-
|
|
34
|
-
# Download binary without starting (for CI/CD)
|
|
35
|
-
npx @ifc-lite/server-bin download
|
|
36
|
-
|
|
37
|
-
# Show platform and binary info
|
|
38
|
-
npx @ifc-lite/server-bin info
|
|
39
|
-
|
|
40
|
-
# Show help
|
|
41
|
-
npx @ifc-lite/server-bin help
|
|
42
41
|
```
|
|
43
42
|
|
|
44
|
-
### Environment Variables
|
|
45
|
-
|
|
46
43
|
| Variable | Default | Description |
|
|
47
44
|
|----------|---------|-------------|
|
|
48
|
-
| `PORT` | 8080 | Server port |
|
|
49
|
-
| `RUST_LOG` | info | Log level
|
|
50
|
-
| `MAX_FILE_SIZE_MB` | 500 |
|
|
51
|
-
| `WORKER_THREADS` | CPU cores | Parallel
|
|
52
|
-
| `CACHE_DIR` |
|
|
53
|
-
| `REQUEST_TIMEOUT_SECS` | 300 |
|
|
54
|
-
| `INITIAL_BATCH_SIZE` | 100 |
|
|
55
|
-
| `MAX_BATCH_SIZE` | 1000 |
|
|
56
|
-
| `CACHE_MAX_AGE_DAYS` | 7 | Cache retention |
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
| `PORT` | `8080` | Server port |
|
|
46
|
+
| `RUST_LOG` | `info` | Log level — `error` / `warn` / `info` / `debug` |
|
|
47
|
+
| `MAX_FILE_SIZE_MB` | `500` | Max upload size |
|
|
48
|
+
| `WORKER_THREADS` | CPU cores | Parallel parse threads |
|
|
49
|
+
| `CACHE_DIR` | `./.cache` | Where to persist parsed-file cache |
|
|
50
|
+
| `REQUEST_TIMEOUT_SECS` | `300` | Per-request timeout |
|
|
51
|
+
| `INITIAL_BATCH_SIZE` | `100` | First streaming batch size (snappy first paint) |
|
|
52
|
+
| `MAX_BATCH_SIZE` | `1000` | Steady-state streaming batch size (throughput) |
|
|
53
|
+
| `CACHE_MAX_AGE_DAYS` | `7` | Cache retention before eviction |
|
|
54
|
+
|
|
55
|
+
## Programmatic usage
|
|
56
|
+
|
|
57
|
+
For embedding the server in a Node.js process or CI script:
|
|
59
58
|
|
|
60
59
|
```typescript
|
|
61
60
|
import { runBinary, ensureBinary, getBinaryInfo } from '@ifc-lite/server-bin';
|
|
62
61
|
|
|
63
|
-
//
|
|
64
|
-
const
|
|
65
|
-
console.log(`
|
|
66
|
-
console.log(`Cached: ${info.isCached}`);
|
|
62
|
+
// Make sure the binary is on disk (downloads if missing)
|
|
63
|
+
const path = await ensureBinary();
|
|
64
|
+
console.log(`Binary at ${path}`);
|
|
67
65
|
|
|
68
|
-
//
|
|
69
|
-
const
|
|
66
|
+
// Inspect the target
|
|
67
|
+
const info = getBinaryInfo();
|
|
68
|
+
console.log(`Platform: ${info.platform.targetTriple}, cached: ${info.isCached}`);
|
|
70
69
|
|
|
71
|
-
// Run the server with custom args
|
|
72
|
-
const exitCode = await runBinary(['--
|
|
70
|
+
// Run the server with custom args; resolves with the exit code
|
|
71
|
+
const exitCode = await runBinary(['--config', './ifc-lite.toml']);
|
|
73
72
|
```
|
|
74
73
|
|
|
75
|
-
## Supported
|
|
74
|
+
## Supported platforms
|
|
76
75
|
|
|
77
|
-
| Platform | Architecture |
|
|
78
|
-
|
|
79
|
-
| macOS | x64 (Intel)
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
| Linux | arm64 (glibc) | ✅ |
|
|
83
|
-
| Linux | x64 (musl/Alpine) | ✅ |
|
|
84
|
-
| Windows | x64 | ✅ |
|
|
76
|
+
| Platform | Architecture |
|
|
77
|
+
|----------|--------------|
|
|
78
|
+
| macOS | x64 (Intel) ✅ arm64 (Apple Silicon) ✅ |
|
|
79
|
+
| Linux | x64 glibc ✅ arm64 glibc ✅ x64 musl (Alpine) ✅ |
|
|
80
|
+
| Windows | x64 ✅ |
|
|
85
81
|
|
|
86
|
-
##
|
|
82
|
+
## Skip auto-download
|
|
87
83
|
|
|
88
|
-
|
|
84
|
+
Useful for hermetic CI builds:
|
|
89
85
|
|
|
90
86
|
```bash
|
|
91
87
|
IFC_LITE_SKIP_DOWNLOAD=1 npm install @ifc-lite/server-bin
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
You can then download manually when needed:
|
|
95
|
-
|
|
96
|
-
```bash
|
|
88
|
+
# Later, fetch on demand:
|
|
97
89
|
npx @ifc-lite/server-bin download
|
|
98
90
|
```
|
|
99
91
|
|
|
100
|
-
##
|
|
92
|
+
## Falling back
|
|
101
93
|
|
|
102
|
-
If pre-built binaries don't
|
|
94
|
+
If pre-built binaries don't fit (unsupported platform, locked-down corp environment, custom config), fall back to:
|
|
103
95
|
|
|
104
96
|
```bash
|
|
105
|
-
#
|
|
106
|
-
npx create-ifc-lite my-
|
|
107
|
-
cd my-
|
|
108
|
-
docker compose up -d
|
|
97
|
+
# Docker-based server
|
|
98
|
+
npx create-ifc-lite my-server --template server
|
|
99
|
+
cd my-server && docker compose up -d
|
|
109
100
|
|
|
110
|
-
#
|
|
111
|
-
|
|
101
|
+
# Build from source
|
|
102
|
+
git clone https://github.com/LTplus-AG/ifc-lite
|
|
112
103
|
cd ifc-lite/apps/server
|
|
113
104
|
cargo build --release
|
|
114
105
|
```
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
## API Reference
|
|
119
|
-
|
|
120
|
-
### `runBinary(args?: string[]): Promise<number>`
|
|
121
|
-
|
|
122
|
-
Run the server binary with optional arguments. Returns exit code.
|
|
123
|
-
|
|
124
|
-
### `ensureBinary(onProgress?: ProgressCallback): Promise<string>`
|
|
125
|
-
|
|
126
|
-
Ensure binary is downloaded, returns path to binary.
|
|
127
|
-
|
|
128
|
-
### `downloadBinary(onProgress?: ProgressCallback): Promise<string>`
|
|
129
|
-
|
|
130
|
-
Force download binary, returns path.
|
|
131
|
-
|
|
132
|
-
### `getBinaryInfo(): BinaryInfo`
|
|
133
|
-
|
|
134
|
-
Get information about the binary and current platform.
|
|
135
|
-
|
|
136
|
-
### `isBinaryCached(): Promise<boolean>`
|
|
107
|
+
## API
|
|
137
108
|
|
|
138
|
-
|
|
109
|
+
| Function | Description |
|
|
110
|
+
|---|---|
|
|
111
|
+
| `runBinary(args?)` | Run the server with optional args — resolves with exit code |
|
|
112
|
+
| `ensureBinary(onProgress?)` | Download if missing — resolves with binary path |
|
|
113
|
+
| `downloadBinary(onProgress?)` | Force re-download — resolves with binary path |
|
|
114
|
+
| `getBinaryInfo()` | Returns `{ platform, version, isCached, cachePath }` |
|
|
115
|
+
| `isBinaryCached()` | Boolean — is the binary on disk? |
|
|
139
116
|
|
|
140
117
|
## License
|
|
141
118
|
|
|
142
|
-
[
|
|
119
|
+
[MPL-2.0](https://mozilla.org/MPL/2.0/)
|
package/dist/binary.js
CHANGED
|
@@ -14,7 +14,7 @@ import { execSync } from 'child_process';
|
|
|
14
14
|
import { getPlatformInfo, getPlatformDescription } from './platform.js';
|
|
15
15
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
16
16
|
// GitHub release URL pattern
|
|
17
|
-
const GITHUB_REPO = '
|
|
17
|
+
const GITHUB_REPO = 'LTplus-AG/ifc-lite';
|
|
18
18
|
const RELEASE_BASE_URL = `https://github.com/${GITHUB_REPO}/releases/download`;
|
|
19
19
|
// Cache directory (inside the package for portability)
|
|
20
20
|
const CACHE_DIR = join(__dirname, '..', '.cache');
|
package/dist/cli.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* npx ifc-lite-server [options]
|
|
13
13
|
*
|
|
14
14
|
* Environment variables are passed through to the server.
|
|
15
|
-
* See: https://github.com/
|
|
15
|
+
* See: https://github.com/LTplus-AG/ifc-lite/tree/main/apps/server
|
|
16
16
|
*/
|
|
17
17
|
import { runBinary, getBinaryInfo, downloadBinary } from './binary.js';
|
|
18
18
|
import { getPlatformDescription } from './platform.js';
|
|
@@ -54,7 +54,7 @@ Examples:
|
|
|
54
54
|
npx @ifc-lite/server-bin info
|
|
55
55
|
|
|
56
56
|
Documentation:
|
|
57
|
-
https://github.com/
|
|
57
|
+
https://github.com/LTplus-AG/ifc-lite
|
|
58
58
|
|
|
59
59
|
Alternatives:
|
|
60
60
|
- Docker: npx create-ifc-lite my-app --template server
|
|
@@ -75,7 +75,7 @@ async function main() {
|
|
|
75
75
|
case '--version':
|
|
76
76
|
case '-v': {
|
|
77
77
|
const info = getBinaryInfo();
|
|
78
|
-
const pkg = await import('../package.json', {
|
|
78
|
+
const pkg = await import('../package.json', { with: { type: 'json' } });
|
|
79
79
|
console.log(`@ifc-lite/server-bin v${pkg.default.version}`);
|
|
80
80
|
process.exit(0);
|
|
81
81
|
break;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAE5D;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAgB,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CjB,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAEnC,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM;YAER,KAAK,SAAS,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/server-bin",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Pre-built IFC-Lite server binary - run without Docker or Rust",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"README.md"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"tar": "^7.
|
|
22
|
+
"tar": "^7.5.11"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@types/node": "^
|
|
26
|
-
"typescript": "^
|
|
25
|
+
"@types/node": "^25.9.1",
|
|
26
|
+
"typescript": "^6.0.3"
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|
|
29
29
|
"node": ">=18.0.0"
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"author": "Louis True",
|
|
42
42
|
"repository": {
|
|
43
43
|
"type": "git",
|
|
44
|
-
"url": "https://github.com/
|
|
44
|
+
"url": "https://github.com/LTplus-AG/ifc-lite.git",
|
|
45
45
|
"directory": "packages/server-bin"
|
|
46
46
|
},
|
|
47
|
-
"homepage": "https://
|
|
48
|
-
"bugs": "https://github.com/
|
|
47
|
+
"homepage": "https://ltplus-ag.github.io/ifc-lite/",
|
|
48
|
+
"bugs": "https://github.com/LTplus-AG/ifc-lite/issues",
|
|
49
49
|
"keywords": [
|
|
50
50
|
"ifc",
|
|
51
51
|
"bim",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
|
-
"build": "tsc",
|
|
62
|
-
"dev": "tsc --watch",
|
|
61
|
+
"build": "pnpm exec tsc",
|
|
62
|
+
"dev": "pnpm exec tsc --watch",
|
|
63
63
|
"start": "node dist/cli.js",
|
|
64
64
|
"postinstall": "node -e \"import('./dist/postinstall.js').catch(() => {})\" || true"
|
|
65
65
|
}
|