2021-08-03 04:40:40 +03:00
|
|
|
/**
|
|
|
|
* This configuration file defines custom commands for the "rush" command-line.
|
|
|
|
* More documentation is available on the Rush website: https://rushjs.io
|
|
|
|
*/
|
|
|
|
{
|
|
|
|
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/command-line.schema.json",
|
|
|
|
|
2024-02-12 19:57:11 +03:00
|
|
|
|
|
|
|
"phases": [
|
2021-11-17 16:45:45 +03:00
|
|
|
{
|
2024-02-12 19:57:11 +03:00
|
|
|
"name": "_phase:build",
|
|
|
|
"dependencies": {
|
|
|
|
"upstream": ["_phase:build"]
|
|
|
|
},
|
2022-06-07 07:41:22 +03:00
|
|
|
"ignoreMissingScript": true,
|
2024-02-12 19:57:11 +03:00
|
|
|
"allowWarningsOnSuccess": false
|
2021-11-17 16:45:45 +03:00
|
|
|
},
|
2024-02-23 08:37:22 +03:00
|
|
|
{
|
|
|
|
"name": "_phase:validate",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build"],
|
2024-03-13 08:43:12 +03:00
|
|
|
"upstream": ["_phase:validate", "_phase:build"]
|
2024-02-23 08:37:22 +03:00
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"allowWarningsOnSuccess": false
|
|
|
|
},
|
2022-02-10 12:04:18 +03:00
|
|
|
{
|
2024-02-12 19:57:11 +03:00
|
|
|
"name": "_phase:test",
|
|
|
|
"dependencies": {
|
2024-02-23 08:37:22 +03:00
|
|
|
"self": ["_phase:build"],
|
|
|
|
"upstream": ["_phase:validate"]
|
2024-02-12 19:57:11 +03:00
|
|
|
},
|
2022-06-07 07:41:22 +03:00
|
|
|
"ignoreMissingScript": true,
|
2024-02-12 19:57:11 +03:00
|
|
|
"allowWarningsOnSuccess": true
|
2022-02-10 12:04:18 +03:00
|
|
|
},
|
2022-04-29 08:27:17 +03:00
|
|
|
{
|
2024-02-12 19:57:11 +03:00
|
|
|
"name": "_phase:lint",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build"]
|
|
|
|
},
|
2022-06-07 07:41:22 +03:00
|
|
|
"ignoreMissingScript": true,
|
2024-02-12 19:57:11 +03:00
|
|
|
"allowWarningsOnSuccess": false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "_phase:bundle",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build"]
|
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"allowWarningsOnSuccess": false
|
|
|
|
},
|
2024-07-27 18:04:21 +03:00
|
|
|
{
|
|
|
|
"name": "_phase:format",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build"]
|
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"allowWarningsOnSuccess": false
|
|
|
|
},
|
2024-02-12 19:57:11 +03:00
|
|
|
{
|
|
|
|
"name": "_phase:svelte-check",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build"]
|
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"allowWarningsOnSuccess": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "_phase:package",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build"],
|
|
|
|
"upstream": ["_phase:package"]
|
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"allowWarningsOnSuccess": false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "_phase:docker-build",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build", "_phase:package", "_phase:bundle"],
|
|
|
|
"upstream": ["_phase:build", "_phase:bundle", "_phase:package"]
|
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"allowWarningsOnSuccess": true
|
2022-04-29 08:27:17 +03:00
|
|
|
},
|
2024-02-12 19:57:11 +03:00
|
|
|
{
|
|
|
|
"name": "_phase:docker-staging",
|
|
|
|
"dependencies": {
|
|
|
|
"self": ["_phase:build", "_phase:package", "_phase:bundle"]
|
|
|
|
},
|
|
|
|
"ignoreMissingScript": true,
|
2024-07-27 18:04:21 +03:00
|
|
|
"allowWarningsOnSuccess": true
|
2024-02-12 19:57:11 +03:00
|
|
|
}
|
|
|
|
],
|
2024-07-27 18:04:21 +03:00
|
|
|
"commands": [
|
|
|
|
{
|
|
|
|
"commandKind": "bulk",
|
|
|
|
"name": "format",
|
|
|
|
"summary": "Format",
|
|
|
|
"description": "Perform a formatting",
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": false,
|
|
|
|
"ignoreMissingScript": true,
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
|
|
|
"disableBuildCache": true
|
|
|
|
},
|
2021-11-17 16:29:26 +03:00
|
|
|
{
|
2024-02-23 20:00:38 +03:00
|
|
|
"commandKind": "phased",
|
2021-11-17 16:29:26 +03:00
|
|
|
"name": "build:watch",
|
|
|
|
"summary": "Build and watch",
|
2024-02-23 20:00:38 +03:00
|
|
|
"phases": ["_phase:build", "_phase:validate"],
|
2021-11-17 16:29:26 +03:00
|
|
|
"description": "Perform build with tsc and watch for changes with rush",
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": true,
|
2022-06-07 07:41:22 +03:00
|
|
|
"safeForSimultaneousRushProcesses": true,
|
2024-02-23 20:00:38 +03:00
|
|
|
"watchOptions": {
|
|
|
|
"alwaysWatch": true,
|
|
|
|
"watchPhases": ["_phase:build", "_phase:validate"]
|
|
|
|
}
|
2021-11-18 15:48:05 +03:00
|
|
|
},
|
2024-02-12 19:57:11 +03:00
|
|
|
{
|
|
|
|
"summary": "svelte-check",
|
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "svelte-check",
|
|
|
|
"phases": ["_phase:build", "_phase:svelte-check"],
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": true
|
2021-11-18 15:48:05 +03:00
|
|
|
},
|
|
|
|
{
|
2024-02-12 19:57:11 +03:00
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "build",
|
2024-02-23 08:37:22 +03:00
|
|
|
"summary": "build",
|
2024-02-12 19:57:11 +03:00
|
|
|
"phases": ["_phase:build"],
|
|
|
|
"enableParallelism": true,
|
2024-07-27 18:04:21 +03:00
|
|
|
"incremental": true,
|
|
|
|
"watchOptions": {
|
|
|
|
"alwaysWatch": false,
|
|
|
|
"watchPhases": ["_phase:build"]
|
|
|
|
}
|
2024-02-12 19:57:11 +03:00
|
|
|
},
|
2024-02-23 08:37:22 +03:00
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "validate",
|
|
|
|
"phases": ["_phase:validate"],
|
|
|
|
"summary": "validate",
|
|
|
|
"enableParallelism": true,
|
2024-02-23 20:00:38 +03:00
|
|
|
"incremental": true
|
2024-02-23 08:37:22 +03:00
|
|
|
},
|
2024-02-12 19:57:11 +03:00
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "rebuild",
|
|
|
|
"summary": "ReBuild and test all projects.",
|
|
|
|
"phases": ["_phase:build"],
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": false
|
|
|
|
},
|
2024-02-23 08:37:22 +03:00
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "revalidate",
|
|
|
|
"phases": ["_phase:validate"],
|
|
|
|
"summary": "revalidate",
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": false
|
|
|
|
},
|
2024-02-12 19:57:11 +03:00
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"summary": "Do testing",
|
2021-11-18 15:48:05 +03:00
|
|
|
"name": "test",
|
2024-02-12 19:57:11 +03:00
|
|
|
"phases": ["_phase:build", "_phase:test"],
|
2021-11-18 15:48:05 +03:00
|
|
|
"enableParallelism": true,
|
2024-02-12 19:57:11 +03:00
|
|
|
"incremental": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "retest",
|
|
|
|
"summary": "Build and test all projects.",
|
|
|
|
"phases": ["_phase:build", "_phase:test"],
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": false
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"summary": "Do bundle",
|
|
|
|
"name": "bundle",
|
|
|
|
"phases": ["_phase:build", "_phase:bundle"],
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"commandKind": "phased",
|
|
|
|
"summary": "Do packaging",
|
|
|
|
"name": "package",
|
|
|
|
"phases": ["_phase:build", "_phase:package"],
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": true
|
2021-11-17 16:29:26 +03:00
|
|
|
},
|
2021-11-22 14:17:10 +03:00
|
|
|
|
|
|
|
{
|
|
|
|
"summary": "docker:build",
|
2024-02-12 19:57:11 +03:00
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "docker:build",
|
|
|
|
"phases": ["_phase:build", "_phase:bundle", "_phase:package", "_phase:docker-build"],
|
2021-11-22 14:17:10 +03:00
|
|
|
"enableParallelism": true,
|
2024-02-12 19:57:11 +03:00
|
|
|
"incremental": true
|
|
|
|
},
|
|
|
|
{
|
2024-07-27 18:04:21 +03:00
|
|
|
"summary": "docker:rebuild",
|
|
|
|
"commandKind": "phased",
|
|
|
|
"name": "docker:rebuild",
|
|
|
|
"phases": ["_phase:build", "_phase:bundle", "_phase:package", "_phase:docker-build"],
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": false
|
2021-11-22 14:17:10 +03:00
|
|
|
},
|
2022-02-23 19:10:43 +03:00
|
|
|
{
|
|
|
|
"summary": "docker:staging",
|
2024-02-12 19:57:11 +03:00
|
|
|
"commandKind": "phased",
|
2024-02-12 21:41:31 +03:00
|
|
|
"name": "docker:staging",
|
2024-02-12 19:57:11 +03:00
|
|
|
"phases": ["_phase:build", "_phase:bundle", "_phase:package", "_phase:docker-staging"],
|
2022-02-23 19:10:43 +03:00
|
|
|
"enableParallelism": true,
|
2024-02-12 19:57:11 +03:00
|
|
|
"incremental": true
|
2022-02-28 06:41:53 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"commandKind": "bulk",
|
|
|
|
"name": "docker:push",
|
|
|
|
"summary": "docker:push",
|
|
|
|
"description": "Push docker release images",
|
|
|
|
"enableParallelism": true,
|
|
|
|
"incremental": false,
|
2022-02-23 19:10:43 +03:00
|
|
|
"ignoreDependencyOrder": false,
|
2022-06-07 07:41:22 +03:00
|
|
|
"ignoreMissingScript": true,
|
2023-08-03 20:55:02 +03:00
|
|
|
"disableBuildCache": true,
|
|
|
|
"allowWarningsInSuccessfulBuild": true
|
2022-02-23 19:10:43 +03:00
|
|
|
},
|
2024-07-27 18:04:21 +03:00
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "docker",
|
|
|
|
"summary": "Build docker with platform",
|
|
|
|
"description": "use to build all docker containers required for platform",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
2024-08-06 19:10:00 +03:00
|
|
|
"shellCommand": "rush docker:build -p 20 --to @hcengineering/pod-server --to @hcengineering/pod-front --to @hcengineering/prod --to @hcengineering/pod-account --to @hcengineering/pod-collaborator --to @hcengineering/tool --to @hcengineering/pod-print --to @hcengineering/pod-sign --to @hcengineering/pod-analytics-collector --to @hcengineering/rekoni-service --to @hcengineering/pod-ai-bot"
|
2024-07-27 18:04:21 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "docker:up",
|
|
|
|
"summary": "Up development build",
|
|
|
|
"description": "Up development build",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
|
|
|
"shellCommand": "cd ./dev && docker compose up -d --force-recreate"
|
|
|
|
},
|
2024-08-15 13:10:29 +03:00
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "docker:local",
|
|
|
|
"summary": "Up development build",
|
|
|
|
"description": "Up development build",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
|
|
|
"shellCommand": "cd ./dev/local-mongo && docker compose -p dev up -d --force-recreate"
|
|
|
|
},
|
2024-07-27 18:04:21 +03:00
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "tool:upgrade",
|
|
|
|
"summary": "Upgrade all local models",
|
|
|
|
"description": "Upgrade all local models",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
|
|
|
"shellCommand": "cd ./dev/tool && rushx run-local upgrade -f"
|
|
|
|
},
|
2021-11-29 14:16:01 +03:00
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "apply-templates",
|
|
|
|
"summary": "Update all package.json according to templates matched from templates folder",
|
|
|
|
"description": "Use to update all projects to templates",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
2024-03-15 12:33:12 +03:00
|
|
|
"shellCommand": "node templates/apply.js"
|
2021-11-29 14:16:01 +03:00
|
|
|
},
|
2021-12-22 12:02:51 +03:00
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "ts-clean",
|
|
|
|
"summary": "Clean tsconfig.tsbuildinfo",
|
|
|
|
"description": "Clean typescript incremental cache",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
|
|
|
"shellCommand": "find .|grep tsconfig.tsbuildinfo | xargs rm | pwd"
|
|
|
|
},
|
2022-01-24 21:30:13 +03:00
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "model-version",
|
|
|
|
"summary": "show model version",
|
|
|
|
"description": "show model version",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
2024-01-23 19:18:36 +03:00
|
|
|
"shellCommand": "npx node ./common/scripts/show_version.js"
|
2022-02-10 12:04:18 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "deps-clean",
|
|
|
|
"summary": "Clean package-deps-*.json files",
|
|
|
|
"description": "Clean package-deps-*.json files",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
|
|
|
"shellCommand": "find .|grep .rush/temp/package-deps_ | xargs rm"
|
2023-02-17 18:17:56 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"commandKind": "global",
|
|
|
|
"name": "fast-format",
|
|
|
|
"summary": "Format changed projects",
|
|
|
|
"description": "Format and autofix linting issues in changed projects",
|
|
|
|
"safeForSimultaneousRushProcesses": true,
|
2024-02-16 09:20:03 +03:00
|
|
|
"shellCommand": "./common/scripts/each-diff.sh rushx format --force"
|
2022-02-10 12:04:18 +03:00
|
|
|
}
|
2021-08-03 04:40:40 +03:00
|
|
|
],
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Custom "parameters" introduce new parameters for specified Rush command-line commands.
|
|
|
|
* For example, you might define a "--production" parameter for the "rush build" command.
|
|
|
|
*/
|
|
|
|
"parameters": [
|
2021-11-17 16:45:45 +03:00
|
|
|
{
|
|
|
|
"parameterKind": "flag",
|
|
|
|
"longName": "--lite",
|
|
|
|
"shortName": "-l",
|
|
|
|
"description": "Enable Heft lite building option, will skip some phases.",
|
|
|
|
"associatedCommands": ["build", "rebuild"]
|
|
|
|
},
|
2022-01-06 14:07:32 +03:00
|
|
|
{
|
|
|
|
"parameterKind": "flag",
|
|
|
|
"longName": "--clean",
|
|
|
|
"description": "Enable Heft clean building option",
|
|
|
|
"associatedCommands": ["build", "rebuild"]
|
|
|
|
},
|
2023-11-20 13:01:43 +03:00
|
|
|
{
|
|
|
|
"parameterKind": "flag",
|
|
|
|
"longName": "--force",
|
|
|
|
"shortName": "-f",
|
|
|
|
"description": "Force formatting",
|
|
|
|
"associatedCommands": ["format"]
|
|
|
|
}
|
2021-08-03 04:40:40 +03:00
|
|
|
// {
|
|
|
|
// /**
|
|
|
|
// * (Required) Determines the type of custom parameter.
|
|
|
|
// * A "flag" is a custom command-line parameter whose presence acts as an on/off switch.
|
|
|
|
// */
|
|
|
|
// "parameterKind": "flag",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * (Required) The long name of the parameter. It must be lower-case and use dash delimiters.
|
|
|
|
// */
|
|
|
|
// "longName": "--my-flag",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * An optional alternative short name for the parameter. It must be a dash followed by a single
|
|
|
|
// * lower-case or upper-case letter, which is case-sensitive.
|
|
|
|
// *
|
|
|
|
// * NOTE: The Rush developers recommend that automation scripts should always use the long name
|
|
|
|
// * to improve readability. The short name is only intended as a convenience for humans.
|
|
|
|
// * The alphabet letters run out quickly, and are difficult to memorize, so *only* use
|
|
|
|
// * a short name if you expect the parameter to be needed very often in everyday operations.
|
|
|
|
// */
|
|
|
|
// "shortName": "-m",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * (Required) A long description to be shown in the command-line help.
|
|
|
|
// *
|
|
|
|
// * Whenever you introduce commands/parameters, taking a little time to write meaningful
|
|
|
|
// * documentation can make a big difference for the developer experience in your repo.
|
|
|
|
// */
|
|
|
|
// "description": "A custom flag parameter that is passed to the scripts that are invoked when building projects",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * (Required) A list of custom commands and/or built-in Rush commands that this parameter may
|
|
|
|
// * be used with. The parameter will be appended to the shell command that Rush invokes.
|
|
|
|
// */
|
|
|
|
// "associatedCommands": ["build", "rebuild"]
|
|
|
|
// },
|
|
|
|
//
|
|
|
|
// {
|
|
|
|
// /**
|
|
|
|
// * (Required) Determines the type of custom parameter.
|
|
|
|
// * A "string" is a custom command-line parameter whose value is a simple text string.
|
|
|
|
// */
|
|
|
|
// "parameterKind": "string",
|
|
|
|
// "longName": "--my-string",
|
|
|
|
// "description": "A custom string parameter for the \"my-global-command\" custom command",
|
|
|
|
//
|
|
|
|
// "associatedCommands": ["my-global-command"],
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * The name of the argument, which will be shown in the command-line help.
|
|
|
|
// *
|
|
|
|
// * For example, if the parameter name is '--count" and the argument name is "NUMBER",
|
|
|
|
// * then the command-line help would display "--count NUMBER". The argument name must
|
|
|
|
// * be comprised of upper-case letters, numbers, and underscores. It should be kept short.
|
|
|
|
// */
|
|
|
|
// "argumentName": "SOME_TEXT",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * If true, this parameter must be included with the command. The default is false.
|
|
|
|
// */
|
|
|
|
// "required": false
|
|
|
|
// },
|
|
|
|
//
|
|
|
|
// {
|
|
|
|
// /**
|
|
|
|
// * (Required) Determines the type of custom parameter.
|
|
|
|
// * A "choice" is a custom command-line parameter whose argument must be chosen from a list of
|
|
|
|
// * allowable alternatives.
|
|
|
|
// */
|
|
|
|
// "parameterKind": "choice",
|
|
|
|
// "longName": "--my-choice",
|
|
|
|
// "description": "A custom choice parameter for the \"my-global-command\" custom command",
|
|
|
|
//
|
|
|
|
// "associatedCommands": ["my-global-command"],
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * If true, this parameter must be included with the command. The default is false.
|
|
|
|
// */
|
|
|
|
// "required": false,
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * Normally if a parameter is omitted from the command line, it will not be passed
|
|
|
|
// * to the shell command. this value will be inserted by default. Whereas if a "defaultValue"
|
|
|
|
// * is defined, the parameter will always be passed to the shell command, and will use the
|
|
|
|
// * default value if unspecified. The value must be one of the defined alternatives.
|
|
|
|
// */
|
|
|
|
// "defaultValue": "vanilla",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * (Required) A list of alternative argument values that can be chosen for this parameter.
|
|
|
|
// */
|
|
|
|
// "alternatives": [
|
|
|
|
// {
|
|
|
|
// /**
|
|
|
|
// * A token that is one of the alternatives that can be used with the choice parameter,
|
|
|
|
// * e.g. "vanilla" in "--flavor vanilla".
|
|
|
|
// */
|
|
|
|
// "name": "vanilla",
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * A detailed description for the alternative that can be shown in the command-line help.
|
|
|
|
// *
|
|
|
|
// * Whenever you introduce commands/parameters, taking a little time to write meaningful
|
|
|
|
// * documentation can make a big difference for the developer experience in your repo.
|
|
|
|
// */
|
|
|
|
// "description": "Use the vanilla flavor (the default)"
|
|
|
|
// },
|
|
|
|
//
|
|
|
|
// {
|
|
|
|
// "name": "chocolate",
|
|
|
|
// "description": "Use the chocolate flavor"
|
|
|
|
// },
|
|
|
|
//
|
|
|
|
// {
|
|
|
|
// "name": "strawberry",
|
|
|
|
// "description": "Use the strawberry flavor"
|
|
|
|
// }
|
|
|
|
// ]
|
|
|
|
// }
|
|
|
|
]
|
|
|
|
}
|