Toolkit: Fix error for running in linked mode vs non-linked mode (#23571)

* replaced run

* consolidated dist and toolkit
This commit is contained in:
Stephanie Closson
2020-04-14 10:46:29 -06:00
committed by GitHub
parent 8c9204ae8e
commit a28dfaf177
2 changed files with 36 additions and 34 deletions

View File

@ -1,28 +1,3 @@
#!/usr/bin/env node
const fs = require('fs');
const entrypoint = () => {
const defaultEntryPoint = '../src/cli/index.js';
const toolkitDirectory = `${process.env['PWD']}/node_modules/@grafana/toolkit`;
// IF we have a toolkit directory AND linked grafana toolkit AND the toolkit dir is a symbolic lik
// THEN run everything in linked mode
if (fs.existsSync(toolkitDirectory)) {
const tkStat = fs.lstatSync(toolkitDirectory);
if (tkStat.isSymbolicLink()) {
console.log('Running in linked mode', `${__dirname}/grafana-toolkit.js`);
return `${__dirname}/grafana-toolkit.js`;
}
}
// We are using npx, and a relative path does not find index.js
if (!fs.existsSync(defaultEntryPoint) && fs.existsSync(`${__dirname}/../dist/src/cli/index.js`)) {
return `${__dirname}/../dist/src/cli/index.js`;
}
// The default entrypoint must exist, return it now.
return defaultEntryPoint;
};
require(entrypoint());
require(`${__dirname}/grafana-toolkit.js`);

View File

@ -1,12 +1,39 @@
#!/usr/bin/env node
var path = require('path');
const fs = require('fs');
const path = require('path');
// This bin is used for cli executed internally
var tsProjectPath = path.resolve(__dirname, '../tsconfig.json');
require('ts-node').register({
project: tsProjectPath,
transpileOnly: true,
});
let includeInternalScripts = false;
require('../src/cli/index.ts').run(true);
const entrypoint = () => {
const defaultEntryPoint = '../src/cli/index.js';
const toolkitDirectory = `${process.env['PWD']}/node_modules/@grafana/toolkit`;
// IF we have a toolkit directory AND linked grafana toolkit AND the toolkit dir is a symbolic lik
// THEN run everything in linked mode
if (fs.existsSync(toolkitDirectory)) {
const tkStat = fs.lstatSync(toolkitDirectory);
if (tkStat.isSymbolicLink()) {
console.log('Running in linked mode');
// This bin is used for cli executed internally
var tsProjectPath = path.resolve(__dirname, '../tsconfig.json');
require('ts-node').register({
project: tsProjectPath,
transpileOnly: true,
});
includeInternalScripts = true;
return '../src/cli/index.ts';
}
}
// We are using npx, and a relative path does not find index.js
if (!fs.existsSync(defaultEntryPoint) && fs.existsSync(`${__dirname}/../dist/src/cli/index.js`)) {
return `${__dirname}/../dist/src/cli/index.js`;
}
// The default entrypoint must exist, return it now.
return defaultEntryPoint;
};
require(entrypoint()).run(includeInternalScripts);