Export template source from 4c88728f144add3457b4273d4b9a04ee53c53be3:quixos-instance/packages/web-studio-canvas-runtime
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
.yarn/install-state.gz
|
||||||
|
node_modules
|
||||||
|
result
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"monorepoCommit": "4c88728f144add3457b4273d4b9a04ee53c53be3",
|
||||||
|
"sourcePath": "quixos-instance/packages/web-studio-canvas-runtime"
|
||||||
|
}
|
||||||
Vendored
+1
File diff suppressed because one or more lines are too long
+29
@@ -0,0 +1,29 @@
|
|||||||
|
approvedGitRepositories:
|
||||||
|
- "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/*"
|
||||||
|
|
||||||
|
enableScripts: true
|
||||||
|
|
||||||
|
generateDefaultNix: false
|
||||||
|
|
||||||
|
individualNixPackaging: true
|
||||||
|
|
||||||
|
nodeLinker: node-modules
|
||||||
|
|
||||||
|
supportedArchitectures:
|
||||||
|
os:
|
||||||
|
- current
|
||||||
|
- linux
|
||||||
|
cpu:
|
||||||
|
- current
|
||||||
|
- x64
|
||||||
|
- arm64
|
||||||
|
libc:
|
||||||
|
- current
|
||||||
|
- glibc
|
||||||
|
|
||||||
|
npmMinimalAgeGate: 0
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
- checksum: 271de9a785321a37c564b8e2a6b5cd689850b20572d5fee8ec0a6b8e7a5d4cfb59e533524af2b4a537e00da12828abd062eaec6978556e3dd9149a020db2591b
|
||||||
|
path: .yarn/plugins/yarn-plugin-nixify.cjs
|
||||||
|
spec: "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/yarn-plugin-nixify-patched/raw/commit/4528fdd20b30d869262443b3f044549810e75fb8/dist/yarn-plugin-nixify.js"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Generated from the checked package contract
|
||||||
|
package_id: "package:org.quixos.web-studio:canvas-runtime"
|
||||||
|
package_revision_id: "package:org.quixos.web-studio:canvas-runtime@1"
|
||||||
|
runtime_protocol_version: "quixos-capabilities-v1"
|
||||||
|
exports: { export_id: "export:org.quixos.web-studio.canvas-runtime:create-canvas" runtime_symbol: "createCanvas" }
|
||||||
|
exports: { export_id: "export:org.quixos.web-studio.canvas-runtime:create-placement" runtime_symbol: "createPlacement" }
|
||||||
Generated
+80
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1788531059,
|
||||||
|
"narHash": "sha256-hLD4l3QOGBQhkVp3mQ2lJ/YbEi99qUgKapb40KovZ88=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "801bef6abd86b91e51083066b83fb354a11fc640",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"quixosNixHelpers": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1789602549,
|
||||||
|
"narHash": "sha256-DD66dQ3dzEvG13Zju/4sVSV4pnktSUkJ/Rbr1KkHMdg=",
|
||||||
|
"ref": "refs/tags/quixos-reachability/e2747066ca7d9d001dcb5dd936e17969ed88fc5f",
|
||||||
|
"rev": "e2747066ca7d9d001dcb5dd936e17969ed88fc5f",
|
||||||
|
"revCount": 32,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "refs/tags/quixos-reachability/e2747066ca7d9d001dcb5dd936e17969ed88fc5f",
|
||||||
|
"rev": "e2747066ca7d9d001dcb5dd936e17969ed88fc5f",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"quixosNixHelpers": "quixosNixHelpers"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
description = "Quixos Web Studio canvas runtime package";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
|
quixosNixHelpers = {
|
||||||
|
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?ref=refs/tags/quixos-reachability/e2747066ca7d9d001dcb5dd936e17969ed88fc5f&rev=e2747066ca7d9d001dcb5dd936e17969ed88fc5f";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
inputs@{
|
||||||
|
nixpkgs,
|
||||||
|
flake-utils,
|
||||||
|
quixosNixHelpers,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
quixosHelpers = import "${quixosNixHelpers}/quixos-package-helpers.nix";
|
||||||
|
in
|
||||||
|
quixosHelpers.mkCaminoTsYarnNixifyFlake {
|
||||||
|
inherit inputs nixpkgs flake-utils;
|
||||||
|
packageRoot = ./.;
|
||||||
|
migrationEntrypoint = "dist/migrate.js";
|
||||||
|
promptName = "web-studio-canvas-runtime";
|
||||||
|
bundle = {
|
||||||
|
entry = "dist/server.js";
|
||||||
|
};
|
||||||
|
installServer = {
|
||||||
|
libexecName = "web-studio-canvas-runtime";
|
||||||
|
descriptorPath = "descriptor.quixos-package.txtpb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "@quixos/web-studio-canvas-runtime",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"packageManager": "yarn@4.18.0",
|
||||||
|
"type": "module",
|
||||||
|
"bin": {
|
||||||
|
"server": "dist/server.js"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
||||||
|
"test": "yarn build && node --test test/*.test.mjs",
|
||||||
|
"typecheck": "tsc --noEmit"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=446fd4e36e9700cf27ce20b472a8d512133e9370"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^24",
|
||||||
|
"typescript": "^7.0.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
import interface WebStudioCanvasPlacement;
|
||||||
|
external atom WebStudioCanvas id "atom:org.quixos.web-studio:canvas";
|
||||||
|
external atom WebStudioCanvasPlacement id "atom:org.quixos.web-studio:canvas-placement";
|
||||||
|
external interface WebStudioCanvasInterface revision "interface:org.quixos.web-studio.canvas@1";
|
||||||
|
external interface WebStudioPlaceable revision "interface:org.quixos.web-studio.placeable@1";
|
||||||
|
|
||||||
|
package WebStudioCanvasRuntime id "package:org.quixos.web-studio:canvas-runtime" revision "package:org.quixos.web-studio:canvas-runtime@1" {
|
||||||
|
constructor createCanvas id "export:org.quixos.web-studio.canvas-runtime:create-canvas" constructs WebStudioCanvas : unit;
|
||||||
|
constructor createPlacement id "export:org.quixos.web-studio.canvas-runtime:create-placement" constructs WebStudioCanvasPlacement : record {
|
||||||
|
canvas_id: interface-ref<WebStudioCanvasInterface>;
|
||||||
|
subject_id: interface-ref<WebStudioPlaceable>;
|
||||||
|
x: double;
|
||||||
|
y: double;
|
||||||
|
width: double;
|
||||||
|
height: double;
|
||||||
|
z: int32;
|
||||||
|
} requires {
|
||||||
|
interface placement id "port:web-studio-placement-constructor:placement" : WebStudioCanvasPlacement;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"backend": "typescript",
|
||||||
|
"bindingOutput": "src/gen/qx.ts",
|
||||||
|
"options": {
|
||||||
|
"messages": {
|
||||||
|
"org.quixos.web-studio.CanvasPosition": {
|
||||||
|
"module": "../messages.js",
|
||||||
|
"export": "positionBinding"
|
||||||
|
},
|
||||||
|
"org.quixos.web-studio.CanvasSize": {
|
||||||
|
"module": "../messages.js",
|
||||||
|
"export": "sizeBinding"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
quixos-lock version 1 {
|
||||||
|
quixos source {
|
||||||
|
repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git";
|
||||||
|
commit "4c88728f144add3457b4273d4b9a04ee53c53be3";
|
||||||
|
}
|
||||||
|
interface WebStudioCanvasPlacement source {
|
||||||
|
repository "https://repos.quixos.org/org-quixos-web-studio/interface-canvas-placement.git";
|
||||||
|
commit "0000000000000000000000000000000000000025";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"generatedBy": "qx-scaffold-v1",
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"contracts": {},
|
||||||
|
"migrations": []
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"generatedBy": "qx-scaffold-v1",
|
||||||
|
"nixifyPluginUrl": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/yarn-plugin-nixify-patched/raw/commit/4528fdd20b30d869262443b3f044549810e75fb8/dist/yarn-plugin-nixify.js"
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
import { objectRef, type QxObjectRef } from "@quixos/camino-package-runtime";
|
||||||
|
import type { Contexts } from "./gen/qx.js";
|
||||||
|
|
||||||
|
export type PlacementInput = {
|
||||||
|
canvas_id: QxObjectRef;
|
||||||
|
subject_id: QxObjectRef;
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
width: number;
|
||||||
|
height: number;
|
||||||
|
z: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
const finiteNumber = (value: unknown, fallback: number) =>
|
||||||
|
typeof value === "number" && Number.isFinite(value) ? value : fallback;
|
||||||
|
|
||||||
|
const objectId = (value: unknown, field: string) => {
|
||||||
|
try {
|
||||||
|
return objectRef(value as QxObjectRef);
|
||||||
|
} catch {
|
||||||
|
throw new Error(`${field} must be a managed object reference`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const normalizePlacementInput = (input: Record<string, unknown>): PlacementInput => ({
|
||||||
|
canvas_id: objectId(input.canvas_id, "canvas_id"),
|
||||||
|
subject_id: objectId(input.subject_id, "subject_id"),
|
||||||
|
x: finiteNumber(input.x, 0),
|
||||||
|
y: finiteNumber(input.y, 0),
|
||||||
|
width: Math.max(220, finiteNumber(input.width, 420)),
|
||||||
|
height: Math.max(150, finiteNumber(input.height, 320)),
|
||||||
|
z: Math.trunc(finiteNumber(input.z, 0)),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const createCanvas = ({ objectId }: Contexts["createCanvas"]) => objectId;
|
||||||
|
|
||||||
|
export const createPlacement = async (context: Contexts["createPlacement"]) => {
|
||||||
|
const input = normalizePlacementInput(context.input);
|
||||||
|
await Promise.all([
|
||||||
|
context.ports.placement["position.set"]({ x: input.x, y: input.y }),
|
||||||
|
context.ports.placement["size.set"]({ width: input.width, height: input.height }),
|
||||||
|
context.ports.placement["z.set"](input.z),
|
||||||
|
]);
|
||||||
|
await context.ports.placement["subject.connect"](context.input.subject_id);
|
||||||
|
await context.ports.placement["canvas.connect"](context.input.canvas_id);
|
||||||
|
return context.objectId;
|
||||||
|
};
|
||||||
+246
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
|||||||
|
// This adapter keeps the implementation file hand-authored.
|
||||||
|
export { createCanvas as handler } from "../canvas.impl.js";
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// This adapter keeps the implementation file hand-authored.
|
||||||
|
export { createPlacement as handler } from "../canvas.impl.js";
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import { encodeQxValue, decodeQxValue, type MessageBinding, type QxValueType } from "@quixos/camino-package-runtime";
|
||||||
|
|
||||||
|
const position: QxValueType = {
|
||||||
|
kind: "record",
|
||||||
|
fields: { x: { kind: "scalar", name: "double" }, y: { kind: "scalar", name: "double" } },
|
||||||
|
};
|
||||||
|
const size: QxValueType = {
|
||||||
|
kind: "record",
|
||||||
|
fields: { width: { kind: "scalar", name: "double" }, height: { kind: "scalar", name: "double" } },
|
||||||
|
};
|
||||||
|
export const positionBinding: MessageBinding<{ x: number; y: number }> = {
|
||||||
|
encode: (value) => encodeQxValue(position, value, {}),
|
||||||
|
decode: (value) => decodeQxValue(position, value, {}),
|
||||||
|
};
|
||||||
|
export const sizeBinding: MessageBinding<{ width: number; height: number }> = {
|
||||||
|
encode: (value) => encodeQxValue(size, value, {}),
|
||||||
|
decode: (value) => decodeQxValue(size, value, {}),
|
||||||
|
};
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
// Generated by qx-scaffold-v1
|
||||||
|
import { serveMigration } from "@quixos/camino-package-runtime";
|
||||||
|
await serveMigration({});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// Generated by qx-scaffold-v1
|
||||||
|
import { servePackageRuntime } from "@quixos/camino-package-runtime";
|
||||||
|
import { createRuntime } from "./gen/qx.js";
|
||||||
|
import { handler as impl0 } from "./impl/createCanvas.js";
|
||||||
|
import { handler as impl1 } from "./impl/createPlacement.js";
|
||||||
|
servePackageRuntime(
|
||||||
|
createRuntime({
|
||||||
|
createCanvas: impl0,
|
||||||
|
createPlacement: impl1,
|
||||||
|
}),
|
||||||
|
);
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
import assert from "node:assert/strict";
|
||||||
|
import test from "node:test";
|
||||||
|
import { normalizePlacementInput } from "../dist/canvas.impl.js";
|
||||||
|
import { protoValueToJs } from "@quixos/camino-package-runtime";
|
||||||
|
|
||||||
|
const reference = (objectId) => protoValueToJs({ kind: { case: "refValue", value: { objectId } } });
|
||||||
|
const canvas = reference("obj:canvas"),
|
||||||
|
subject = reference("obj:subject");
|
||||||
|
|
||||||
|
test("placement input is bounded and normalized", () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
normalizePlacementInput({
|
||||||
|
canvas_id: canvas,
|
||||||
|
subject_id: subject,
|
||||||
|
x: 12.5,
|
||||||
|
y: -30,
|
||||||
|
width: 12,
|
||||||
|
height: 80,
|
||||||
|
z: 3.8,
|
||||||
|
}),
|
||||||
|
{
|
||||||
|
canvas_id: canvas,
|
||||||
|
subject_id: subject,
|
||||||
|
x: 12.5,
|
||||||
|
y: -30,
|
||||||
|
width: 220,
|
||||||
|
height: 150,
|
||||||
|
z: 3,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("placement input requires Camino object references", () => {
|
||||||
|
assert.throws(
|
||||||
|
() => normalizePlacementInput({ canvas_id: "canvas", subject_id: "obj:subject" }),
|
||||||
|
/canvas_id must be a managed object reference/,
|
||||||
|
);
|
||||||
|
assert.throws(
|
||||||
|
() => normalizePlacementInput({ canvas_id: "obj:canvas", subject_id: subject }),
|
||||||
|
/managed object reference/,
|
||||||
|
);
|
||||||
|
});
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"declaration": true,
|
||||||
|
"sourceMap": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ES2022",
|
||||||
|
"module": "NodeNext",
|
||||||
|
"moduleResolution": "NodeNext",
|
||||||
|
"strict": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"preserveSymlinks": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"types": ["node"],
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": "src"
|
||||||
|
},
|
||||||
|
"include": ["src/**/*.ts"]
|
||||||
|
}
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
# This file is generated by running "yarn install" inside your project.
|
||||||
|
# Manual changes might be lost - proceed with caution!
|
||||||
|
|
||||||
|
{ lib, stdenv, nodejs, git, cacert, fetchurl, writeShellScript, writeShellScriptBin }:
|
||||||
|
{ src, overrideAttrs ? null, ... } @ args:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
yarnBin = fetchurl {
|
||||||
|
url = "https://repo.yarnpkg.com/4.18.0/packages/yarnpkg-cli/bin/yarn.js";
|
||||||
|
hash = "sha512-/Lhxb+fNDuzhQf/Bi5IZOp35IEwbqDGJwoiDUiP8C75kr0c7qw1emSen2utcryuwfrJ4fMkzjKBA6hJfKh8vfg==";
|
||||||
|
};
|
||||||
|
|
||||||
|
cacheFolder = ".yarn/cache";
|
||||||
|
lockfile = ./yarn.lock;
|
||||||
|
|
||||||
|
# Call overrideAttrs on a derivation if a function is provided.
|
||||||
|
optionalOverride = fn: drv:
|
||||||
|
if fn == null then drv else drv.overrideAttrs fn;
|
||||||
|
|
||||||
|
# Simple stub that provides the global yarn command.
|
||||||
|
yarn = writeShellScriptBin "yarn" ''
|
||||||
|
exec '${nodejs}/bin/node' '${yarnBin}' "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Common attributes between Yarn derivations.
|
||||||
|
drvCommon = {
|
||||||
|
# Make sure the build uses the right Node.js version everywhere.
|
||||||
|
buildInputs = [ nodejs yarn ];
|
||||||
|
# All dependencies should already be cached.
|
||||||
|
yarn_enable_network = "0";
|
||||||
|
# Tell node-gyp to use the provided Node.js headers for native code builds.
|
||||||
|
npm_config_nodedir = nodejs;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Comman variables that we set in a Nix build, but not in a Nix shell.
|
||||||
|
buildVars = ''
|
||||||
|
# Make Yarn produce friendlier logging for automated builds.
|
||||||
|
export CI=1
|
||||||
|
# Tell node-pre-gyp to never fetch binaries / always build from source.
|
||||||
|
export npm_config_build_from_source=true
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Create derivations for fetching dependencies.
|
||||||
|
cacheDrvs = let
|
||||||
|
in lib.mapAttrs (locator: { filename, hash }: stdenv.mkDerivation {
|
||||||
|
name = lib.strings.sanitizeDerivationName locator;
|
||||||
|
buildInputs = [ yarn git cacert ];
|
||||||
|
buildCommand = ''
|
||||||
|
cd '${src}'
|
||||||
|
${buildVars}
|
||||||
|
HOME="$TMP" yarn_enable_global_cache=false yarn_cache_folder="$TMP" \
|
||||||
|
yarn nixify fetch ${lib.escapeShellArg locator}
|
||||||
|
# Because we change the cache dir, Yarn may generate a different name.
|
||||||
|
mv "$TMP/$(sed 's/-[^-]*\.[^-]*$//' <<< "$outputFilename")"-* $out
|
||||||
|
'';
|
||||||
|
outputFilename = filename;
|
||||||
|
outputHash = hash;
|
||||||
|
}) cacheEntries;
|
||||||
|
|
||||||
|
# Create a shell snippet to copy dependencies from a list of derivations.
|
||||||
|
mkCacheBuilderForDrvs = drvs:
|
||||||
|
writeShellScript "collect-yarn-cache" (lib.concatMapStrings (drv: ''
|
||||||
|
cp --reflink=auto ${drv} '${drv.outputFilename}'
|
||||||
|
'') drvs);
|
||||||
|
|
||||||
|
# Main project derivation.
|
||||||
|
project = stdenv.mkDerivation (drvCommon // {
|
||||||
|
inherit src;
|
||||||
|
name = "@quixos/web-studio-canvas-runtime";
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
${buildVars}
|
||||||
|
|
||||||
|
# Copy over the Yarn cache.
|
||||||
|
rm -fr '${cacheFolder}'
|
||||||
|
mkdir -p '${cacheFolder}'
|
||||||
|
pushd '${cacheFolder}' > /dev/null
|
||||||
|
source ${mkCacheBuilderForDrvs (lib.attrValues cacheDrvs)}
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
# Yarn may need a writable home directory.
|
||||||
|
export yarn_global_folder="$TMP"
|
||||||
|
|
||||||
|
# Ensure global cache is disabled. Cache must be part of our output.
|
||||||
|
touch .yarnrc.yml
|
||||||
|
sed -i -e '/^enableGlobalCache/d' .yarnrc.yml
|
||||||
|
echo 'enableGlobalCache: false' >> .yarnrc.yml
|
||||||
|
|
||||||
|
# Some node-gyp calls may call out to npm, which could fail due to an
|
||||||
|
# read-only home dir.
|
||||||
|
export HOME="$TMP"
|
||||||
|
|
||||||
|
# running preConfigure after the cache is populated allows for
|
||||||
|
# preConfigure to contain substituteInPlace for dependencies as well as the
|
||||||
|
# main project. This is necessary for native bindings that maybe have
|
||||||
|
# hardcoded values.
|
||||||
|
runHook preConfigure
|
||||||
|
|
||||||
|
# Run normal Yarn install to complete dependency installation.
|
||||||
|
yarn install --immutable --immutable-cache
|
||||||
|
|
||||||
|
runHook postConfigure
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
# Move the package contents to the output directory.
|
||||||
|
if grep -q '"workspaces"' package.json; then
|
||||||
|
# We can't use `yarn pack` in a workspace setup, because it only
|
||||||
|
# packages the outer workspace.
|
||||||
|
mkdir -p "$out/libexec"
|
||||||
|
mv $PWD "$out/libexec/$name"
|
||||||
|
else
|
||||||
|
# - If the package.json has a `files` field, only files matching those patterns are copied
|
||||||
|
# - Otherwise all files are copied.
|
||||||
|
yarn pack --out package.tgz
|
||||||
|
mkdir -p "$out/libexec/$name"
|
||||||
|
tar xzf package.tgz --directory "$out/libexec/$name" --strip-components=1
|
||||||
|
|
||||||
|
cp --reflink=auto .yarnrc* "$out/libexec/$name"
|
||||||
|
cp --reflink=auto ${lockfile} "$out/libexec/$name/yarn.lock"
|
||||||
|
cp --reflink=auto --recursive .yarn "$out/libexec/$name"
|
||||||
|
|
||||||
|
# Copy the Yarn linker output into the package.
|
||||||
|
cp --reflink=auto --recursive node_modules "$out/libexec/$name"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$out/libexec/$name"
|
||||||
|
|
||||||
|
# Invoke a plugin internal command to setup binaries.
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
yarn nixify install-bin $out/bin
|
||||||
|
|
||||||
|
# A package with node_modules doesn't need the cache
|
||||||
|
yarn cache clean
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit nodejs;
|
||||||
|
yarn-freestanding = yarn;
|
||||||
|
yarn = writeShellScriptBin "yarn" ''
|
||||||
|
exec '${yarn}/bin/yarn' --cwd '${overriddenProject}/libexec/${overriddenProject.name}' "$@"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
overriddenProject = optionalOverride overrideAttrs project;
|
||||||
|
|
||||||
|
cacheEntries = {
|
||||||
|
"@bufbuild/protobuf@npm:2.14.1" = { filename = "@bufbuild-protobuf-npm-2.14.1-78e9ea56a2-3f913aca03.zip"; hash = "sha512-P5E6ygPfhBnEsh2ADqVNf2yDalND5l1vaGJ57DVmxJB3KZOO8vlKXifZLo0/StzW4CcRi6Kbp2TSHhxjfN3HAg=="; };
|
||||||
|
"@connectrpc/connect-node@npm:2.1.2" = { filename = "@connectrpc-connect-node-npm-2.1.2-021434d5d5-ba8b0c9384.zip"; hash = "sha512-uosMk4TDgps3eqeoJtwM1Qpgk1J9LscBRgSRKDYzbqlgSitazqQrEEd/i+RWnknd7WbKD8d/X1sCcDXgKeE+qQ=="; };
|
||||||
|
"@connectrpc/connect@npm:2.1.2" = { filename = "@connectrpc-connect-npm-2.1.2-ab34825de3-4e15000890.zip"; hash = "sha512-ThUACJAjt1Lv1E+pQKWuHh+gDhvrxLoM7ScruTWSDYw7hbd0UOZErUQruMqaJ1sMFxNviWuo7/A2F4Ex2wHWFQ=="; };
|
||||||
|
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=446fd4e36e9700cf27ce20b472a8d512133e9370" = { filename = "@quixos-camino-package-runtime-https-84d8fd5109-6d173f9220.zip"; hash = "sha512-bRc/kiD/ODsJqBNX4+RTqdsczILibHLhB+X8MckDCoK+j32c4Hszh87obb1Rwjb5o35aI0fzArQqCwK270zzlw=="; };
|
||||||
|
"@types/node@npm:24.13.3" = { filename = "@types-node-npm-24.13.3-b512a0bbeb-a5bc08f49b.zip"; hash = "sha512-pbwI9JuVgdzcqQ4CzXcZejx5mECAdmSULlzVFhpVPU0q6AZPfjKUQQ10jX0Ji1wYSL5/pQwG8pxBk6sWvk5Z6w=="; };
|
||||||
|
"@typescript/typescript-linux-arm64@npm:7.0.2" = { filename = "@typescript-typescript-linux-arm64-npm-7.0.2-9cacfc53a0-10c0.zip"; hash = "sha512-s4c7nGT/lQIw6x0IfrL0b3ECy/D0g7UoDLdiIWJoM6EGXk5N/dmXdxUdA8Cr3hV/3nO2BYKTQ6Ai8/zGhiSQ3A=="; };
|
||||||
|
"@typescript/typescript-linux-x64@npm:7.0.2" = { filename = "@typescript-typescript-linux-x64-npm-7.0.2-8dd7ff8d24-10c0.zip"; hash = "sha512-k9EUK5CZ3OOPnyslp8SAAonHJpnpPmlaulppI/NmFyCzNs3UN/TLPUkyQia3KIxgbyTzKoXI5L5fl8Uj9bJ7Cg=="; };
|
||||||
|
"typescript@npm:7.0.2" = { filename = "typescript-npm-7.0.2-0bde2bcec5-3dcee51ec8.zip"; hash = "sha512-Pc7lHsjDMkkjJbzb999ItmZodR8SfmIq59QbbHFusZGEQkpF4U93UPUPNAIyOItp5ih4WRVfBqXOLfdvEssxzw=="; };
|
||||||
|
"typescript@patch:typescript@npm%3A7.0.2#optional!builtin<compat/typescript>::version=7.0.2&hash=3bafbf" = { filename = "typescript-patch-4859cbaf66-6b3cdc369c.zip"; hash = "sha512-azzcNpzYKdRuAHNOpkIz7oRBnCglrY/kCJFa3ed6vO1LeiQB9+7VF9VKek9dHBhpdTy5kBjfHCFZx2HZ8zSDpg=="; };
|
||||||
|
"undici-types@npm:7.18.2" = { filename = "undici-types-npm-7.18.2-3e6d69d829-85a7918911.zip"; hash = "sha512-haeRiRE6I4lZ16ZHNo5PfFVZw6QE69uPxEiBRc6UJvzYIlKoRKMCeY38Djfm+xeP9IHtA7xMr2NMV1fZ70NSHQ=="; };
|
||||||
|
};
|
||||||
|
|
||||||
|
in overriddenProject
|
||||||
@@ -0,0 +1,353 @@
|
|||||||
|
# This file is generated by running "yarn install" inside your project.
|
||||||
|
# Manual changes might be lost - proceed with caution!
|
||||||
|
|
||||||
|
__metadata:
|
||||||
|
version: 10
|
||||||
|
cacheKey: 10c0
|
||||||
|
|
||||||
|
"@bufbuild/protobuf@npm:^2.12.1":
|
||||||
|
version: 2.14.1
|
||||||
|
resolution: "@bufbuild/protobuf@npm:2.14.1"
|
||||||
|
checksum: 10c0/3f913aca03df8419c4b21d800ea54d7f6c836a5343e65d6f686279ec3566c4907729938ef2f94a5e27d92e8d3f4adcd6e027118ba29ba764d21e1c637cddc702
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@connectrpc/connect-node@npm:^2.1.2":
|
||||||
|
version: 2.1.2
|
||||||
|
resolution: "@connectrpc/connect-node@npm:2.1.2"
|
||||||
|
peerDependencies:
|
||||||
|
"@bufbuild/protobuf": ^2.7.0
|
||||||
|
"@connectrpc/connect": 2.1.2
|
||||||
|
checksum: 10c0/ba8b0c9384c3829b377aa7a826dc0cd50a6093527d2ec7014604912836336ea9604a2b5acea42b10477f8be4569e49dded66ca0fc77f5f5b027035e029e13ea9
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@connectrpc/connect@npm:^2.1.2":
|
||||||
|
version: 2.1.2
|
||||||
|
resolution: "@connectrpc/connect@npm:2.1.2"
|
||||||
|
peerDependencies:
|
||||||
|
"@bufbuild/protobuf": ^2.7.0
|
||||||
|
checksum: 10c0/4e1500089023b752efd44fa940a5ae1e1fa00e1bebc4ba0ced272bb935920d8c3b85b77450e644ad442bb8ca9a275b0c17136f896ba8eff036178131db01d615
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=446fd4e36e9700cf27ce20b472a8d512133e9370":
|
||||||
|
version: 0.1.0
|
||||||
|
resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=446fd4e36e9700cf27ce20b472a8d512133e9370"
|
||||||
|
dependencies:
|
||||||
|
"@bufbuild/protobuf": "npm:^2.12.1"
|
||||||
|
"@connectrpc/connect": "npm:^2.1.2"
|
||||||
|
"@connectrpc/connect-node": "npm:^2.1.2"
|
||||||
|
checksum: 10c0/6d173f9220ff383b09a81357e3e453a9db1ccc82e26c72e107e5fc31c9030a82be8f7d9ce07b3387cee86dbd51c236f9a37e5a2347f302b42a0b02b6ef4cf397
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@quixos/web-studio-canvas-runtime@workspace:.":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "@quixos/web-studio-canvas-runtime@workspace:."
|
||||||
|
dependencies:
|
||||||
|
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=446fd4e36e9700cf27ce20b472a8d512133e9370"
|
||||||
|
"@types/node": "npm:^24"
|
||||||
|
typescript: "npm:^7.0.2"
|
||||||
|
bin:
|
||||||
|
server: dist/server.js
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
|
"@types/node@npm:^24":
|
||||||
|
version: 24.13.3
|
||||||
|
resolution: "@types/node@npm:24.13.3"
|
||||||
|
dependencies:
|
||||||
|
undici-types: "npm:~7.18.0"
|
||||||
|
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-aix-ppc64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-aix-ppc64@npm:7.0.2"
|
||||||
|
conditions: os=aix & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-darwin-arm64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-darwin-arm64@npm:7.0.2"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-darwin-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-darwin-x64@npm:7.0.2"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-freebsd-arm64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-freebsd-arm64@npm:7.0.2"
|
||||||
|
conditions: os=freebsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-freebsd-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-freebsd-x64@npm:7.0.2"
|
||||||
|
conditions: os=freebsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-arm64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-arm64@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-arm@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-arm@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-loong64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-loong64@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=loong64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-mips64el@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-mips64el@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=mips64el
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-ppc64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-ppc64@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-riscv64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-riscv64@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=riscv64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-s390x@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-s390x@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=s390x
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-linux-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-linux-x64@npm:7.0.2"
|
||||||
|
conditions: os=linux & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-netbsd-arm64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-netbsd-arm64@npm:7.0.2"
|
||||||
|
conditions: os=netbsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-netbsd-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-netbsd-x64@npm:7.0.2"
|
||||||
|
conditions: os=netbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-openbsd-arm64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-openbsd-arm64@npm:7.0.2"
|
||||||
|
conditions: os=openbsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-openbsd-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-openbsd-x64@npm:7.0.2"
|
||||||
|
conditions: os=openbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-sunos-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-sunos-x64@npm:7.0.2"
|
||||||
|
conditions: os=sunos & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-win32-arm64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-win32-arm64@npm:7.0.2"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/typescript-win32-x64@npm:7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "@typescript/typescript-win32-x64@npm:7.0.2"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"typescript@npm:^7.0.2":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "typescript@npm:7.0.2"
|
||||||
|
dependencies:
|
||||||
|
"@typescript/typescript-aix-ppc64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-darwin-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-darwin-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-freebsd-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-freebsd-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-arm": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-loong64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-mips64el": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-ppc64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-riscv64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-s390x": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-netbsd-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-netbsd-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-openbsd-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-openbsd-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-sunos-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-win32-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-win32-x64": "npm:7.0.2"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@typescript/typescript-aix-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-loong64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-mips64el":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-riscv64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-s390x":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-netbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-netbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-openbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-openbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-sunos-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
tsc: bin/tsc
|
||||||
|
checksum: 10c0/3dcee51ec8c332492325bcdbf7df48b66668751f127e622ae7d41b6c716eb19184424a45e14f7750f50f340232388b69e6287859155f06a5ce2df76f12cb31cf
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"typescript@patch:typescript@npm%3A^7.0.2#optional!builtin<compat/typescript>":
|
||||||
|
version: 7.0.2
|
||||||
|
resolution: "typescript@patch:typescript@npm%3A7.0.2#optional!builtin<compat/typescript>::version=7.0.2&hash=3bafbf"
|
||||||
|
dependencies:
|
||||||
|
"@typescript/typescript-aix-ppc64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-darwin-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-darwin-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-freebsd-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-freebsd-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-arm": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-loong64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-mips64el": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-ppc64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-riscv64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-s390x": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-linux-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-netbsd-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-netbsd-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-openbsd-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-openbsd-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-sunos-x64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-win32-arm64": "npm:7.0.2"
|
||||||
|
"@typescript/typescript-win32-x64": "npm:7.0.2"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@typescript/typescript-aix-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-loong64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-mips64el":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-riscv64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-s390x":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-netbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-netbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-openbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-openbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-sunos-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/typescript-win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
tsc: bin/tsc
|
||||||
|
checksum: 10c0/6b3cdc369cd829d46e00734ea64233ee84419c2825ad8fe408915adde77abced4b7a2401f7eed517d54a7a4f5d1c1869753cb99018df1c2159c761d9f33483a6
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"undici-types@npm:~7.18.0":
|
||||||
|
version: 7.18.2
|
||||||
|
resolution: "undici-types@npm:7.18.2"
|
||||||
|
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
Reference in New Issue
Block a user