Skip to content

Commit

Permalink
Update to @rbxts/[email protected]
Browse files Browse the repository at this point in the history
  • Loading branch information
Vorlias committed Jun 29, 2021
1 parent d98759a commit 8fc46f1
Show file tree
Hide file tree
Showing 13 changed files with 56 additions and 89 deletions.
25 changes: 9 additions & 16 deletions example/client/index.client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,7 @@ import { BaseTheme, makeTheme } from "./Client/UIKit/ThemeContext";
import { Players } from "@rbxts/services";
import Log, { Logger } from "@rbxts/log";

Log.SetLogger(
Logger.configure()
.WriteTo(Zircon.Log.Console())
.WriteTo((message) => print(message.Timestamp, message))
.Enrich(Zircon.Log.ZirconTag)
.EnrichWithProperty("Version", PKG_VERSION)
.Create(),
);
Log.SetLogger(Logger.configure().WriteTo(Zircon.Log.Console()).EnrichWithProperty("Version", PKG_VERSION).Create());

const LightTheme = makeTheme({
PrimaryBackgroundColor3: Color3.fromRGB(220, 220, 220),
Expand All @@ -41,11 +34,11 @@ ZirconClient.BindConsole({
});

delayAsync(10).then(() => {
Log.Verbose("Verbose message pls");
Log.Info("Hello, {Test}! {Boolean} {Number} {Array}", "Test string", true, 10, [1, 2, 3, [4]]);
Zircon.Log.Info("Test", "Should be good {}", 1);
Zircon.Log.Info(
"TestFormat",
`String {}, Number {}, Boolean {}, Array: {}, Map: {}, Instance: {}, Undefined: {}, None: {}`,
Log.Info("Should be good {Number}", 1);
Log.Info(
`String {String}, Number {Number}, Boolean {Boolean}, Array: {Array}, Map: {Map}, Instance: {Instance}, Undefined: {Undefined}, None: {None}`,
"Hello, World!",
1337,
true,
Expand All @@ -54,8 +47,8 @@ delayAsync(10).then(() => {
Players.LocalPlayer,
undefined,
);
Zircon.Log.Debug("test", "testing debug");
Zircon.Log.Warning("TestWarning", "test warning lol");
Zircon.Log.Error("TestError", "test error lol");
Zircon.Log.Failure("TestWtf", "wtf lol");
Log.Debug("test", "testing debug");
Log.Warn("test warning lol");
Log.Error("test error lol");
Log.Fatal("wtf lol");
});
20 changes: 3 additions & 17 deletions example/server/index.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,7 @@ import Zircon from "@zircon";
import ZirconPrint from "BuiltIn/Print";
import delayAsync from "Client/BuiltInConsole/DelayAsync";

Log.SetLogger(
Logger.configure()
.WriteTo(Zircon.Log.Console())
.WriteTo((message) => print(message.Timestamp, message))
.Enrich(Zircon.Log.ZirconTag)
.EnrichWithProperty("Version", PKG_VERSION)
.Create(),
);
Log.SetLogger(Logger.configure().WriteTo(Zircon.Log.Console()).EnrichWithProperty("Version", PKG_VERSION).Create());

Zircon.Server.Registry.RegisterFunction(ZirconPrint, [Zircon.Server.Registry.User]);

Expand Down Expand Up @@ -45,20 +38,13 @@ Zircon.Server.Registry.RegisterZrLuauFunction(
[Zircon.Server.Registry.User],
);

function callMe() {}

delayAsync(5).then(() => {
Log.Default().Verbose("A verbose message. Yes?");
Log.Verbose("A verbose message. Yes?");
Log.Debug("A debug message, yes");
Log.Info("Hello, {Test}! {Boolean} {Number} {Array}", "Test string", true, 10, [1, 2, 3, [4]]);
Log.Warn("Warining {Lol}", "LOL!");
Log.Error("ERROR LOL {Yes}", true);
Log.Default().Fatal("Fatal message here");
Zircon.Log.Info("Test", "testing lol");
Zircon.Log.Debug("test", "testing debug");
Zircon.Log.Warning("TestWarning", "test warning lol");
Zircon.Log.Error("TestError", "test error lol");
Zircon.Log.Failure("TestWtf", "wtf lol");
Log.Fatal("Fatal message here");
});

game.GetService("Players").PlayerAdded.Connect((player) => {
Expand Down
2 changes: 1 addition & 1 deletion foreman.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[tools]
rojo = { source = "rojo-rbx/rojo", version = "6.0.0-rc.4" }
rojo = { source = "rojo-rbx/rojo", version = "7.0.0-alpha.4" }
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rbxts/zircon",
"version": "0.6.0-alpha.0",
"version": "0.7.0-alpha.0",
"description": "",
"main": "out/init.lua",
"scripts": {
Expand Down Expand Up @@ -38,7 +38,7 @@
},
"dependencies": {
"@rbxts/flipper": "^1.2.0",
"@rbxts/log": "^0.2.0-alpha.3",
"@rbxts/log": "^0.3.0-alpha.0",
"@rbxts/maid": "^1.0.0-ts.1",
"@rbxts/message-templates": "^0.2.0",
"@rbxts/net": "^2.1.0",
Expand Down
14 changes: 8 additions & 6 deletions src/Client/BuiltInConsole/UI/DockedConsole.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import ZirconSyntaxTextBox from "../../Components/SyntaxTextBox";
import { ZirconIconButton } from "../../Components/Icon";
import Remotes from "../../../Shared/Remotes";
import { RemoteId } from "../../../RemoteId";
import ClientEvent, { ClientSenderEvent } from "@rbxts/net/out/client/ClientEvent";
import { ClientSenderEvent } from "@rbxts/net/out/client/ClientEvent";
import ZirconOutput from "../../../Client/Components/Output";
import { DispatchParam } from "@rbxts/rodux";
import ZirconClientStore from "../Store";
Expand Down Expand Up @@ -66,9 +66,9 @@ class ZirconConsoleComponent extends Roact.Component<DockedConsoleProps, DockedC
this.sizeYMotor = new SingleMotor(MAX_SIZE);
this.filterSettingsSizeY = new SingleMotor(0);
this.outputTransparencyMotor = new SingleMotor(0.1);
let setPositionY: Roact.RoactBindingFunc<number>;
let setSizeY: Roact.RoactBindingFunc<number>;
let setOutputTransparency: Roact.RoactBindingFunc<number>;
let setPositionY: Roact.BindingFunction<number>;
let setSizeY: Roact.BindingFunction<number>;
let setOutputTransparency: Roact.BindingFunction<number>;
let setFilterSizeY: Roact.BindingFunction<number>;

// Bindings
Expand Down Expand Up @@ -190,6 +190,10 @@ class ZirconConsoleComponent extends Roact.Component<DockedConsoleProps, DockedC
Label="Level Filter"
SelectedItemIds={this.state.levelFilter}
Items={[
{
Id: ZirconLogLevel.Verbose,
Text: "Verbose",
},
{
Id: ZirconLogLevel.Debug,
Text: "Debugging",
Expand Down Expand Up @@ -293,8 +297,6 @@ class ZirconConsoleComponent extends Roact.Component<DockedConsoleProps, DockedC
Size={new UDim2(1, -16 - 32 - 100, 1, 0)}
Position={new UDim2(0, 16, 0, 0)}
Focused={this.state.isVisible}
// PlaceholderText="Enter Script"
// AutoFocus
Source={this.state.source}
OnEnterSubmit={(input) => {
this.props.addMessage(input);
Expand Down
1 change: 0 additions & 1 deletion src/Client/Components/Output.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ const mapStateToProps = (state: ConsoleReducer): MappedProps => {
if (typeIs(filter.SearchQuery, "string")) {
const { SearchQuery } = filter;
output = output.filter((message) => {
// StringUtils.startsWith(getMessageText(message), SearchQuery)
return StringUtils.includes(getMessageText(message), SearchQuery);
});
}
Expand Down
2 changes: 0 additions & 2 deletions src/Client/Components/OutputMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ import ThemeContext, {
} from "../../Client/UIKit/ThemeContext";
import { ZirconDebugInformation, ZirconNetworkMessageType } from "../../Shared/Remotes";
import { ZrRichTextHighlighter } from "@rbxts/zirconium/out/Ast";
import StringUtils from "@rbxts/string-utils";
import { padEnd } from "Shared/Strings";
import { formatParse, formatTokens } from "Client/Format";
import { LogLevel } from "@rbxts/log";
import { MessageTemplateParser } from "@rbxts/message-templates";
Expand Down
22 changes: 15 additions & 7 deletions src/Client/Types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { StructuredMessage } from "@rbxts/log";
import { LogEvent } from "@rbxts/log";
import {
ZirconStandardOutput,
ZirconiumRuntimeErrorMessage,
Expand Down Expand Up @@ -62,7 +62,7 @@ export interface ZirconLogData {
CallDebugInfo?: ZirconDebugInfo;
}

export const enum ZirconLogLevel {
export enum ZirconLogLevel {
Verbose = 0,
Debug,
Info,
Expand All @@ -87,12 +87,13 @@ export const enum ZirconMessageType {

export function isContextMessage(
message: ConsoleMessage,
): message is ZrOutputMessage | ZrErrorMessage | ZirconLogMessage | ZirconLogError {
): message is ZrOutputMessage | ZrErrorMessage | ZirconLogMessage | ZirconLogError | ZirconStructuredLogMessage {
return (
message.type === ZirconMessageType.ZirconLogErrorMessage ||
message.type === ZirconMessageType.ZirconLogOutputMesage ||
message.type === ZirconMessageType.ZirconiumOutput ||
message.type === ZirconMessageType.ZirconiumError
message.type === ZirconMessageType.ZirconiumError ||
message.type === ZirconMessageType.StructuredLog
);
}

Expand Down Expand Up @@ -122,21 +123,28 @@ export function getMessageText(message: ConsoleMessage) {
return message.source;
} else if (message.type === ZirconMessageType.PlainText) {
return message.message;
} else if (message.type === ZirconMessageType.StructuredLog) {
return message.data.Template;
} else {
return "";
}
}

export function isLogMessage(message: ConsoleMessage): message is ZirconLogMessage | ZirconLogError {
export function isLogMessage(
message: ConsoleMessage,
): message is ZirconLogMessage | ZirconLogError | ZirconStructuredLogMessage {
return (
message.type === ZirconMessageType.ZirconLogErrorMessage ||
message.type === ZirconMessageType.ZirconLogOutputMesage
message.type === ZirconMessageType.ZirconLogOutputMesage ||
message.type === ZirconMessageType.StructuredLog
);
}

export function getLogLevel(message: ConsoleMessage) {
if (message.type === ZirconMessageType.ZirconLogOutputMesage) {
return message.message.level;
} else if (message.type === ZirconMessageType.StructuredLog) {
return (message.data.Level as unknown) as ZirconLogLevel;
} else if (message.type === ZirconMessageType.ZirconLogErrorMessage) {
return message.error.level;
} else if (message.type === ZirconMessageType.ZirconiumError) {
Expand Down Expand Up @@ -186,7 +194,7 @@ export interface ZirconLogMessage extends ZirconContextMessage {

export interface ZirconStructuredLogMessage extends ZirconContextMessage {
readonly type: ZirconMessageType.StructuredLog;
readonly data: StructuredMessage;
readonly data: LogEvent;
}

export interface ZirconLogErrorData {}
Expand Down
4 changes: 2 additions & 2 deletions src/Client/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import Remotes, { ZirconNetworkMessageType } from "../Shared/Remotes";
import { RemoteId } from "../RemoteId";
import { ZirconContext, ZirconLogData, ZirconLogLevel, ZirconMessageType } from "./Types";
import ZirconTopBar from "./BuiltInConsole/UI/TopbarMenu";
import { LogLevel, StructuredMessage } from "@rbxts/log";
import { LogEvent, LogLevel } from "@rbxts/log";

const IsClient = RunService.IsClient();

Expand Down Expand Up @@ -43,7 +43,7 @@ namespace ZirconClient {
return GetCommandService("ClientDispatchService");
});

export function StructuredLog(data: StructuredMessage) {
export function StructuredLog(data: LogEvent) {
ZirconClientStore.dispatch({
type: ConsoleActionName.AddOutput,
message: {
Expand Down
37 changes: 9 additions & 28 deletions src/Log.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { LogLevel, StructuredMessage } from "@rbxts/log/out/Configuration";
import { RunService } from "@rbxts/services";
import Signal from "@rbxts/signal";
import Client from "Client";
Expand All @@ -7,6 +6,8 @@ import Server from "Server";
import { MessageTemplateParser } from "@rbxts/message-templates/out/MessageTemplateParser";
import { MessageTemplateRenderer, PropertyToken, TextToken } from "@rbxts/message-templates";
import { DestructureMode } from "@rbxts/message-templates/out/MessageTemplateToken";
import { LogEvent } from "@rbxts/log";
import { ILogEventSink } from "@rbxts/log/out/Core";

const logMessageSignal = new Signal<
(level: ZirconLogLevel, tag: ZirconTag, message: string, data: ZirconLogData) => void
Expand Down Expand Up @@ -42,38 +43,18 @@ export namespace Logging {
logMessageSignal.Fire(level, tag, message, data);
}

function GetLogLevel(logLevel: LogLevel) {
switch (logLevel) {
case LogLevel.Verbose:
return ZirconLogLevel.Verbose;
case LogLevel.Debugging:
return ZirconLogLevel.Debug;
case LogLevel.Information:
return ZirconLogLevel.Info;
case LogLevel.Warning:
return ZirconLogLevel.Warning;
case LogLevel.Error:
return ZirconLogLevel.Error;
case LogLevel.Fatal:
return ZirconLogLevel.Wtf;
}
}

export const ZirconTag = (message: StructuredMessage) => {
const [n, s] = debug.info(5, "ns");
// eslint-disable-next-line roblox-ts/lua-truthiness
message.Source = s;
message.ZirconTag = n;
};

export function Console() {
return (message: StructuredMessage) => {
class LogEventConsoleSink implements ILogEventSink {
Emit(message: LogEvent): void {
if (RunService.IsServer()) {
Server.Log.WriteStructured(message);
} else {
Client.StructuredLog(message);
}
};
}
}

export function Console() {
return new LogEventConsoleSink();
}

const warned = new Set<string>();
Expand Down
4 changes: 2 additions & 2 deletions src/Services/LogService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Remotes, {
ZirconNetworkMessageType,
ZirconStructuredLogOutput,
} from "../Shared/Remotes";
import { StructuredMessage } from "@rbxts/log";
import { LogEvent } from "@rbxts/log";

const StandardOutput = Remotes.Server.Create(RemoteId.StandardOutput);
const StandardError = Remotes.Server.Create(RemoteId.StandardError);
Expand Down Expand Up @@ -67,7 +67,7 @@ export namespace ZirconLogService {
return outputMessages;
}

export function WriteStructured(data: StructuredMessage) {
export function WriteStructured(data: LogEvent) {
const outputError = identity<ZirconStructuredLogOutput>({
type: ZirconNetworkMessageType.ZirconSerilogMessage,
data,
Expand Down
4 changes: 2 additions & 2 deletions src/Shared/Remotes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { ZrParserErrorCode } from "@rbxts/zirconium/out/Ast/Parser";
import { ZirconLogData, ZirconLogLevel } from "../Client/Types";
import createPermissionMiddleware from "./NetPermissionMiddleware";
import type { ReadonlyZirconPermissionSet } from "Server/Class/ZirconGroup";
import { StructuredMessage } from "@rbxts/log";
import { LogEvent } from "@rbxts/log";

export interface ZirconiumRuntimeErrorMessage {
type: ZirconNetworkMessageType.ZirconiumRuntimeError;
Expand Down Expand Up @@ -72,7 +72,7 @@ export interface ZirconLogErrorOutput {

export interface ZirconStructuredLogOutput {
type: ZirconNetworkMessageType.ZirconSerilogMessage;
data: StructuredMessage;
data: LogEvent;
message: string;
time: number;
}
Expand Down

0 comments on commit 8fc46f1

Please sign in to comment.