diff options
author | David Cho-Lerat <david.cho-lerat@sonarsource.com> | 2023-02-13 19:02:44 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-02-21 20:03:00 +0000 |
commit | 294bda258ce44453fd7b9aae85b713551fa73f37 (patch) | |
tree | 917b1174d13c5ad0cc1233103779110af8d1e615 /server/sonar-web/scripts | |
parent | 5af56eda84b62f4602578d195207cd108da0487a (diff) | |
download | sonarqube-294bda258ce44453fd7b9aae85b713551fa73f37.tar.gz sonarqube-294bda258ce44453fd7b9aae85b713551fa73f37.zip |
SONAR-18491 Set up the build system for the new UI
Diffstat (limited to 'server/sonar-web/scripts')
-rw-r--r-- | server/sonar-web/scripts/build-design-system.js | 46 | ||||
-rw-r--r-- | server/sonar-web/scripts/build.js | 2 | ||||
-rw-r--r-- | server/sonar-web/scripts/start.js | 4 |
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); |