From f2aee857ae0818f8cca1731c46fdfff04306407b Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Wed, 17 Aug 2022 21:15:15 -0700 Subject: [PATCH] fixed resolver to `mc` in `components` --- flake.nix | 8 +++++--- nix/squiggle-components.nix | 27 +++++++++++++++++++++++++-- packages/components/tsconfig.json | 3 ++- packages/components/webpack.config.js | 1 + 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 943bd7c3..bbc53063 100644 --- a/flake.nix +++ b/flake.nix @@ -76,10 +76,11 @@ }; # building packages = flake-utils.lib.flattenTree { - default = components.package-build; + default = components.build; mc-wasm = mc.pkg; lang-bundle = lang.bundle; - components = components.package-build; + components = components.build; + components-bundle = components.bundle; }; # developing @@ -114,8 +115,9 @@ squiggle-lang-bundle = lang.bundle; }; components.outputs = { - squiggle-components = components.package-build; squiggle-components-lint = components.lint; + squiggle-components = components.build; + squiggle-components-bundle = components.bundle; }; docs-site.outputs = { docusaurus-lint = website.lint; diff --git a/nix/squiggle-components.nix b/nix/squiggle-components.nix index 15f1e877..953bb7c2 100644 --- a/nix/squiggle-components.nix +++ b/nix/squiggle-components.nix @@ -28,8 +28,8 @@ rec { buildPhase = "yarn lint"; installPhase = "mkdir -p $out"; }; - package-build = pkgs.stdenv.mkDerivation { - name = "squiggle-components-package-build"; + build = pkgs.stdenv.mkDerivation { + name = "squiggle-components-build"; src = yarn-source + "/libexec/@quri/squiggle-components"; buildInputs = common.buildInputs; buildPhase = '' @@ -47,6 +47,29 @@ rec { mv deps/@quri/squiggle-components/node_modules deps/@quri/squiggle-components/NODE_MODULES mv node_modules deps/@quri/squiggle-components + # patching .gitignore so flake keeps build artefacts + sed -i /dist/d deps/@quri/squiggle-components/.gitignore + cp -r deps/@quri/squiggle-components/. $out + ''; + }; + bundle = pkgs.stdenv.mkDerivation { + name = "squiggle-components-bundle"; + src = yarn-source + "/libexec/@quri/squiggle-components"; + buildInputs = common.buildInputs; + buildPhase = '' + cp -r node_modules/@quri/squiggle-lang deps/@quri + pushd deps/@quri/squiggle-components + + yarn --offline bundle + popd + ''; + installPhase = '' + mkdir -p $out + + # annoying hack because permissions on transitive dependencies later on + mv deps/@quri/squiggle-components/node_modules deps/@quri/squiggle-components/NODE_MODULES + mv node_modules deps/@quri/squiggle-components + # patching .gitignore so flake keeps build artefacts sed -i /dist/d deps/@quri/squiggle-components/.gitignore cp -r deps/@quri/squiggle-components/. $out diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index 38d28704..14deb5fc 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { "paths": { - "@quri/squiggle-lang": ["../squiggle-lang/src/js"] + "@quri/squiggle-lang": ["../squiggle-lang/src/js"], + "@quri/squiggle-mc": ["../mc/pkg"] }, "module": "commonjs", "jsx": "react", diff --git a/packages/components/webpack.config.js b/packages/components/webpack.config.js index 06980076..6d7b735c 100644 --- a/packages/components/webpack.config.js +++ b/packages/components/webpack.config.js @@ -19,6 +19,7 @@ module.exports = { extensions: [".js", ".tsx", ".ts"], alias: { "@quri/squiggle-lang": path.resolve(__dirname, "../squiggle-lang/src/js"), + "@quri/squiggle-mc": path.resolve(__dirname, "../mc/pkg"), }, }, output: {