1 | const opn = require( 'opn' );
|
2 | const chalk = require( 'chalk' );
|
3 | const nconf = require( 'nconf' );
|
4 | const fs = require( 'fs' );
|
5 | const util = require( '../lib/util' );
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | function open() {
|
11 | if ( !util.localProjectsExist() ) {
|
12 | console.error( chalk`{red.bold No projects available.}` );
|
13 | process.exit( 1 );
|
14 | }
|
15 |
|
16 | const localProjects = nconf.get( 'local_projects' );
|
17 | const cwd = process.cwd();
|
18 | let inLocalProject = false;
|
19 |
|
20 | Object.keys( localProjects ).forEach( ( key ) => {
|
21 | const url = nconf.get( `local_projects:${key}:url` );
|
22 | const path = nconf.get( `local_projects:${key}:path` );
|
23 |
|
24 |
|
25 | if ( cwd.substring( 0, path.length ) === path ) {
|
26 | opn( url, { wait: false });
|
27 | inLocalProject = true;
|
28 | }
|
29 | });
|
30 |
|
31 | if ( !inLocalProject ) {
|
32 | console.log( chalk`{red Command must be ran from within a local project.}` );
|
33 | }
|
34 | }
|
35 |
|
36 | module.exports = open;
|