@ezetgalaxy/titan 26.9.2 → 26.9.3
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/package.json +4 -3
- package/templates/extension/node_modules/.bin/esbuild +16 -0
- package/templates/extension/node_modules/.bin/esbuild.cmd +17 -0
- package/templates/extension/node_modules/.bin/esbuild.ps1 +28 -0
- package/templates/extension/node_modules/.bin/titanpl-sdk +16 -0
- package/templates/extension/node_modules/.bin/titanpl-sdk.cmd +17 -0
- package/templates/extension/node_modules/.bin/titanpl-sdk.ps1 +28 -0
- package/templates/extension/node_modules/.package-lock.json +111 -0
- package/templates/extension/node_modules/@esbuild/win32-x64/README.md +3 -0
- package/templates/extension/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
- package/templates/extension/node_modules/@esbuild/win32-x64/package.json +20 -0
- package/templates/extension/node_modules/@titanpl/core/LICENSE +15 -0
- package/templates/extension/node_modules/@titanpl/core/README.md +127 -0
- package/templates/extension/node_modules/@titanpl/core/globals.d.ts +17 -0
- package/templates/extension/node_modules/@titanpl/core/index.js +250 -0
- package/templates/extension/node_modules/@titanpl/core/native/target/release/titan_core.dll +0 -0
- package/templates/extension/node_modules/@titanpl/core/package.json +41 -0
- package/templates/extension/node_modules/@titanpl/core/titan.json +115 -0
- package/templates/extension/node_modules/chokidar/LICENSE +21 -0
- package/templates/extension/node_modules/chokidar/README.md +305 -0
- package/templates/extension/node_modules/chokidar/handler.d.ts +90 -0
- package/templates/extension/node_modules/chokidar/handler.js +632 -0
- package/templates/extension/node_modules/chokidar/index.d.ts +217 -0
- package/templates/extension/node_modules/chokidar/index.js +822 -0
- package/templates/extension/node_modules/chokidar/package.json +63 -0
- package/templates/extension/node_modules/esbuild/LICENSE.md +21 -0
- package/templates/extension/node_modules/esbuild/README.md +3 -0
- package/templates/extension/node_modules/esbuild/bin/esbuild +223 -0
- package/templates/extension/node_modules/esbuild/install.js +289 -0
- package/templates/extension/node_modules/esbuild/lib/main.d.ts +716 -0
- package/templates/extension/node_modules/esbuild/lib/main.js +2242 -0
- package/templates/extension/node_modules/esbuild/package.json +49 -0
- package/templates/extension/node_modules/readdirp/LICENSE +21 -0
- package/templates/extension/node_modules/readdirp/README.md +120 -0
- package/templates/extension/node_modules/readdirp/index.d.ts +108 -0
- package/templates/extension/node_modules/readdirp/index.js +272 -0
- package/templates/extension/node_modules/readdirp/package.json +66 -0
- package/templates/extension/node_modules/titanpl-sdk/LICENSE +15 -0
- package/templates/extension/node_modules/titanpl-sdk/README.md +109 -0
- package/templates/extension/node_modules/titanpl-sdk/assets/titanpl-sdk.png +0 -0
- package/templates/extension/node_modules/titanpl-sdk/bin/run.js +251 -0
- package/templates/extension/node_modules/titanpl-sdk/index.d.ts +46 -0
- package/templates/extension/node_modules/titanpl-sdk/index.js +5 -0
- package/templates/extension/node_modules/titanpl-sdk/package.json +33 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/.dockerignore +3 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/Dockerfile +53 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/app/actions/hello.js +5 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/app/app.js +10 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/app/titan.d.ts +87 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/jsconfig.json +19 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/Cargo.lock +2839 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/Cargo.toml +27 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/src/action_management.rs +131 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/src/errors.rs +10 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/src/extensions.rs +640 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/src/main.rs +345 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/server/src/utils.rs +33 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/titan/bundle.js +65 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/titan/dev.js +113 -0
- package/templates/extension/node_modules/titanpl-sdk/templates/titan/titan.js +98 -0
- package/templates/extension/package-lock.json +522 -0
- package/templates/extension/package.json +4 -3
- package/titanpl-sdk/node_modules/.package-lock.json +17 -0
- package/titanpl-sdk/node_modules/@titanpl/core/LICENSE +15 -0
- package/titanpl-sdk/node_modules/@titanpl/core/README.md +127 -0
- package/titanpl-sdk/node_modules/@titanpl/core/globals.d.ts +17 -0
- package/titanpl-sdk/node_modules/@titanpl/core/index.js +250 -0
- package/titanpl-sdk/node_modules/@titanpl/core/native/target/release/titan_core.dll +0 -0
- package/titanpl-sdk/node_modules/@titanpl/core/package.json +41 -0
- package/titanpl-sdk/node_modules/@titanpl/core/titan.json +115 -0
- package/titanpl-sdk/package-lock.json +28 -0
- package/titanpl-sdk/package.json +6 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ezetgalaxy/titan",
|
|
3
|
-
"version": "26.9.
|
|
3
|
+
"version": "26.9.3",
|
|
4
4
|
"description": "Titan Planet is a JavaScript-first backend framework that embeds JS actions into a Rust + Axum server and ships as a single native binary. Routes are compiled to static metadata; only actions run in the embedded JS runtime. No Node.js. No event loop in production.",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "ezetgalaxy",
|
|
@@ -55,13 +55,14 @@
|
|
|
55
55
|
"test:ui": "vitest --ui"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
+
"@titanpl/core": "^1.0.1",
|
|
58
59
|
"chokidar": "^5.0.0",
|
|
59
60
|
"esbuild": "^0.27.2",
|
|
60
61
|
"prompts": "^2.4.2"
|
|
61
62
|
},
|
|
62
|
-
|
|
63
|
+
"devDependencies": {
|
|
63
64
|
"@vitest/coverage-v8": "^4.0.17",
|
|
64
65
|
"@vitest/ui": "^4.0.17",
|
|
65
66
|
"vitest": "^4.0.17"
|
|
66
67
|
}
|
|
67
|
-
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -x "$basedir/node" ]; then
|
|
13
|
+
exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
|
|
14
|
+
else
|
|
15
|
+
exec node "$basedir/../esbuild/bin/esbuild" "$@"
|
|
16
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@ECHO off
|
|
2
|
+
GOTO start
|
|
3
|
+
:find_dp0
|
|
4
|
+
SET dp0=%~dp0
|
|
5
|
+
EXIT /b
|
|
6
|
+
:start
|
|
7
|
+
SETLOCAL
|
|
8
|
+
CALL :find_dp0
|
|
9
|
+
|
|
10
|
+
IF EXIST "%dp0%\node.exe" (
|
|
11
|
+
SET "_prog=%dp0%\node.exe"
|
|
12
|
+
) ELSE (
|
|
13
|
+
SET "_prog=node"
|
|
14
|
+
SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %*
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env pwsh
|
|
2
|
+
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
|
3
|
+
|
|
4
|
+
$exe=""
|
|
5
|
+
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
|
6
|
+
# Fix case when both the Windows and Linux builds of Node
|
|
7
|
+
# are installed in the same directory
|
|
8
|
+
$exe=".exe"
|
|
9
|
+
}
|
|
10
|
+
$ret=0
|
|
11
|
+
if (Test-Path "$basedir/node$exe") {
|
|
12
|
+
# Support pipeline input
|
|
13
|
+
if ($MyInvocation.ExpectingInput) {
|
|
14
|
+
$input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
|
15
|
+
} else {
|
|
16
|
+
& "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
|
17
|
+
}
|
|
18
|
+
$ret=$LASTEXITCODE
|
|
19
|
+
} else {
|
|
20
|
+
# Support pipeline input
|
|
21
|
+
if ($MyInvocation.ExpectingInput) {
|
|
22
|
+
$input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
|
23
|
+
} else {
|
|
24
|
+
& "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
|
25
|
+
}
|
|
26
|
+
$ret=$LASTEXITCODE
|
|
27
|
+
}
|
|
28
|
+
exit $ret
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -x "$basedir/node" ]; then
|
|
13
|
+
exec "$basedir/node" "$basedir/../titanpl-sdk/bin/run.js" "$@"
|
|
14
|
+
else
|
|
15
|
+
exec node "$basedir/../titanpl-sdk/bin/run.js" "$@"
|
|
16
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@ECHO off
|
|
2
|
+
GOTO start
|
|
3
|
+
:find_dp0
|
|
4
|
+
SET dp0=%~dp0
|
|
5
|
+
EXIT /b
|
|
6
|
+
:start
|
|
7
|
+
SETLOCAL
|
|
8
|
+
CALL :find_dp0
|
|
9
|
+
|
|
10
|
+
IF EXIST "%dp0%\node.exe" (
|
|
11
|
+
SET "_prog=%dp0%\node.exe"
|
|
12
|
+
) ELSE (
|
|
13
|
+
SET "_prog=node"
|
|
14
|
+
SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\titanpl-sdk\bin\run.js" %*
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env pwsh
|
|
2
|
+
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
|
3
|
+
|
|
4
|
+
$exe=""
|
|
5
|
+
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
|
6
|
+
# Fix case when both the Windows and Linux builds of Node
|
|
7
|
+
# are installed in the same directory
|
|
8
|
+
$exe=".exe"
|
|
9
|
+
}
|
|
10
|
+
$ret=0
|
|
11
|
+
if (Test-Path "$basedir/node$exe") {
|
|
12
|
+
# Support pipeline input
|
|
13
|
+
if ($MyInvocation.ExpectingInput) {
|
|
14
|
+
$input | & "$basedir/node$exe" "$basedir/../titanpl-sdk/bin/run.js" $args
|
|
15
|
+
} else {
|
|
16
|
+
& "$basedir/node$exe" "$basedir/../titanpl-sdk/bin/run.js" $args
|
|
17
|
+
}
|
|
18
|
+
$ret=$LASTEXITCODE
|
|
19
|
+
} else {
|
|
20
|
+
# Support pipeline input
|
|
21
|
+
if ($MyInvocation.ExpectingInput) {
|
|
22
|
+
$input | & "node$exe" "$basedir/../titanpl-sdk/bin/run.js" $args
|
|
23
|
+
} else {
|
|
24
|
+
& "node$exe" "$basedir/../titanpl-sdk/bin/run.js" $args
|
|
25
|
+
}
|
|
26
|
+
$ret=$LASTEXITCODE
|
|
27
|
+
}
|
|
28
|
+
exit $ret
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"lockfileVersion": 3,
|
|
5
|
+
"requires": true,
|
|
6
|
+
"packages": {
|
|
7
|
+
"node_modules/@esbuild/win32-x64": {
|
|
8
|
+
"version": "0.27.2",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
|
|
10
|
+
"integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
|
|
11
|
+
"cpu": [
|
|
12
|
+
"x64"
|
|
13
|
+
],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"optional": true,
|
|
16
|
+
"os": [
|
|
17
|
+
"win32"
|
|
18
|
+
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"node_modules/@titanpl/core": {
|
|
24
|
+
"version": "1.0.1",
|
|
25
|
+
"resolved": "https://registry.npmjs.org/@titanpl/core/-/core-1.0.1.tgz",
|
|
26
|
+
"integrity": "sha512-5zcDMNnf+oghKkQMiPBFuhLlRy2IASyWMAAMgfqa4AzoXxiw2BzzfN0B2EA76Dy9AhCeK2mY84Zm+FSE7ANVFg==",
|
|
27
|
+
"license": "ISC",
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18.0.0"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"node_modules/chokidar": {
|
|
33
|
+
"version": "5.0.0",
|
|
34
|
+
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
|
|
35
|
+
"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"readdirp": "^5.0.0"
|
|
39
|
+
},
|
|
40
|
+
"engines": {
|
|
41
|
+
"node": ">= 20.19.0"
|
|
42
|
+
},
|
|
43
|
+
"funding": {
|
|
44
|
+
"url": "https://paulmillr.com/funding/"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"node_modules/esbuild": {
|
|
48
|
+
"version": "0.27.2",
|
|
49
|
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
|
|
50
|
+
"integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
|
|
51
|
+
"hasInstallScript": true,
|
|
52
|
+
"license": "MIT",
|
|
53
|
+
"bin": {
|
|
54
|
+
"esbuild": "bin/esbuild"
|
|
55
|
+
},
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": ">=18"
|
|
58
|
+
},
|
|
59
|
+
"optionalDependencies": {
|
|
60
|
+
"@esbuild/aix-ppc64": "0.27.2",
|
|
61
|
+
"@esbuild/android-arm": "0.27.2",
|
|
62
|
+
"@esbuild/android-arm64": "0.27.2",
|
|
63
|
+
"@esbuild/android-x64": "0.27.2",
|
|
64
|
+
"@esbuild/darwin-arm64": "0.27.2",
|
|
65
|
+
"@esbuild/darwin-x64": "0.27.2",
|
|
66
|
+
"@esbuild/freebsd-arm64": "0.27.2",
|
|
67
|
+
"@esbuild/freebsd-x64": "0.27.2",
|
|
68
|
+
"@esbuild/linux-arm": "0.27.2",
|
|
69
|
+
"@esbuild/linux-arm64": "0.27.2",
|
|
70
|
+
"@esbuild/linux-ia32": "0.27.2",
|
|
71
|
+
"@esbuild/linux-loong64": "0.27.2",
|
|
72
|
+
"@esbuild/linux-mips64el": "0.27.2",
|
|
73
|
+
"@esbuild/linux-ppc64": "0.27.2",
|
|
74
|
+
"@esbuild/linux-riscv64": "0.27.2",
|
|
75
|
+
"@esbuild/linux-s390x": "0.27.2",
|
|
76
|
+
"@esbuild/linux-x64": "0.27.2",
|
|
77
|
+
"@esbuild/netbsd-arm64": "0.27.2",
|
|
78
|
+
"@esbuild/netbsd-x64": "0.27.2",
|
|
79
|
+
"@esbuild/openbsd-arm64": "0.27.2",
|
|
80
|
+
"@esbuild/openbsd-x64": "0.27.2",
|
|
81
|
+
"@esbuild/openharmony-arm64": "0.27.2",
|
|
82
|
+
"@esbuild/sunos-x64": "0.27.2",
|
|
83
|
+
"@esbuild/win32-arm64": "0.27.2",
|
|
84
|
+
"@esbuild/win32-ia32": "0.27.2",
|
|
85
|
+
"@esbuild/win32-x64": "0.27.2"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"node_modules/readdirp": {
|
|
89
|
+
"version": "5.0.0",
|
|
90
|
+
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
|
|
91
|
+
"integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
|
|
92
|
+
"license": "MIT",
|
|
93
|
+
"engines": {
|
|
94
|
+
"node": ">= 20.19.0"
|
|
95
|
+
},
|
|
96
|
+
"funding": {
|
|
97
|
+
"type": "individual",
|
|
98
|
+
"url": "https://paulmillr.com/funding/"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"node_modules/titanpl-sdk": {
|
|
102
|
+
"version": "0.1.7",
|
|
103
|
+
"resolved": "https://registry.npmjs.org/titanpl-sdk/-/titanpl-sdk-0.1.7.tgz",
|
|
104
|
+
"integrity": "sha512-GPHhJtUdAN/TYCtORNpN0JmFTWC6ZHm7GmFoqJLrifCENXhfQjghbcI2+TIVxrb9Cuo5P7B1zE2nKw2ycV+BBw==",
|
|
105
|
+
"license": "ISC",
|
|
106
|
+
"bin": {
|
|
107
|
+
"titanpl-sdk": "bin/run.js"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@esbuild/win32-x64",
|
|
3
|
+
"version": "0.27.2",
|
|
4
|
+
"description": "The Windows 64-bit binary for esbuild, a JavaScript bundler.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/evanw/esbuild.git"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"preferUnplugged": true,
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=18"
|
|
13
|
+
},
|
|
14
|
+
"os": [
|
|
15
|
+
"win32"
|
|
16
|
+
],
|
|
17
|
+
"cpu": [
|
|
18
|
+
"x64"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025, Ezet Galaxy
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# @titanpl/core
|
|
2
|
+
|
|
3
|
+
The official Core Standard Library for **Titan Planet** - a high-performance JavaScript runtime.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @titanpl/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
`@titanpl/core` provides essential standard library modules for Titan applications:
|
|
14
|
+
|
|
15
|
+
| Module | Description |
|
|
16
|
+
|--------|-------------|
|
|
17
|
+
| `fs` | File system operations (read, write, mkdir, exists, stat, remove) |
|
|
18
|
+
| `path` | Path manipulation utilities (join, resolve, extname, dirname, basename) |
|
|
19
|
+
| `crypto` | Cryptographic functions (hash, randomBytes, uuid, base64) |
|
|
20
|
+
| `os` | Operating system information (platform, cpus, memory) |
|
|
21
|
+
| `net` | Network utilities (DNS resolve, IP address) |
|
|
22
|
+
| `proc` | Process information (pid, uptime) |
|
|
23
|
+
| `time` | Time utilities (sleep, now, timestamp) |
|
|
24
|
+
| `url` | URL parsing and manipulation |
|
|
25
|
+
|
|
26
|
+
## Usage
|
|
27
|
+
|
|
28
|
+
Once installed, the extension automatically attaches to the Titan runtime:
|
|
29
|
+
|
|
30
|
+
```javascript
|
|
31
|
+
// Access via t.core
|
|
32
|
+
const content = t.core.fs.readFile("config.json");
|
|
33
|
+
const joined = t.core.path.join("foo", "bar", "baz.txt");
|
|
34
|
+
const uuid = t.core.crypto.uuid();
|
|
35
|
+
|
|
36
|
+
// Or via individual modules on t
|
|
37
|
+
const exists = t.fs.exists("./data");
|
|
38
|
+
const now = t.time.now();
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## API Reference
|
|
42
|
+
|
|
43
|
+
### fs (File System)
|
|
44
|
+
|
|
45
|
+
```javascript
|
|
46
|
+
t.fs.readFile(path) // Read file contents as string
|
|
47
|
+
t.fs.writeFile(path, content) // Write string to file
|
|
48
|
+
t.fs.readdir(path) // List directory contents
|
|
49
|
+
t.fs.mkdir(path) // Create directory
|
|
50
|
+
t.fs.exists(path) // Check if path exists
|
|
51
|
+
t.fs.stat(path) // Get file/directory stats
|
|
52
|
+
t.fs.remove(path) // Remove file or directory
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### path
|
|
56
|
+
|
|
57
|
+
```javascript
|
|
58
|
+
t.path.join(...parts) // Join path segments
|
|
59
|
+
t.path.resolve(...parts) // Resolve to absolute path
|
|
60
|
+
t.path.extname(path) // Get file extension
|
|
61
|
+
t.path.dirname(path) // Get directory name
|
|
62
|
+
t.path.basename(path) // Get file name
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### crypto
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
t.crypto.hash(algo, data) // Hash data (sha256, sha512, etc.)
|
|
69
|
+
t.crypto.randomBytes(size) // Generate random bytes
|
|
70
|
+
t.crypto.uuid() // Generate UUID v4
|
|
71
|
+
t.crypto.base64.encode(str) // Base64 encode
|
|
72
|
+
t.crypto.base64.decode(str) // Base64 decode
|
|
73
|
+
t.crypto.compare(a, b) // Constant-time string comparison
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### os
|
|
77
|
+
|
|
78
|
+
```javascript
|
|
79
|
+
t.os.platform() // Get OS platform
|
|
80
|
+
t.os.cpus() // Get CPU count
|
|
81
|
+
t.os.totalMemory() // Get total memory
|
|
82
|
+
t.os.freeMemory() // Get free memory
|
|
83
|
+
t.os.tmpdir() // Get temp directory path
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### net
|
|
87
|
+
|
|
88
|
+
```javascript
|
|
89
|
+
t.net.resolveDNS(hostname) // Resolve DNS
|
|
90
|
+
t.net.ip() // Get local IP address
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### proc
|
|
94
|
+
|
|
95
|
+
```javascript
|
|
96
|
+
t.proc.pid() // Get process ID
|
|
97
|
+
t.proc.uptime() // Get process uptime
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### time
|
|
101
|
+
|
|
102
|
+
```javascript
|
|
103
|
+
t.time.sleep(ms) // Sleep for milliseconds
|
|
104
|
+
t.time.now() // Get current timestamp (ms)
|
|
105
|
+
t.time.timestamp() // Get ISO timestamp string
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### url
|
|
109
|
+
|
|
110
|
+
```javascript
|
|
111
|
+
t.url.parse(urlString) // Parse URL string
|
|
112
|
+
t.url.format(urlObject) // Format URL object to string
|
|
113
|
+
new t.url.SearchParams(query) // Parse query string
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Native Bindings
|
|
117
|
+
|
|
118
|
+
This extension includes native Rust bindings for high-performance file system and OS operations. The native library is automatically loaded when available.
|
|
119
|
+
|
|
120
|
+
## Requirements
|
|
121
|
+
|
|
122
|
+
- Titan SDK >= 0.1.7
|
|
123
|
+
- Node.js >= 18.0.0 (for development)
|
|
124
|
+
|
|
125
|
+
## License
|
|
126
|
+
|
|
127
|
+
ISC © ezetgalaxy
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare var t: any;
|
|
2
|
+
declare var fs_read_file: any;
|
|
3
|
+
declare var fs_write_file: any;
|
|
4
|
+
declare var fs_readdir: any;
|
|
5
|
+
declare var fs_mkdir: any;
|
|
6
|
+
declare var fs_exists: any;
|
|
7
|
+
declare var fs_stat: any;
|
|
8
|
+
declare var fs_remove: any;
|
|
9
|
+
declare var path_cwd: any;
|
|
10
|
+
declare var crypto_hash: any;
|
|
11
|
+
declare var crypto_random_bytes: any;
|
|
12
|
+
declare var crypto_uuid: any;
|
|
13
|
+
declare var os_info: any;
|
|
14
|
+
declare var net_resolve: any;
|
|
15
|
+
declare var net_ip: any;
|
|
16
|
+
declare var proc_info: any;
|
|
17
|
+
declare var time_sleep: any;
|