summaryrefslogtreecommitdiffstats
path: root/comm/mail/components/storybook/mach_commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mail/components/storybook/mach_commands.py')
-rw-r--r--comm/mail/components/storybook/mach_commands.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/comm/mail/components/storybook/mach_commands.py b/comm/mail/components/storybook/mach_commands.py
new file mode 100644
index 0000000000..568e9c08b2
--- /dev/null
+++ b/comm/mail/components/storybook/mach_commands.py
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+from mach.decorators import Command, SubCommand
+
+
+def run_mach(command_context, cmd, **kwargs):
+ return command_context._mach_context.commands.dispatch(
+ cmd, command_context._mach_context, **kwargs
+ )
+
+
+def run_npm(command_context, args):
+ return run_mach(command_context, "npm", args=[*args, "--prefix=mail/components/storybook"])
+
+
+@Command(
+ "tb-storybook",
+ category="misc",
+ description="Start the Storybook server",
+)
+def storybook_run(command_context):
+ return run_npm(command_context, args=["run", "storybook"])
+
+
+@SubCommand(
+ "tb-storybook",
+ "install",
+ description="Install Storybook node dependencies.",
+)
+def storybook_install(command_context):
+ return run_npm(command_context, args=["ci"])
+
+
+@SubCommand(
+ "tb-storybook",
+ "build",
+ description="Build the Storybook for export.",
+)
+def storybook_build(command_context):
+ return run_npm(command_context, args=["run", "build-storybook"])