Add `web` OS and architectures
diff --git a/pkgs/code_assets/doc/schema/shared/shared_definitions.schema.json b/pkgs/code_assets/doc/schema/shared/shared_definitions.schema.json
index ec30f5e..7581b80 100644
--- a/pkgs/code_assets/doc/schema/shared/shared_definitions.schema.json
+++ b/pkgs/code_assets/doc/schema/shared/shared_definitions.schema.json
@@ -33,6 +33,12 @@
           "const": "x64"
         },
         {
+          "const": "js"
+        },
+        {
+          "const": "wasm"
+        },
+        {
           "type": "string"
         }
       ]
@@ -371,6 +377,9 @@
           "const": "windows"
         },
         {
+          "const": "web"
+        },
+        {
           "type": "string"
         }
       ]
diff --git a/pkgs/native_assets_cli/lib/src/code_assets/architecture.dart b/pkgs/native_assets_cli/lib/src/code_assets/architecture.dart
index 1236c29..ccbfb5b 100644
--- a/pkgs/native_assets_cli/lib/src/code_assets/architecture.dart
+++ b/pkgs/native_assets_cli/lib/src/code_assets/architecture.dart
@@ -35,6 +35,14 @@
   /// The [x86-64](https://en.wikipedia.org/wiki/X86-64) architecture.
   static const Architecture x64 = Architecture._('x64');
 
+  /// The artificial [JavaScript](https://en.wikipedia.org/wiki/JavaScript)
+  /// architecture.
+  static const Architecture js = Architecture._('js');
+
+  /// The artificial [WebAssembly](https://en.wikipedia.org/wiki/WebAssembly)
+  /// architecture.
+  static const Architecture wasm = Architecture._('wasm');
+
   /// Known values for [Architecture].
   static const List<Architecture> values = [
     arm,
diff --git a/pkgs/native_assets_cli/lib/src/code_assets/os.dart b/pkgs/native_assets_cli/lib/src/code_assets/os.dart
index b834254..26bc490 100644
--- a/pkgs/native_assets_cli/lib/src/code_assets/os.dart
+++ b/pkgs/native_assets_cli/lib/src/code_assets/os.dart
@@ -36,8 +36,19 @@
   /// operating system.
   static const OS windows = OS._('windows');
 
+  /// The [web](https://en.wikipedia.org/wiki/Web) "operating system".
+  static const OS web = OS._('web');
+
   /// Known values for [OS].
-  static const List<OS> values = [android, fuchsia, iOS, linux, macOS, windows];
+  static const List<OS> values = [
+    android,
+    fuchsia,
+    iOS,
+    linux,
+    macOS,
+    windows,
+    web,
+  ];
 
   /// Typical cross compilation between OSes.
   static const osCrossCompilationDefault = {
diff --git a/pkgs/native_assets_cli/lib/src/code_assets/syntax.g.dart b/pkgs/native_assets_cli/lib/src/code_assets/syntax.g.dart
index bcdcd32..dc4c0d7 100644
--- a/pkgs/native_assets_cli/lib/src/code_assets/syntax.g.dart
+++ b/pkgs/native_assets_cli/lib/src/code_assets/syntax.g.dart
@@ -43,18 +43,24 @@
 
   static const ia32 = Architecture._('ia32');
 
+  static const js = Architecture._('js');
+
   static const riscv32 = Architecture._('riscv32');
 
   static const riscv64 = Architecture._('riscv64');
 
+  static const wasm = Architecture._('wasm');
+
   static const x64 = Architecture._('x64');
 
   static const List<Architecture> values = [
     arm,
     arm64,
     ia32,
+    js,
     riscv32,
     riscv64,
+    wasm,
     x64,
   ];
 
@@ -699,9 +705,11 @@
 
   static const macOS = OS._('macos');
 
+  static const web = OS._('web');
+
   static const windows = OS._('windows');
 
-  static const List<OS> values = [android, iOS, linux, macOS, windows];
+  static const List<OS> values = [android, iOS, linux, macOS, web, windows];
 
   static final Map<String, OS> _byName = {
     for (final value in values) value.name: value,