Implement rule-based Studio creation, usable canvas and Reader, and consolidated package authoring
This commit is contained in:
@@ -71,17 +71,10 @@ export async function executionScaffold(
|
||||
outputs = { nixpkgs, flake-utils, helpers, ... }:
|
||||
flake-utils.lib.eachDefaultSystem (system: let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
camino = import (helpers + "/quixos-package-helpers.nix");
|
||||
in {
|
||||
devShells.default = (import (helpers + "/quixos-package-helpers.nix")).mkCaminoYarnShell { inherit pkgs; };
|
||||
quixosPackages.checkedArtifacts = context:
|
||||
import ./package.nix { inherit pkgs context; camino = import (helpers + "/quixos-package-helpers.nix"); };
|
||||
});
|
||||
}
|
||||
`,
|
||||
);
|
||||
create(
|
||||
"package.nix",
|
||||
`{ pkgs, camino, context }:
|
||||
let
|
||||
plan = builtins.fromJSON (builtins.readFile context.plan);
|
||||
package = pkgs.lib.findFirst (entry: entry.revision == context.packageRevisionId)
|
||||
@@ -103,6 +96,8 @@ in camino.assembleCaminoPackage {
|
||||
}) ++ pkgs.lib.optional (modules != {}) (camino.mkCaminoReactPackage {
|
||||
inherit pkgs context dependencies modules; src = ./.;
|
||||
});
|
||||
};
|
||||
});
|
||||
}
|
||||
`,
|
||||
);
|
||||
|
||||
@@ -210,7 +210,8 @@ export const editStructure = (source: string, edit: StructuralEdit): string => {
|
||||
return source;
|
||||
}
|
||||
const identifiers = node.children.filter((entry) => entry.kind === "identifier");
|
||||
const position = identifiers[identifiers.length - 1].end;
|
||||
const targetArguments = node.children.find((entry) => entry.kind === "typeArguments");
|
||||
const position = targetArguments?.end ?? identifiers[identifiers.length - 1].end;
|
||||
result = applySourceEdits(source, [{ start: position, end: position, text: ` id ${JSON.stringify(edit.id)}` }]);
|
||||
} else if (edit.operation === "append") {
|
||||
const closing = syntax.tokens.find((token) => token.kind === "RBRACE" && token.end === node.end);
|
||||
|
||||
Reference in New Issue
Block a user