Former-commit-id: ab73c7b323
This commit is contained in:
Jarred Sumner
2021-07-13 10:32:57 -07:00
parent b1b459435f
commit fea9faaf4c
30 changed files with 1551 additions and 263 deletions

16
src/api/schema.d.ts vendored
View File

@@ -234,6 +234,15 @@ type uint32 = number;
loaders: Loader[];
}
export interface FrameworkConfig {
entry_point?: string;
}
export interface RouteConfig {
dir?: string;
extensions?: string[];
}
export interface TransformOptions {
jsx?: JSX;
tsconfig_override?: string;
@@ -256,7 +265,8 @@ type uint32 = number;
only_scan_dependencies?: ScanDependencyMode;
generate_node_module_bundle?: boolean;
node_modules_bundle_path?: string;
javascript_framework_file?: string;
framework?: FrameworkConfig;
router?: RouteConfig;
}
export interface FileHandle {
@@ -408,6 +418,10 @@ type uint32 = number;
export declare function decodeStringMap(buffer: ByteBuffer): StringMap;
export declare function encodeLoaderMap(message: LoaderMap, bb: ByteBuffer): void;
export declare function decodeLoaderMap(buffer: ByteBuffer): LoaderMap;
export declare function encodeFrameworkConfig(message: FrameworkConfig, bb: ByteBuffer): void;
export declare function decodeFrameworkConfig(buffer: ByteBuffer): FrameworkConfig;
export declare function encodeRouteConfig(message: RouteConfig, bb: ByteBuffer): void;
export declare function decodeRouteConfig(buffer: ByteBuffer): RouteConfig;
export declare function encodeTransformOptions(message: TransformOptions, bb: ByteBuffer): void;
export declare function decodeTransformOptions(buffer: ByteBuffer): TransformOptions;
export declare function encodeFileHandle(message: FileHandle, bb: ByteBuffer): void;

View File

@@ -569,6 +569,81 @@ bb.writeByte(encoded);
}
function decodeFrameworkConfig(bb) {
var result = {};
while (true) {
switch (bb.readByte()) {
case 0:
return result;
case 1:
result["entry_point"] = bb.readString();
break;
default:
throw new Error("Attempted to parse invalid message");
}
}
}
function encodeFrameworkConfig(message, bb) {
var value = message["entry_point"];
if (value != null) {
bb.writeByte(1);
bb.writeString(value);
}
bb.writeByte(0);
}
function decodeRouteConfig(bb) {
var result = {};
while (true) {
switch (bb.readByte()) {
case 0:
return result;
case 1:
result["dir"] = bb.readString();
break;
case 2:
var length = bb.readVarUint();
var values = result["extensions"] = Array(length);
for (var i = 0; i < length; i++) values[i] = bb.readString();
break;
default:
throw new Error("Attempted to parse invalid message");
}
}
}
function encodeRouteConfig(message, bb) {
var value = message["dir"];
if (value != null) {
bb.writeByte(1);
bb.writeString(value);
}
var value = message["extensions"];
if (value != null) {
bb.writeByte(2);
var values = value, n = values.length;
bb.writeVarUint(n);
for (var i = 0; i < n; i++) {
value = values[i];
bb.writeString(value);
}
}
bb.writeByte(0);
}
function decodeTransformOptions(bb) {
var result = {};
@@ -672,7 +747,11 @@ function decodeTransformOptions(bb) {
break;
case 22:
result["javascript_framework_file"] = bb.readString();
result["framework"] = decodeFrameworkConfig(bb);
break;
case 23:
result["router"] = decodeRouteConfig(bb);
break;
default:
@@ -840,10 +919,16 @@ bb.writeByte(encoded);
bb.writeString(value);
}
var value = message["javascript_framework_file"];
var value = message["framework"];
if (value != null) {
bb.writeByte(22);
bb.writeString(value);
encodeFrameworkConfig(value, bb);
}
var value = message["router"];
if (value != null) {
bb.writeByte(23);
encodeRouteConfig(value, bb);
}
bb.writeByte(0);
@@ -1789,6 +1874,10 @@ export { decodeStringMap }
export { encodeStringMap }
export { decodeLoaderMap }
export { encodeLoaderMap }
export { decodeFrameworkConfig }
export { encodeFrameworkConfig }
export { decodeRouteConfig }
export { encodeRouteConfig }
export { decodeTransformOptions }
export { encodeTransformOptions }
export { decodeFileHandle }

View File

@@ -132,6 +132,15 @@ struct LoaderMap {
Loader[] loaders;
}
message FrameworkConfig {
string entry_point = 1;
}
message RouteConfig {
string dir = 1;
string[] extensions = 2;
}
message TransformOptions {
JSX jsx = 1;
string tsconfig_override = 2;
@@ -169,7 +178,8 @@ message TransformOptions {
string node_modules_bundle_path = 21;
string javascript_framework_file = 22;
FrameworkConfig framework = 22;
RouteConfig router = 23;
}
struct FileHandle {

View File

@@ -759,6 +759,82 @@ pub fn encode(this: *const @This(), writer: anytype) anyerror!void {
};
pub const FrameworkConfig = struct {
/// entry_point
entry_point: ?[]const u8 = null,
pub fn decode(reader: anytype) anyerror!FrameworkConfig {
var this = std.mem.zeroes(FrameworkConfig);
while(true) {
switch (try reader.readByte()) {
0 => { return this; },
1 => {
this.entry_point = try reader.readValue([]const u8);
},
else => {
return error.InvalidMessage;
},
}
}
unreachable;
}
pub fn encode(this: *const @This(), writer: anytype) anyerror!void {
if (this.entry_point) |entry_point| {
try writer.writeFieldID(1);
try writer.writeValue(entry_point);
}
try writer.endMessage();
}
};
pub const RouteConfig = struct {
/// dir
dir: ?[]const u8 = null,
/// extensions
extensions: []const []const u8,
pub fn decode(reader: anytype) anyerror!RouteConfig {
var this = std.mem.zeroes(RouteConfig);
while(true) {
switch (try reader.readByte()) {
0 => { return this; },
1 => {
this.dir = try reader.readValue([]const u8);
},
2 => {
this.extensions = try reader.readArray([]const u8);
},
else => {
return error.InvalidMessage;
},
}
}
unreachable;
}
pub fn encode(this: *const @This(), writer: anytype) anyerror!void {
if (this.dir) |dir| {
try writer.writeFieldID(1);
try writer.writeValue(dir);
}
if (this.extensions) |extensions| {
try writer.writeFieldID(2);
try writer.writeArray([]const u8, extensions);
}
try writer.endMessage();
}
};
pub const TransformOptions = struct {
/// jsx
jsx: ?Jsx = null,
@@ -823,8 +899,11 @@ generate_node_module_bundle: ?bool = null,
/// node_modules_bundle_path
node_modules_bundle_path: ?[]const u8 = null,
/// javascript_framework_file
javascript_framework_file: ?[]const u8 = null,
/// framework
framework: ?FrameworkConfig = null,
/// router
router: ?RouteConfig = null,
pub fn decode(reader: anytype) anyerror!TransformOptions {
@@ -898,7 +977,10 @@ pub fn decode(reader: anytype) anyerror!TransformOptions {
this.node_modules_bundle_path = try reader.readValue([]const u8);
},
22 => {
this.javascript_framework_file = try reader.readValue([]const u8);
this.framework = try reader.readValue(FrameworkConfig);
},
23 => {
this.router = try reader.readValue(RouteConfig);
},
else => {
return error.InvalidMessage;
@@ -993,9 +1075,13 @@ if (this.node_modules_bundle_path) |node_modules_bundle_path| {
try writer.writeFieldID(21);
try writer.writeValue(node_modules_bundle_path);
}
if (this.javascript_framework_file) |javascript_framework_file| {
if (this.framework) |framework| {
try writer.writeFieldID(22);
try writer.writeValue(javascript_framework_file);
try writer.writeValue(framework);
}
if (this.router) |router| {
try writer.writeFieldID(23);
try writer.writeValue(router);
}
try writer.endMessage();
}