diff --git a/.idx/dev.nix b/.idx/dev.nix new file mode 100644 index 0000000000..20db14f6a0 --- /dev/null +++ b/.idx/dev.nix @@ -0,0 +1,50 @@ +# To learn more about how to use Nix to configure your environment +# see: https://developers.google.com/idx/guides/customize-idx-env +{ pkgs, ... }: { + # Which nixpkgs channel to use. + channel = "stable-24.05"; # or "unstable" + + # Use https://search.nixos.org/packages to find packages + packages = [ + pkgs.nodejs_22 + pkgs.nodePackages.pnpm + ]; + + # Sets environment variables in the workspace + env = {}; + idx = { + # Search for the extensions you want on https://open-vsx.org/ and use "publisher.id" + extensions = [ + # "vscodevim.vim" + ]; + + # Enable previews + previews = { + enable = true; + previews = { + web = { + command = ["./dash_site" "serve"]; + manager = "web"; + env = { + # Environment variables to set for your server + PORT = "$PORT"; + }; + }; + }; + }; + + # Workspace lifecycle hooks + workspace = { + # Runs when a workspace is first created + onCreate = { + get-submodule = "git submodule update --init --recursive"; + pnpm-install = "pnpm install"; + }; + # Runs when the workspace is (re)started + onStart = { + # Example: start a background task to watch and re-build backend code + # watch-backend = "npm run watch-backend"; + }; + }; + }; +} diff --git a/README.md b/README.md index 836120532a..8eadeeca2a 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,21 @@ [![Build Status SVG][]][Repo on GitHub Actions] [![OpenSSF Scorecard SVG][]][Scorecard Results] + + + + + Open in IDX + + + The documentation site for the [Dart programming language](https://dart.dev), built with [Eleventy][] and hosted on [Firebase][]. diff --git a/tool/dart_site/lib/src/commands/serve.dart b/tool/dart_site/lib/src/commands/serve.dart index 8d73041728..80c68b7e35 100644 --- a/tool/dart_site/lib/src/commands/serve.dart +++ b/tool/dart_site/lib/src/commands/serve.dart @@ -13,7 +13,12 @@ final class ServeSiteCommand extends Command { Future run() async { final process = await Process.start( 'npx', - const ['eleventy', '--serve', '--incremental'], + [ + 'eleventy', + '--serve', + '--incremental', + '--port=${Platform.environment['PORT'] ?? 4000}' + ], environment: const { 'PRODUCTION': 'false', },