summaryrefslogtreecommitdiffstats
path: root/comm/mail/components/storybook/mach_commands.py
blob: 568e9c08b247c7620245b5f2f2a40c9883fd30cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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"])