tempest.games 0.3.8 → 0.3.10
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/CHANGELOG.md +14 -0
- package/app/assets/{index-BW3Efm0c.js → index-BXPTVkti.js} +56 -56
- package/app/index.html +1 -1
- package/bin/backend.bun.js +89 -59
- package/bin/backend.worker.bug-rangers.bun.js +9 -4
- package/bin/frontend.bun.js +9 -4
- package/bin/setup-db.bun.js +1 -0
- package/package.json +4 -4
package/app/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
/>
|
|
11
11
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
12
12
|
<title>TEMPEST</title>
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-BXPTVkti.js"></script>
|
|
14
14
|
<link rel="stylesheet" crossorigin href="/assets/index-oxk15HrU.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
package/bin/backend.bun.js
CHANGED
|
@@ -4365,12 +4365,14 @@ function destroyRoom({
|
|
|
4365
4365
|
};
|
|
4366
4366
|
}
|
|
4367
4367
|
function provideRooms({
|
|
4368
|
-
store = IMPLICIT.STORE,
|
|
4369
|
-
socket,
|
|
4370
4368
|
resolveRoomScript,
|
|
4369
|
+
roomAdminsToken,
|
|
4371
4370
|
roomNames,
|
|
4371
|
+
socket,
|
|
4372
|
+
store = IMPLICIT.STORE,
|
|
4372
4373
|
userKey
|
|
4373
4374
|
}) {
|
|
4375
|
+
const isAdmin = getFromStore(store, roomAdminsToken, userKey);
|
|
4374
4376
|
const roomSocket = guardSocket(socket, createRoomSocketGuard(roomNames));
|
|
4375
4377
|
const exposeMutable = realtimeMutableProvider({
|
|
4376
4378
|
socket,
|
|
@@ -4400,8 +4402,10 @@ function provideRooms({
|
|
|
4400
4402
|
enterRoom(userRoomKey);
|
|
4401
4403
|
break;
|
|
4402
4404
|
}
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
+
if (isAdmin) {
|
|
4406
|
+
roomSocket.on(`createRoom`, spawnRoom({ store, socket, userKey, resolveRoomScript }));
|
|
4407
|
+
roomSocket.on(`deleteRoom`, destroyRoom({ store, socket, userKey }));
|
|
4408
|
+
}
|
|
4405
4409
|
return () => {
|
|
4406
4410
|
unsubFromRoomKeys();
|
|
4407
4411
|
unsubFromUsersInRooms();
|
|
@@ -23595,7 +23599,7 @@ var init_traversal = __esm(() => {
|
|
|
23595
23599
|
});
|
|
23596
23600
|
|
|
23597
23601
|
// ../../node_modules/.pnpm/@ark+schema@0.56.0/node_modules/@ark/schema/out/node.js
|
|
23598
|
-
var BaseNode, NodeSelector, writeSelectAssertionMessage = (from,
|
|
23602
|
+
var BaseNode, NodeSelector, writeSelectAssertionMessage = (from, selector3) => `${from} had no references matching ${printable(selector3)}.`, typePathToPropString = (path2) => stringifyPath(path2, {
|
|
23599
23603
|
stringifyNonKey: (node) => node.expression
|
|
23600
23604
|
}), referenceMatcher, compileMeta = (metaJson) => JSON.stringify(metaJson).replace(referenceMatcher, "$1"), flatRef = (path2, node) => ({
|
|
23601
23605
|
path: path2,
|
|
@@ -23818,17 +23822,17 @@ var init_node = __esm(() => {
|
|
|
23818
23822
|
get nestableExpression() {
|
|
23819
23823
|
return this.expression;
|
|
23820
23824
|
}
|
|
23821
|
-
select(
|
|
23822
|
-
const normalized = NodeSelector.normalize(
|
|
23825
|
+
select(selector3) {
|
|
23826
|
+
const normalized = NodeSelector.normalize(selector3);
|
|
23823
23827
|
return this._select(normalized);
|
|
23824
23828
|
}
|
|
23825
|
-
_select(
|
|
23826
|
-
let nodes = NodeSelector.applyBoundary[
|
|
23827
|
-
if (
|
|
23828
|
-
nodes = nodes.filter((n2) => n2.kind ===
|
|
23829
|
-
if (
|
|
23830
|
-
nodes = nodes.filter(
|
|
23831
|
-
return NodeSelector.applyMethod[
|
|
23829
|
+
_select(selector3) {
|
|
23830
|
+
let nodes = NodeSelector.applyBoundary[selector3.boundary ?? "references"](this);
|
|
23831
|
+
if (selector3.kind)
|
|
23832
|
+
nodes = nodes.filter((n2) => n2.kind === selector3.kind);
|
|
23833
|
+
if (selector3.where)
|
|
23834
|
+
nodes = nodes.filter(selector3.where);
|
|
23835
|
+
return NodeSelector.applyMethod[selector3.method ?? "filter"](nodes, this, selector3);
|
|
23832
23836
|
}
|
|
23833
23837
|
transform(mapper, opts) {
|
|
23834
23838
|
return this._transform(mapper, this._createTransformContext(opts));
|
|
@@ -23897,8 +23901,8 @@ var init_node = __esm(() => {
|
|
|
23897
23901
|
}
|
|
23898
23902
|
return transformedNode = $2.node(this.kind, transformedInner, ctx.parseOptions);
|
|
23899
23903
|
}
|
|
23900
|
-
configureReferences(meta,
|
|
23901
|
-
const normalized = NodeSelector.normalize(
|
|
23904
|
+
configureReferences(meta, selector3 = "references") {
|
|
23905
|
+
const normalized = NodeSelector.normalize(selector3);
|
|
23902
23906
|
const mapper = typeof meta === "string" ? (kind, inner) => ({
|
|
23903
23907
|
...inner,
|
|
23904
23908
|
meta: { ...inner.meta, description: meta }
|
|
@@ -23927,19 +23931,19 @@ var init_node = __esm(() => {
|
|
|
23927
23931
|
},
|
|
23928
23932
|
applyMethod: {
|
|
23929
23933
|
filter: (nodes) => nodes,
|
|
23930
|
-
assertFilter: (nodes, from,
|
|
23934
|
+
assertFilter: (nodes, from, selector3) => {
|
|
23931
23935
|
if (nodes.length === 0)
|
|
23932
|
-
throwError(writeSelectAssertionMessage(from,
|
|
23936
|
+
throwError(writeSelectAssertionMessage(from, selector3));
|
|
23933
23937
|
return nodes;
|
|
23934
23938
|
},
|
|
23935
23939
|
find: (nodes) => nodes[0],
|
|
23936
|
-
assertFind: (nodes, from,
|
|
23940
|
+
assertFind: (nodes, from, selector3) => {
|
|
23937
23941
|
if (nodes.length === 0)
|
|
23938
|
-
throwError(writeSelectAssertionMessage(from,
|
|
23942
|
+
throwError(writeSelectAssertionMessage(from, selector3));
|
|
23939
23943
|
return nodes[0];
|
|
23940
23944
|
}
|
|
23941
23945
|
},
|
|
23942
|
-
normalize: (
|
|
23946
|
+
normalize: (selector3) => typeof selector3 === "function" ? { boundary: "references", method: "filter", where: selector3 } : typeof selector3 === "string" ? isKeyOf(selector3, NodeSelector.applyBoundary) ? { method: "filter", boundary: selector3 } : { boundary: "references", method: "filter", kind: selector3 } : { boundary: "references", method: "filter", ...selector3 }
|
|
23943
23947
|
};
|
|
23944
23948
|
referenceMatcher = /"(\$ark\.[^"]+)"/g;
|
|
23945
23949
|
});
|
|
@@ -25511,11 +25515,11 @@ var init_root = __esm(() => {
|
|
|
25511
25515
|
const rNode = this.$.parseDefinition(r2);
|
|
25512
25516
|
return rNode.extends(this);
|
|
25513
25517
|
}
|
|
25514
|
-
configure(meta,
|
|
25515
|
-
return this.configureReferences(meta,
|
|
25518
|
+
configure(meta, selector3 = "shallow") {
|
|
25519
|
+
return this.configureReferences(meta, selector3);
|
|
25516
25520
|
}
|
|
25517
|
-
describe(description,
|
|
25518
|
-
return this.configure({ description },
|
|
25521
|
+
describe(description, selector3 = "shallow") {
|
|
25522
|
+
return this.configure({ description }, selector3);
|
|
25519
25523
|
}
|
|
25520
25524
|
optional() {
|
|
25521
25525
|
return [this, "?"];
|
|
@@ -30750,6 +30754,7 @@ var init_env = __esm(() => {
|
|
|
30750
30754
|
env2 = createEnv({
|
|
30751
30755
|
isServer: IS_SERVER,
|
|
30752
30756
|
server: {
|
|
30757
|
+
ROOT_USERNAME: str,
|
|
30753
30758
|
CI: type(`string | undefined`).pipe(Boolean),
|
|
30754
30759
|
POSTGRES_USER: str,
|
|
30755
30760
|
POSTGRES_PASSWORD: str,
|
|
@@ -51669,27 +51674,27 @@ ${"".padEnd(offset)}${"^".repeat(len)}`;
|
|
|
51669
51674
|
function parse1(str2) {
|
|
51670
51675
|
return parse_(complexSelector_, str2);
|
|
51671
51676
|
}
|
|
51672
|
-
function serialize2(
|
|
51673
|
-
if (!
|
|
51677
|
+
function serialize2(selector3) {
|
|
51678
|
+
if (!selector3.type) {
|
|
51674
51679
|
throw new Error("This is not an AST node.");
|
|
51675
51680
|
}
|
|
51676
|
-
switch (
|
|
51681
|
+
switch (selector3.type) {
|
|
51677
51682
|
case "universal":
|
|
51678
|
-
return _serNs(
|
|
51683
|
+
return _serNs(selector3.namespace) + "*";
|
|
51679
51684
|
case "tag":
|
|
51680
|
-
return _serNs(
|
|
51685
|
+
return _serNs(selector3.namespace) + _serIdent(selector3.name);
|
|
51681
51686
|
case "class":
|
|
51682
|
-
return "." + _serIdent(
|
|
51687
|
+
return "." + _serIdent(selector3.name);
|
|
51683
51688
|
case "id":
|
|
51684
|
-
return "#" + _serIdent(
|
|
51689
|
+
return "#" + _serIdent(selector3.name);
|
|
51685
51690
|
case "attrPresence":
|
|
51686
|
-
return `[${_serNs(
|
|
51691
|
+
return `[${_serNs(selector3.namespace)}${_serIdent(selector3.name)}]`;
|
|
51687
51692
|
case "attrValue":
|
|
51688
|
-
return `[${_serNs(
|
|
51693
|
+
return `[${_serNs(selector3.namespace)}${_serIdent(selector3.name)}${selector3.matcher}"${_serStr(selector3.value)}"${selector3.modifier ? selector3.modifier : ""}]`;
|
|
51689
51694
|
case "combinator":
|
|
51690
|
-
return serialize2(
|
|
51695
|
+
return serialize2(selector3.left) + selector3.combinator;
|
|
51691
51696
|
case "compound":
|
|
51692
|
-
return
|
|
51697
|
+
return selector3.list.reduce((acc, node4) => {
|
|
51693
51698
|
if (node4.type === "combinator") {
|
|
51694
51699
|
return serialize2(node4) + acc;
|
|
51695
51700
|
} else {
|
|
@@ -51697,7 +51702,7 @@ function serialize2(selector2) {
|
|
|
51697
51702
|
}
|
|
51698
51703
|
}, "");
|
|
51699
51704
|
case "list":
|
|
51700
|
-
return
|
|
51705
|
+
return selector3.list.map(serialize2).join(",");
|
|
51701
51706
|
}
|
|
51702
51707
|
}
|
|
51703
51708
|
function _serNs(ns2) {
|
|
@@ -51712,30 +51717,30 @@ function _serIdent(str2) {
|
|
|
51712
51717
|
function _serStr(str2) {
|
|
51713
51718
|
return str2.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g, (m2, dq, bs2, nl3, ctrl) => dq ? "\\\"" : bs2 ? "\\\\" : nl3 ? "\uFFFD" : _codePoint(ctrl));
|
|
51714
51719
|
}
|
|
51715
|
-
function normalize2(
|
|
51716
|
-
if (!
|
|
51720
|
+
function normalize2(selector3) {
|
|
51721
|
+
if (!selector3.type) {
|
|
51717
51722
|
throw new Error("This is not an AST node.");
|
|
51718
51723
|
}
|
|
51719
|
-
switch (
|
|
51724
|
+
switch (selector3.type) {
|
|
51720
51725
|
case "compound": {
|
|
51721
|
-
|
|
51722
|
-
|
|
51726
|
+
selector3.list.forEach(normalize2);
|
|
51727
|
+
selector3.list.sort((a2, b5) => _compareArrays(_getSelectorPriority(a2), _getSelectorPriority(b5)));
|
|
51723
51728
|
break;
|
|
51724
51729
|
}
|
|
51725
51730
|
case "combinator": {
|
|
51726
|
-
normalize2(
|
|
51731
|
+
normalize2(selector3.left);
|
|
51727
51732
|
break;
|
|
51728
51733
|
}
|
|
51729
51734
|
case "list": {
|
|
51730
|
-
|
|
51731
|
-
|
|
51735
|
+
selector3.list.forEach(normalize2);
|
|
51736
|
+
selector3.list.sort((a2, b5) => serialize2(a2) < serialize2(b5) ? -1 : 1);
|
|
51732
51737
|
break;
|
|
51733
51738
|
}
|
|
51734
51739
|
}
|
|
51735
|
-
return
|
|
51740
|
+
return selector3;
|
|
51736
51741
|
}
|
|
51737
|
-
function _getSelectorPriority(
|
|
51738
|
-
switch (
|
|
51742
|
+
function _getSelectorPriority(selector3) {
|
|
51743
|
+
switch (selector3.type) {
|
|
51739
51744
|
case "universal":
|
|
51740
51745
|
return [1];
|
|
51741
51746
|
case "tag":
|
|
@@ -51743,13 +51748,13 @@ function _getSelectorPriority(selector2) {
|
|
|
51743
51748
|
case "id":
|
|
51744
51749
|
return [2];
|
|
51745
51750
|
case "class":
|
|
51746
|
-
return [3,
|
|
51751
|
+
return [3, selector3.name];
|
|
51747
51752
|
case "attrPresence":
|
|
51748
|
-
return [4, serialize2(
|
|
51753
|
+
return [4, serialize2(selector3)];
|
|
51749
51754
|
case "attrValue":
|
|
51750
|
-
return [5, serialize2(
|
|
51755
|
+
return [5, serialize2(selector3)];
|
|
51751
51756
|
case "combinator":
|
|
51752
|
-
return [15, serialize2(
|
|
51757
|
+
return [15, serialize2(selector3)];
|
|
51753
51758
|
}
|
|
51754
51759
|
}
|
|
51755
51760
|
function compareSpecificity(a2, b5) {
|
|
@@ -55218,11 +55223,11 @@ function getOrderedListIndexFunction(olType = "1") {
|
|
|
55218
55223
|
function splitClassesAndIds(selectors) {
|
|
55219
55224
|
const classes = [];
|
|
55220
55225
|
const ids = [];
|
|
55221
|
-
for (const
|
|
55222
|
-
if (
|
|
55223
|
-
classes.push(
|
|
55224
|
-
} else if (
|
|
55225
|
-
ids.push(
|
|
55226
|
+
for (const selector3 of selectors) {
|
|
55227
|
+
if (selector3.startsWith(".")) {
|
|
55228
|
+
classes.push(selector3.substring(1));
|
|
55229
|
+
} else if (selector3.startsWith("#")) {
|
|
55230
|
+
ids.push(selector3.substring(1));
|
|
55226
55231
|
}
|
|
55227
55232
|
}
|
|
55228
55233
|
return { classes, ids };
|
|
@@ -55316,7 +55321,7 @@ function convert(html, options = {}, metadata = undefined) {
|
|
|
55316
55321
|
}
|
|
55317
55322
|
function handleDeprecatedOptions(options) {
|
|
55318
55323
|
if (options.tags) {
|
|
55319
|
-
const tagDefinitions = Object.entries(options.tags).map(([
|
|
55324
|
+
const tagDefinitions = Object.entries(options.tags).map(([selector3, definition]) => ({ ...definition, selector: selector3 || "*" }));
|
|
55320
55325
|
options.selectors.push(...tagDefinitions);
|
|
55321
55326
|
options.selectors = mergeDuplicatesPreferLast(options.selectors, (s3) => s3.selector);
|
|
55322
55327
|
}
|
|
@@ -70862,6 +70867,15 @@ class AtomIOLogger2 {
|
|
|
70862
70867
|
};
|
|
70863
70868
|
}
|
|
70864
70869
|
|
|
70870
|
+
// ../../packages/atom.io/src/main/selector.ts
|
|
70871
|
+
init_internal();
|
|
70872
|
+
function selector2(options) {
|
|
70873
|
+
return createStandaloneSelector(IMPLICIT.STORE, options);
|
|
70874
|
+
}
|
|
70875
|
+
function selectorFamily2(options) {
|
|
70876
|
+
return createSelectorFamily(IMPLICIT.STORE, options);
|
|
70877
|
+
}
|
|
70878
|
+
|
|
70865
70879
|
// ../../packages/atom.io/src/main/set-state.ts
|
|
70866
70880
|
init_internal();
|
|
70867
70881
|
function setState(...params) {
|
|
@@ -88150,6 +88164,7 @@ function resolveRoomScript(name2) {
|
|
|
88150
88164
|
|
|
88151
88165
|
// src/backend/websockets.ts
|
|
88152
88166
|
init_tempest_db_schema();
|
|
88167
|
+
init_env();
|
|
88153
88168
|
|
|
88154
88169
|
// src/library/room-names.ts
|
|
88155
88170
|
var roomNames = [
|
|
@@ -88185,6 +88200,10 @@ var cpuCountAtom = atom2({
|
|
|
88185
88200
|
}
|
|
88186
88201
|
]
|
|
88187
88202
|
});
|
|
88203
|
+
var isAdminAtom = atom2({
|
|
88204
|
+
key: `isAdmin`,
|
|
88205
|
+
default: false
|
|
88206
|
+
});
|
|
88188
88207
|
|
|
88189
88208
|
// src/library/username-state.ts
|
|
88190
88209
|
init_drizzle_orm();
|
|
@@ -88248,6 +88267,15 @@ var sessionMiddleware = async (handshake) => {
|
|
|
88248
88267
|
}
|
|
88249
88268
|
return `user::${user.id}`;
|
|
88250
88269
|
};
|
|
88270
|
+
var roomAdminsSelectors = selectorFamily2({
|
|
88271
|
+
key: `roomAdmins`,
|
|
88272
|
+
get: (userKey) => ({ get: get2 }) => {
|
|
88273
|
+
const userName = get2(usernameAtoms, userKey);
|
|
88274
|
+
if (userName === env2.ROOT_USERNAME)
|
|
88275
|
+
return true;
|
|
88276
|
+
return false;
|
|
88277
|
+
}
|
|
88278
|
+
});
|
|
88251
88279
|
var serveSocket = (config3) => {
|
|
88252
88280
|
const { socket, consumer } = config3;
|
|
88253
88281
|
socket.onAny((event, ...args2) => {
|
|
@@ -88260,6 +88288,7 @@ var serveSocket = (config3) => {
|
|
|
88260
88288
|
const provideFamily = realtimeAtomFamilyProvider(config3);
|
|
88261
88289
|
const mutualsSelector = findState(mutualUsersSelector2, consumer);
|
|
88262
88290
|
const unsubFunctions = [
|
|
88291
|
+
provideState(isAdminAtom, findState(roomAdminsSelectors, consumer)),
|
|
88263
88292
|
provideState(cpuCountAtom),
|
|
88264
88293
|
provideFamily(usernameAtoms, mutualsSelector),
|
|
88265
88294
|
provideRooms({
|
|
@@ -88267,7 +88296,8 @@ var serveSocket = (config3) => {
|
|
|
88267
88296
|
userKey: consumer,
|
|
88268
88297
|
store: IMPLICIT.STORE,
|
|
88269
88298
|
roomNames,
|
|
88270
|
-
resolveRoomScript
|
|
88299
|
+
resolveRoomScript,
|
|
88300
|
+
roomAdminsToken: roomAdminsSelectors
|
|
88271
88301
|
})
|
|
88272
88302
|
];
|
|
88273
88303
|
const rawUserId = consumer.replace(/^user::/, ``);
|
|
@@ -13042,12 +13042,14 @@ function destroyRoom({
|
|
|
13042
13042
|
};
|
|
13043
13043
|
}
|
|
13044
13044
|
function provideRooms({
|
|
13045
|
-
store = IMPLICIT.STORE,
|
|
13046
|
-
socket,
|
|
13047
13045
|
resolveRoomScript,
|
|
13046
|
+
roomAdminsToken,
|
|
13048
13047
|
roomNames,
|
|
13048
|
+
socket,
|
|
13049
|
+
store = IMPLICIT.STORE,
|
|
13049
13050
|
userKey
|
|
13050
13051
|
}) {
|
|
13052
|
+
const isAdmin = getFromStore(store, roomAdminsToken, userKey);
|
|
13051
13053
|
const roomSocket = guardSocket2(socket, createRoomSocketGuard(roomNames));
|
|
13052
13054
|
const exposeMutable = realtimeMutableProvider({
|
|
13053
13055
|
socket,
|
|
@@ -13077,8 +13079,10 @@ function provideRooms({
|
|
|
13077
13079
|
enterRoom(userRoomKey);
|
|
13078
13080
|
break;
|
|
13079
13081
|
}
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
+
if (isAdmin) {
|
|
13083
|
+
roomSocket.on(`createRoom`, spawnRoom({ store, socket, userKey, resolveRoomScript }));
|
|
13084
|
+
roomSocket.on(`deleteRoom`, destroyRoom({ store, socket, userKey }));
|
|
13085
|
+
}
|
|
13082
13086
|
return () => {
|
|
13083
13087
|
unsubFromRoomKeys();
|
|
13084
13088
|
unsubFromUsersInRooms();
|
|
@@ -15280,6 +15284,7 @@ var init_env = __esm(() => {
|
|
|
15280
15284
|
env2 = createEnv({
|
|
15281
15285
|
isServer: IS_SERVER,
|
|
15282
15286
|
server: {
|
|
15287
|
+
ROOT_USERNAME: str,
|
|
15283
15288
|
CI: type(`string | undefined`).pipe(Boolean),
|
|
15284
15289
|
POSTGRES_USER: str,
|
|
15285
15290
|
POSTGRES_PASSWORD: str,
|
package/bin/frontend.bun.js
CHANGED
|
@@ -13021,12 +13021,14 @@ function destroyRoom({
|
|
|
13021
13021
|
};
|
|
13022
13022
|
}
|
|
13023
13023
|
function provideRooms({
|
|
13024
|
-
store = IMPLICIT.STORE,
|
|
13025
|
-
socket,
|
|
13026
13024
|
resolveRoomScript,
|
|
13025
|
+
roomAdminsToken,
|
|
13027
13026
|
roomNames,
|
|
13027
|
+
socket,
|
|
13028
|
+
store = IMPLICIT.STORE,
|
|
13028
13029
|
userKey
|
|
13029
13030
|
}) {
|
|
13031
|
+
const isAdmin = getFromStore(store, roomAdminsToken, userKey);
|
|
13030
13032
|
const roomSocket = guardSocket(socket, createRoomSocketGuard(roomNames));
|
|
13031
13033
|
const exposeMutable = realtimeMutableProvider({
|
|
13032
13034
|
socket,
|
|
@@ -13056,8 +13058,10 @@ function provideRooms({
|
|
|
13056
13058
|
enterRoom(userRoomKey);
|
|
13057
13059
|
break;
|
|
13058
13060
|
}
|
|
13059
|
-
|
|
13060
|
-
|
|
13061
|
+
if (isAdmin) {
|
|
13062
|
+
roomSocket.on(`createRoom`, spawnRoom({ store, socket, userKey, resolveRoomScript }));
|
|
13063
|
+
roomSocket.on(`deleteRoom`, destroyRoom({ store, socket, userKey }));
|
|
13064
|
+
}
|
|
13061
13065
|
return () => {
|
|
13062
13066
|
unsubFromRoomKeys();
|
|
13063
13067
|
unsubFromUsersInRooms();
|
|
@@ -13557,6 +13561,7 @@ var init_env = __esm(() => {
|
|
|
13557
13561
|
env2 = createEnv({
|
|
13558
13562
|
isServer: IS_SERVER,
|
|
13559
13563
|
server: {
|
|
13564
|
+
ROOT_USERNAME: str,
|
|
13560
13565
|
CI: type(`string | undefined`).pipe(Boolean),
|
|
13561
13566
|
POSTGRES_USER: str,
|
|
13562
13567
|
POSTGRES_PASSWORD: str,
|
package/bin/setup-db.bun.js
CHANGED
|
@@ -13905,6 +13905,7 @@ var optionalBool = type(`"true" | "false" | undefined`).pipe((s) => s === `true`
|
|
|
13905
13905
|
var env2 = createEnv({
|
|
13906
13906
|
isServer: IS_SERVER,
|
|
13907
13907
|
server: {
|
|
13908
|
+
ROOT_USERNAME: str,
|
|
13908
13909
|
CI: type(`string | undefined`).pipe(Boolean),
|
|
13909
13910
|
POSTGRES_USER: str,
|
|
13910
13911
|
POSTGRES_PASSWORD: str,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tempest.games",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.10",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"socket.io-client": "4.8.3",
|
|
51
51
|
"three": "0.182.0",
|
|
52
52
|
"three-stdlib": "2.36.1",
|
|
53
|
-
"atom.io": "0.46.
|
|
53
|
+
"atom.io": "0.46.16",
|
|
54
54
|
"safedeposit": "0.1.2",
|
|
55
55
|
"treetrunks": "0.1.5"
|
|
56
56
|
},
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"vite": "7.3.0",
|
|
77
77
|
"vite-tsconfig-paths": "6.0.3",
|
|
78
78
|
"vitest": "4.0.16",
|
|
79
|
-
"
|
|
80
|
-
"
|
|
79
|
+
"varmint": "0.5.11",
|
|
80
|
+
"flightdeck": "0.3.36"
|
|
81
81
|
},
|
|
82
82
|
"scripts": {
|
|
83
83
|
"dev": "bun run env:dev && concurrently \"bun:dev:*\"",
|