aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/scripts')
-rw-r--r--server/sonar-web/scripts/build-design-system.js46
-rw-r--r--server/sonar-web/scripts/build.js2
-rw-r--r--server/sonar-web/scripts/start.js4
3 files changed, 50 insertions, 2 deletions
diff --git a/server/sonar-web/scripts/build-design-system.js b/server/sonar-web/scripts/build-design-system.js
new file mode 100644
index 00000000000..3ac42dd6a3f
--- /dev/null
+++ b/server/sonar-web/scripts/build-design-system.js
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2023 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+/* eslint-disable no-console */
+process.env.NODE_ENV = 'development';
+
+const chalk = require('chalk');
+const { spawn } = require('child_process');
+
+function buildDesignSystem(callback) {
+ process.chdir(`${__dirname}/..`);
+
+ const build = spawn('npx', ['turbo', 'run', 'design-system#build']);
+
+ build.stdout.on('data', function (data) {
+ console.log(chalk.green.bold(data.toString()));
+ });
+
+ build.stderr.on('data', function (data) {
+ console.log(chalk.red.bold(data.toString()));
+ });
+
+ build.on('exit', function (code) {
+ if (code === 0) {
+ callback();
+ }
+ });
+}
+
+module.exports = { buildDesignSystem };
diff --git a/server/sonar-web/scripts/build.js b/server/sonar-web/scripts/build.js
index 2be28d3381c..6b406c318e3 100644
--- a/server/sonar-web/scripts/build.js
+++ b/server/sonar-web/scripts/build.js
@@ -28,7 +28,7 @@ const paths = require('../config/paths');
const getConfig = require('../config/esbuild-config');
-const release = process.argv.findIndex(val => val === 'release') >= 0;
+const release = process.argv.findIndex((val) => val === 'release') >= 0;
function clean() {
fs.emptyDirSync(paths.appBuild);
diff --git a/server/sonar-web/scripts/start.js b/server/sonar-web/scripts/start.js
index 3232fbe9bc8..32cefea7c8c 100644
--- a/server/sonar-web/scripts/start.js
+++ b/server/sonar-web/scripts/start.js
@@ -28,6 +28,8 @@ const httpProxy = require('http-proxy');
const getConfig = require('../config/esbuild-config');
const { handleL10n } = require('./utils');
const paths = require('../config/paths');
+const { spawn } = require('child_process');
+const { buildDesignSystem } = require('./build-design-system');
const STATUS_OK = 200;
const STATUS_ERROR = 500;
@@ -119,4 +121,4 @@ async function run() {
.catch((e) => console.error(e));
}
-run();
+buildDesignSystem(run);