Skip to content
Snippets Groups Projects
Commit 41ca8e50 authored by michael.minelli's avatar michael.minelli
Browse files

Merge branch 'v3.1.2' into main

parents 4c9f46f1 9a303b3b
No related branches found
No related tags found
No related merge requests found
Pipeline #27214 passed
{
"name": "dojo_cli",
"version": "3.1.0",
"version": "3.1.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "dojo_cli",
"version": "3.1.0",
"version": "3.1.2",
"license": "AGPLv3",
"dependencies": {
"ajv": "^8.12.0",
......@@ -22,7 +22,7 @@
"inquirer": "^8.2.6",
"json5": "^2.2.3",
"jsonwebtoken": "^8.5.1",
"openurl": "^1.1.1",
"open": "^8.4.2",
"ora": "^5.4.1",
"tar-stream": "^3.1.6",
"winston": "^3.11.0",
......@@ -36,7 +36,6 @@
"@types/inquirer": "^8.2.10",
"@types/jsonwebtoken": "^8.5.9",
"@types/node": "^18.19.2",
"@types/openurl": "^1.0.3",
"@types/tar-stream": "^3.1.3",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
......@@ -857,15 +856,6 @@
"undici-types": "~5.26.4"
}
},
"node_modules/@types/openurl": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@types/openurl/-/openurl-1.0.3.tgz",
"integrity": "sha512-rdWpxNve8iUBizep3BwjGzcdfk2XeXeeFiMwIgLN6dAKxCusfFC6H9XVvfPeNObRFpSgqI+HVmoG7UOB9HEnBQ==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/semver": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
......@@ -1719,6 +1709,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/define-lazy-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
"integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"engines": {
"node": ">=8"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
......@@ -2799,7 +2797,6 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
"bin": {
"is-docker": "cli.js"
},
......@@ -2901,7 +2898,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"dependencies": {
"is-docker": "^2.0.0"
},
......@@ -3455,10 +3451,21 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/openurl": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
"integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA=="
"node_modules/open": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
"integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
"dependencies": {
"define-lazy-prop": "^2.0.0",
"is-docker": "^2.1.1",
"is-wsl": "^2.2.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/optionator": {
"version": "0.9.3",
......
{
"name" : "dojo_cli",
"description" : "CLI of the Dojo project",
"version" : "3.1.1",
"version" : "3.1.2",
"license" : "AGPLv3",
"author" : "Michaël Minelli <dojo@minelli.me>",
"main" : "dist/app.js",
......@@ -46,7 +46,7 @@
"inquirer" : "^8.2.6",
"json5" : "^2.2.3",
"jsonwebtoken" : "^8.5.1",
"openurl" : "^1.1.1",
"open" : "^8.4.2",
"ora" : "^5.4.1",
"tar-stream" : "^3.1.6",
"winston" : "^3.11.0",
......@@ -57,7 +57,6 @@
"@types/inquirer" : "^8.2.10",
"@types/jsonwebtoken" : "^8.5.9",
"@types/node" : "^18.19.2",
"@types/openurl" : "^1.0.3",
"@types/tar-stream" : "^3.1.3",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser" : "^6.13.2",
......
......@@ -12,7 +12,6 @@ import Config from '../config/Config';
import ClientsSharedConfig from '../sharedByClients/config/ClientsSharedConfig';
import DojoGitlabCredentials from '../sharedByClients/types/Dojo/DojoGitlabCredentials';
import * as http from 'http';
import * as openurl from 'openurl';
import EventEmitter from 'events';
import SharedConfig from '../shared/config/SharedConfig';
import chalk from 'chalk';
......@@ -20,6 +19,7 @@ import inquirer from 'inquirer';
import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
import GitlabManager from './GitlabManager';
import GitlabToken from '../shared/types/Gitlab/GitlabToken';
import open from 'open';
class LoginServer {
......@@ -141,6 +141,11 @@ class SessionManager {
private getGitlabCodeFromGraphicEnvironment(): Promise<string> {
return new Promise<string>((resolve, reject) => {
ora({
text : 'GUI mode (for headless mode, use the --cli option)',
indent: 4
}).start().info();
let currentSpinner: ora.Ora = ora({
text : 'Starting login server',
indent: 4
......@@ -150,26 +155,10 @@ class SessionManager {
loginServer.events.on('started', () => {
currentSpinner.succeed('Login server started');
currentSpinner = ora({
text : 'Waiting for user to authorize the application in his web browser',
text : `Waiting for user to authorize the application in his web browser. If the browser does not open automatically, please go to : ${ Config.login.gitlab.url.code }`,
indent: 4
}).start();
openurl.open(Config.login.gitlab.url.code, (error) => {
if ( error ) {
currentSpinner.warn('Error while opening the web browser. Attempting the login in CLI only mode (headless mode).');
currentSpinner = ora({
text : 'Stopping login server',
indent: 4
}).start();
loginServer.events.on('stopped', () => {
try {
resolve(this.getGitlabCodeFromHeadlessEnvironment());
} catch ( error ) {
reject(error);
}
});
loginServer.stop();
}
});
open(Config.login.gitlab.url.code).then();
});
loginServer.events.on('error', (error: string) => {
currentSpinner.fail(`Login server error: ${ error }`);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment