@servicetitan/install 33.1.0 → 34.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/install.js +5 -6
- package/dist/cli/install.js.map +1 -1
- package/dist/utils/git.js +2 -2
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/npm.js +1 -1
- package/dist/utils/npm.js.map +1 -1
- package/dist/utils/os.js +2 -2
- package/dist/utils/os.js.map +1 -1
- package/package.json +4 -4
- package/src/cli/index.ts +1 -1
- package/src/cli/install.ts +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
const _util = require("util");
|
|
6
|
-
const _install = require("./install");
|
|
7
6
|
const _utils = require("../utils");
|
|
7
|
+
const _install = require("./install");
|
|
8
8
|
const args = function getArgs() {
|
|
9
9
|
const { values, tokens } = (0, _util.parseArgs)({
|
|
10
10
|
args: process.argv.slice(2),
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/index.ts"],"sourcesContent":["import { parseArgs } from 'util';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/cli/index.ts"],"sourcesContent":["import { parseArgs } from 'util';\nimport { debug } from '../utils';\nimport { Install } from './install';\n\nconst args = (function getArgs() {\n const { values, tokens } = parseArgs({\n args: process.argv.slice(2),\n options: {\n 'fix': { type: 'boolean' },\n 'quiet': { type: 'boolean' },\n 'token': { type: 'boolean' },\n 'no-token': { type: 'boolean' },\n },\n tokens: true,\n });\n\n tokens.forEach(token => {\n if (token.kind === 'option') {\n if (token.name.startsWith('no-')) {\n const name = token.name.slice(3) as keyof typeof values;\n values[name] = false;\n delete values[token.name];\n } else {\n values[token.name] = token.value ?? true;\n }\n }\n });\n\n return { ...values };\n})();\n\ndebug('install:args', { args });\n\nnew Install(args).execute();\n"],"names":["args","getArgs","values","tokens","parseArgs","process","argv","slice","options","type","forEach","token","kind","name","startsWith","value","debug","Install","execute"],"mappings":";;;;sBAA0B;uBACJ;yBACE;AAExB,MAAMA,OAAO,AAAC,SAASC;IACnB,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGC,IAAAA,eAAS,EAAC;QACjCJ,MAAMK,QAAQC,IAAI,CAACC,KAAK,CAAC;QACzBC,SAAS;YACL,OAAO;gBAAEC,MAAM;YAAU;YACzB,SAAS;gBAAEA,MAAM;YAAU;YAC3B,SAAS;gBAAEA,MAAM;YAAU;YAC3B,YAAY;gBAAEA,MAAM;YAAU;QAClC;QACAN,QAAQ;IACZ;IAEAA,OAAOO,OAAO,CAACC,CAAAA;QACX,IAAIA,MAAMC,IAAI,KAAK,UAAU;YACzB,IAAID,MAAME,IAAI,CAACC,UAAU,CAAC,QAAQ;gBAC9B,MAAMD,OAAOF,MAAME,IAAI,CAACN,KAAK,CAAC;gBAC9BL,MAAM,CAACW,KAAK,GAAG;gBACf,OAAOX,MAAM,CAACS,MAAME,IAAI,CAAC;YAC7B,OAAO;oBACkBF;gBAArBT,MAAM,CAACS,MAAME,IAAI,CAAC,IAAGF,eAAAA,MAAMI,KAAK,cAAXJ,0BAAAA,eAAe;YACxC;QACJ;IACJ;IAEA,OAAO;QAAE,GAAGT,MAAM;IAAC;AACvB;AAEAc,IAAAA,YAAK,EAAC,gBAAgB;IAAEhB;AAAK;AAE7B,IAAIiB,gBAAO,CAACjB,MAAMkB,OAAO"}
|
package/dist/cli/install.js
CHANGED
|
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "Install", {
|
|
|
8
8
|
return Install;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
13
12
|
const _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
14
|
const _utils = require("../utils");
|
|
15
15
|
function _define_property(obj, key, value) {
|
|
16
16
|
if (key in obj) {
|
|
@@ -43,6 +43,7 @@ class Install {
|
|
|
43
43
|
this.installPackages(env);
|
|
44
44
|
}
|
|
45
45
|
configureNpmToken() {
|
|
46
|
+
var _ref, _ref1;
|
|
46
47
|
var _AUTH_TOKEN_REGEX_exec, _ENVIRONMENT_VARIABLE_REGEX_exec;
|
|
47
48
|
if ((0, _utils.isCI)() || this.args.fix || this.args.token === false) {
|
|
48
49
|
return;
|
|
@@ -68,16 +69,14 @@ class Install {
|
|
|
68
69
|
return;
|
|
69
70
|
}
|
|
70
71
|
const npmrc = _fs.default.readFileSync('.npmrc', 'utf-8');
|
|
71
|
-
|
|
72
|
-
const { authToken } = (_AUTH_TOKEN_REGEX_exec_groups = (_AUTH_TOKEN_REGEX_exec = AUTH_TOKEN_REGEX.exec(npmrc)) === null || _AUTH_TOKEN_REGEX_exec === void 0 ? void 0 : _AUTH_TOKEN_REGEX_exec.groups) !== null && _AUTH_TOKEN_REGEX_exec_groups !== void 0 ? _AUTH_TOKEN_REGEX_exec_groups : {};
|
|
72
|
+
const { authToken } = (_ref = (_AUTH_TOKEN_REGEX_exec = AUTH_TOKEN_REGEX.exec(npmrc)) === null || _AUTH_TOKEN_REGEX_exec === void 0 ? void 0 : _AUTH_TOKEN_REGEX_exec.groups) !== null && _ref !== void 0 ? _ref : {};
|
|
73
73
|
(0, _utils.debug)({
|
|
74
74
|
authToken
|
|
75
75
|
});
|
|
76
76
|
if (!authToken) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
const { environmentVariable } = (_ENVIRONMENT_VARIABLE_REGEX_exec_groups = (_ENVIRONMENT_VARIABLE_REGEX_exec = ENVIRONMENT_VARIABLE_REGEX.exec(authToken)) === null || _ENVIRONMENT_VARIABLE_REGEX_exec === void 0 ? void 0 : _ENVIRONMENT_VARIABLE_REGEX_exec.groups) !== null && _ENVIRONMENT_VARIABLE_REGEX_exec_groups !== void 0 ? _ENVIRONMENT_VARIABLE_REGEX_exec_groups : {};
|
|
79
|
+
const { environmentVariable } = (_ref1 = (_ENVIRONMENT_VARIABLE_REGEX_exec = ENVIRONMENT_VARIABLE_REGEX.exec(authToken)) === null || _ENVIRONMENT_VARIABLE_REGEX_exec === void 0 ? void 0 : _ENVIRONMENT_VARIABLE_REGEX_exec.groups) !== null && _ref1 !== void 0 ? _ref1 : {};
|
|
81
80
|
(0, _utils.debug)({
|
|
82
81
|
environmentVariable
|
|
83
82
|
});
|
|
@@ -125,7 +124,7 @@ class Install {
|
|
|
125
124
|
recursive: true,
|
|
126
125
|
force: true
|
|
127
126
|
});
|
|
128
|
-
} catch (
|
|
127
|
+
} catch (unused) {
|
|
129
128
|
// ignore
|
|
130
129
|
}
|
|
131
130
|
}
|
package/dist/cli/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/install.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport
|
|
1
|
+
{"version":3,"sources":["../../src/cli/install.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport { debug, getVersion, gitCloneRepo, isCI, npmWhoAmI, readJson, runCommand } from '../utils';\n\nconst REPO_NAME = 'frontend-dev-config';\nconst AUTH_TOKEN_KEY = '//registry.npmjs.org/:_authToken';\nconst AUTH_TOKEN_REGEX = /^\\/\\/registry\\.npmjs\\.org\\/:_authToken=\\s*(?<authToken>.+)/m;\nconst ENVIRONMENT_VARIABLE_REGEX = /\\${(?<environmentVariable>[^}]+)}/;\n\nexport interface Args {\n fix?: boolean;\n quiet?: boolean;\n token?: boolean;\n}\n\nexport class Install {\n args: Args;\n\n constructor(args: Args) {\n this.args = args;\n }\n\n execute() {\n if (!this.args.quiet) {\n console.log(`install cli v${getVersion()}`);\n }\n\n const env = this.configureNpmToken();\n this.installPackages(env);\n }\n\n private configureNpmToken() {\n if (isCI() || this.args.fix || this.args.token === false) {\n return;\n }\n\n if (!this.args.quiet) {\n console.log('Configuring NPM token ...');\n }\n\n if (this.args.token !== true) {\n if (npmWhoAmI() === 'st-team') {\n return;\n }\n }\n\n const token = this.fetchNpmToken();\n if (!token) {\n return;\n }\n\n runCommand('npm', ['config', 'set', `${AUTH_TOKEN_KEY}=${token}`]);\n\n if (!fs.existsSync('.npmrc')) {\n return;\n }\n\n const npmrc = fs.readFileSync('.npmrc', 'utf-8');\n const { authToken } = AUTH_TOKEN_REGEX.exec(npmrc)?.groups ?? {};\n debug({ authToken });\n if (!authToken) {\n return;\n }\n\n const { environmentVariable } = ENVIRONMENT_VARIABLE_REGEX.exec(authToken)?.groups ?? {};\n debug({ environmentVariable });\n if (environmentVariable) {\n return { [environmentVariable]: token };\n }\n\n runCommand('npm', ['config', 'delete', '--location=project', AUTH_TOKEN_KEY]);\n }\n\n private fetchNpmToken() {\n const tempDirPath = fs.mkdtempSync(path.join(os.tmpdir(), 'st-install-'));\n try {\n if (!gitCloneRepo({ destination: tempDirPath, name: REPO_NAME })) {\n throw new Error(`could not clone servicetitan/${REPO_NAME}`);\n }\n\n const npmJson = readJson(path.join(tempDirPath, '.npm.json'));\n debug('install:fetch-npm-token', { npmJson });\n\n if (!((npmJson && typeof npmJson === 'object') || Array.isArray(npmJson))) {\n throw new Error('.npm.json is not an object');\n }\n\n const { readOnlyToken: authToken } = npmJson;\n if (!authToken) {\n throw new Error('.npm.json does not contain auth token');\n }\n\n if (typeof authToken !== 'string') {\n throw new Error('.npm.json auth token is not a string');\n }\n\n return Buffer.from(authToken, 'base64').toString('utf-8');\n } catch (e) {\n console.warn(String(e));\n } finally {\n try {\n fs.rmSync(tempDirPath, { recursive: true, force: true });\n } catch {\n // ignore\n }\n }\n }\n\n private installPackages(env?: Record<string, string>) {\n if (this.args.token) {\n return;\n }\n\n const npmArguments = [\n isCI() ? 'ci' : 'i',\n '--audit=false',\n '--fund=false',\n '--legacy-peer-deps',\n ...(this.args.fix ? ['--package-lock-only', '--prefer-dedupe'] : []),\n ];\n\n if (!this.args.quiet) {\n console.log(`Running npm ${npmArguments.join(' ')}`);\n }\n\n runCommand('npm', npmArguments, { env, stdio: 'inherit' });\n }\n}\n"],"names":["Install","REPO_NAME","AUTH_TOKEN_KEY","AUTH_TOKEN_REGEX","ENVIRONMENT_VARIABLE_REGEX","execute","args","quiet","console","log","getVersion","env","configureNpmToken","installPackages","isCI","fix","token","npmWhoAmI","fetchNpmToken","runCommand","fs","existsSync","npmrc","readFileSync","authToken","exec","groups","debug","environmentVariable","tempDirPath","mkdtempSync","path","join","os","tmpdir","gitCloneRepo","destination","name","Error","npmJson","readJson","Array","isArray","readOnlyToken","Buffer","from","toString","e","warn","String","rmSync","recursive","force","npmArguments","stdio"],"mappings":"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"}
|
package/dist/utils/git.js
CHANGED
|
@@ -39,7 +39,7 @@ function gitCloneRepo(params) {
|
|
|
39
39
|
stdio: i === n - 1 ? 'inherit' : 'ignore'
|
|
40
40
|
});
|
|
41
41
|
return true;
|
|
42
|
-
} catch (
|
|
42
|
+
} catch (unused) {
|
|
43
43
|
// ignore error
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -57,7 +57,7 @@ function gitIsReachable({ owner = 'servicetitan', name }) {
|
|
|
57
57
|
url
|
|
58
58
|
]);
|
|
59
59
|
return true;
|
|
60
|
-
} catch (
|
|
60
|
+
} catch (unused) {
|
|
61
61
|
return false;
|
|
62
62
|
}
|
|
63
63
|
});
|
package/dist/utils/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/git.ts"],"sourcesContent":["import { isCI } from './ci';\nimport { runCommand } from './os';\n\ninterface Repo {\n owner?: string;\n name: string;\n}\n\nexport function gitCloneRepo(params: Repo & { destination: string }) {\n const { destination, name, owner = 'servicetitan' } = params;\n const gitUrls = getGitUrls({ owner, name });\n\n for (let i = 0, n = gitUrls.length; i < n; i++) {\n try {\n runCommand('git', ['clone', '-q', gitUrls[i], destination], {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n env: { GIT_TERMINAL_PROMPT: '0' },\n stdio: i === n - 1 ? 'inherit' : 'ignore', // show errors on last attempt\n });\n return true;\n } catch {\n // ignore error\n }\n }\n\n return false;\n}\n\nexport function gitIsReachable({ owner = 'servicetitan', name }: Repo) {\n return getGitUrls({ owner, name }).some(url => {\n try {\n runCommand('git', ['ls-remote', '-qt', url]);\n return true;\n } catch {\n return false;\n }\n });\n}\n\nfunction getGitUrls({ owner, name }: Repo) {\n const webUrl = `https://github.com/${owner}/${name}.git`;\n const sshUrl = `git@github.com:${owner}/${name}.git`;\n\n return isCI() && !!process.env.GITHUB_TOKEN\n ? [webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`)]\n : [sshUrl, webUrl];\n}\n"],"names":["gitCloneRepo","gitIsReachable","params","destination","name","owner","gitUrls","getGitUrls","i","n","length","runCommand","env","GIT_TERMINAL_PROMPT","stdio","some","url","webUrl","sshUrl","isCI","process","GITHUB_TOKEN","replace"],"mappings":";;;;;;;;;;;QAQgBA;eAAAA;;QAoBAC;eAAAA;;;oBA5BK;oBACM;AAOpB,SAASD,aAAaE,MAAsC;IAC/D,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,QAAQ,cAAc,EAAE,GAAGH;IACtD,MAAMI,UAAUC,WAAW;QAAEF;QAAOD;IAAK;IAEzC,IAAK,IAAII,IAAI,GAAGC,IAAIH,QAAQI,MAAM,EAAEF,IAAIC,GAAGD,IAAK;QAC5C,IAAI;YACAG,IAAAA,cAAU,EAAC,OAAO;gBAAC;gBAAS;gBAAML,OAAO,CAACE,EAAE;gBAAEL;aAAY,EAAE;gBACxD,gEAAgE;gBAChES,KAAK;oBAAEC,qBAAqB;gBAAI;gBAChCC,OAAON,MAAMC,IAAI,IAAI,YAAY;YACrC;YACA,OAAO;QACX,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/git.ts"],"sourcesContent":["import { isCI } from './ci';\nimport { runCommand } from './os';\n\ninterface Repo {\n owner?: string;\n name: string;\n}\n\nexport function gitCloneRepo(params: Repo & { destination: string }) {\n const { destination, name, owner = 'servicetitan' } = params;\n const gitUrls = getGitUrls({ owner, name });\n\n for (let i = 0, n = gitUrls.length; i < n; i++) {\n try {\n runCommand('git', ['clone', '-q', gitUrls[i], destination], {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n env: { GIT_TERMINAL_PROMPT: '0' },\n stdio: i === n - 1 ? 'inherit' : 'ignore', // show errors on last attempt\n });\n return true;\n } catch {\n // ignore error\n }\n }\n\n return false;\n}\n\nexport function gitIsReachable({ owner = 'servicetitan', name }: Repo) {\n return getGitUrls({ owner, name }).some(url => {\n try {\n runCommand('git', ['ls-remote', '-qt', url]);\n return true;\n } catch {\n return false;\n }\n });\n}\n\nfunction getGitUrls({ owner, name }: Repo) {\n const webUrl = `https://github.com/${owner}/${name}.git`;\n const sshUrl = `git@github.com:${owner}/${name}.git`;\n\n return isCI() && !!process.env.GITHUB_TOKEN\n ? [webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`)]\n : [sshUrl, webUrl];\n}\n"],"names":["gitCloneRepo","gitIsReachable","params","destination","name","owner","gitUrls","getGitUrls","i","n","length","runCommand","env","GIT_TERMINAL_PROMPT","stdio","some","url","webUrl","sshUrl","isCI","process","GITHUB_TOKEN","replace"],"mappings":";;;;;;;;;;;QAQgBA;eAAAA;;QAoBAC;eAAAA;;;oBA5BK;oBACM;AAOpB,SAASD,aAAaE,MAAsC;IAC/D,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,QAAQ,cAAc,EAAE,GAAGH;IACtD,MAAMI,UAAUC,WAAW;QAAEF;QAAOD;IAAK;IAEzC,IAAK,IAAII,IAAI,GAAGC,IAAIH,QAAQI,MAAM,EAAEF,IAAIC,GAAGD,IAAK;QAC5C,IAAI;YACAG,IAAAA,cAAU,EAAC,OAAO;gBAAC;gBAAS;gBAAML,OAAO,CAACE,EAAE;gBAAEL;aAAY,EAAE;gBACxD,gEAAgE;gBAChES,KAAK;oBAAEC,qBAAqB;gBAAI;gBAChCC,OAAON,MAAMC,IAAI,IAAI,YAAY;YACrC;YACA,OAAO;QACX,EAAE,eAAM;QACJ,eAAe;QACnB;IACJ;IAEA,OAAO;AACX;AAEO,SAASR,eAAe,EAAEI,QAAQ,cAAc,EAAED,IAAI,EAAQ;IACjE,OAAOG,WAAW;QAAEF;QAAOD;IAAK,GAAGW,IAAI,CAACC,CAAAA;QACpC,IAAI;YACAL,IAAAA,cAAU,EAAC,OAAO;gBAAC;gBAAa;gBAAOK;aAAI;YAC3C,OAAO;QACX,EAAE,eAAM;YACJ,OAAO;QACX;IACJ;AACJ;AAEA,SAAST,WAAW,EAAEF,KAAK,EAAED,IAAI,EAAQ;IACrC,MAAMa,SAAS,CAAC,mBAAmB,EAAEZ,MAAM,CAAC,EAAED,KAAK,IAAI,CAAC;IACxD,MAAMc,SAAS,CAAC,eAAe,EAAEb,MAAM,CAAC,EAAED,KAAK,IAAI,CAAC;IAEpD,OAAOe,IAAAA,QAAI,OAAM,CAAC,CAACC,QAAQR,GAAG,CAACS,YAAY,GACrC;QAACJ,OAAOK,OAAO,CAAC,cAAc,CAAC,OAAO,EAAEF,QAAQR,GAAG,CAACS,YAAY,CAAC,WAAW,CAAC;KAAE,GAC/E;QAACH;QAAQD;KAAO;AAC1B"}
|
package/dist/utils/npm.js
CHANGED
package/dist/utils/npm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/npm.ts"],"sourcesContent":["import { debug } from './debug';\nimport { runCommand } from './os';\n\nexport function npmWhoAmI({ registry }: { registry?: string } = {}) {\n try {\n const result = runCommand(\n 'npm',\n ['whoami', ...(registry ? [`--registry=${registry}`] : [])],\n { stdio: ['pipe', 'pipe', 'ignore'], timeout: 10000 }\n ).trim();\n\n debug('install:whoami', { result });\n\n return result.trim();\n } catch {\n // ignore\n }\n}\n"],"names":["npmWhoAmI","registry","result","runCommand","stdio","timeout","trim","debug"],"mappings":";;;;+BAGgBA;;;eAAAA;;;uBAHM;oBACK;AAEpB,SAASA,UAAU,EAAEC,QAAQ,EAAyB,GAAG,CAAC,CAAC;IAC9D,IAAI;QACA,MAAMC,SAASC,IAAAA,cAAU,EACrB,OACA;YAAC;eAAcF,WAAW;gBAAC,CAAC,WAAW,EAAEA,UAAU;aAAC,GAAG,EAAE;SAAE,EAC3D;YAAEG,OAAO;gBAAC;gBAAQ;gBAAQ;aAAS;YAAEC,SAAS;QAAM,GACtDC,IAAI;QAENC,IAAAA,YAAK,EAAC,kBAAkB;YAAEL;QAAO;QAEjC,OAAOA,OAAOI,IAAI;IACtB,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/npm.ts"],"sourcesContent":["import { debug } from './debug';\nimport { runCommand } from './os';\n\nexport function npmWhoAmI({ registry }: { registry?: string } = {}) {\n try {\n const result = runCommand(\n 'npm',\n ['whoami', ...(registry ? [`--registry=${registry}`] : [])],\n { stdio: ['pipe', 'pipe', 'ignore'], timeout: 10000 }\n ).trim();\n\n debug('install:whoami', { result });\n\n return result.trim();\n } catch {\n // ignore\n }\n}\n"],"names":["npmWhoAmI","registry","result","runCommand","stdio","timeout","trim","debug"],"mappings":";;;;+BAGgBA;;;eAAAA;;;uBAHM;oBACK;AAEpB,SAASA,UAAU,EAAEC,QAAQ,EAAyB,GAAG,CAAC,CAAC;IAC9D,IAAI;QACA,MAAMC,SAASC,IAAAA,cAAU,EACrB,OACA;YAAC;eAAcF,WAAW;gBAAC,CAAC,WAAW,EAAEA,UAAU;aAAC,GAAG,EAAE;SAAE,EAC3D;YAAEG,OAAO;gBAAC;gBAAQ;gBAAQ;aAAS;YAAEC,SAAS;QAAM,GACtDC,IAAI;QAENC,IAAAA,YAAK,EAAC,kBAAkB;YAAEL;QAAO;QAEjC,OAAOA,OAAOI,IAAI;IACtB,EAAE,eAAM;IACJ,SAAS;IACb;AACJ"}
|
package/dist/utils/os.js
CHANGED
|
@@ -11,14 +11,14 @@ Object.defineProperty(exports, "runCommand", {
|
|
|
11
11
|
const _child_process = require("child_process");
|
|
12
12
|
const _debug = require("./debug");
|
|
13
13
|
function runCommand(command, args, options = {}) {
|
|
14
|
+
var _ref;
|
|
14
15
|
var _execFileSync;
|
|
15
16
|
(0, _debug.debug)('install:run', {
|
|
16
17
|
command,
|
|
17
18
|
args,
|
|
18
19
|
options
|
|
19
20
|
});
|
|
20
|
-
|
|
21
|
-
return (_execFileSync_toString = (_execFileSync = (0, _child_process.execFileSync)(command, args, getOptions(command, options))) === null || _execFileSync === void 0 ? void 0 : _execFileSync.toString()) !== null && _execFileSync_toString !== void 0 ? _execFileSync_toString : '';
|
|
21
|
+
return (_ref = (_execFileSync = (0, _child_process.execFileSync)(command, args, getOptions(command, options))) === null || _execFileSync === void 0 ? void 0 : _execFileSync.toString()) !== null && _ref !== void 0 ? _ref : '';
|
|
22
22
|
}
|
|
23
23
|
function getOptions(file, options) {
|
|
24
24
|
return {
|
package/dist/utils/os.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/os.ts"],"sourcesContent":["import { execFileSync, ExecSyncOptionsWithBufferEncoding } from 'child_process';\nimport { debug } from './debug';\n\ntype RunCommandOptions = ExecSyncOptionsWithBufferEncoding;\n\nexport function runCommand(command: string, args: string[], options: RunCommandOptions = {}) {\n debug('install:run', { command, args, options });\n return execFileSync(command, args, getOptions(command, options))?.toString() ?? '';\n}\n\nfunction getOptions(file: string, options: RunCommandOptions) {\n return {\n // On Windows, npm is a command script (npm.CMD) that requires a shell\n ...(file === 'npm' && process.platform === 'win32' ? { shell: true } : {}),\n ...options,\n ...(options.env ? { env: { ...process.env, ...options.env } } : {}),\n };\n}\n"],"names":["runCommand","command","args","options","execFileSync","debug","getOptions","toString","file","process","platform","shell","env"],"mappings":";;;;+BAKgBA;;;eAAAA;;;+BALgD;uBAC1C;AAIf,SAASA,WAAWC,OAAe,EAAEC,IAAc,EAAEC,UAA6B,CAAC,CAAC
|
|
1
|
+
{"version":3,"sources":["../../src/utils/os.ts"],"sourcesContent":["import { execFileSync, ExecSyncOptionsWithBufferEncoding } from 'child_process';\nimport { debug } from './debug';\n\ntype RunCommandOptions = ExecSyncOptionsWithBufferEncoding;\n\nexport function runCommand(command: string, args: string[], options: RunCommandOptions = {}) {\n debug('install:run', { command, args, options });\n return execFileSync(command, args, getOptions(command, options))?.toString() ?? '';\n}\n\nfunction getOptions(file: string, options: RunCommandOptions) {\n return {\n // On Windows, npm is a command script (npm.CMD) that requires a shell\n ...(file === 'npm' && process.platform === 'win32' ? { shell: true } : {}),\n ...options,\n ...(options.env ? { env: { ...process.env, ...options.env } } : {}),\n };\n}\n"],"names":["runCommand","command","args","options","execFileSync","debug","getOptions","toString","file","process","platform","shell","env"],"mappings":";;;;+BAKgBA;;;eAAAA;;;+BALgD;uBAC1C;AAIf,SAASA,WAAWC,OAAe,EAAEC,IAAc,EAAEC,UAA6B,CAAC,CAAC;;QAEhFC;IADPC,IAAAA,YAAK,EAAC,eAAe;QAAEJ;QAASC;QAAMC;IAAQ;IAC9C,gBAAOC,gBAAAA,IAAAA,2BAAY,EAACH,SAASC,MAAMI,WAAWL,SAASE,uBAAhDC,oCAAAA,cAA2DG,QAAQ,yCAAM;AACpF;AAEA,SAASD,WAAWE,IAAY,EAAEL,OAA0B;IACxD,OAAO;QACH,sEAAsE;QACtE,GAAIK,SAAS,SAASC,QAAQC,QAAQ,KAAK,UAAU;YAAEC,OAAO;QAAK,IAAI,CAAC,CAAC;QACzE,GAAGR,OAAO;QACV,GAAIA,QAAQS,GAAG,GAAG;YAAEA,KAAK;gBAAE,GAAGH,QAAQG,GAAG;gBAAE,GAAGT,QAAQS,GAAG;YAAC;QAAE,IAAI,CAAC,CAAC;IACtE;AACJ"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/install",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "",
|
|
5
|
-
"homepage": "https://docs.st.dev/docs/frontend/install",
|
|
3
|
+
"version": "34.0.0",
|
|
4
|
+
"description": "Lightweight wrapper around npm install that configures access to private packages",
|
|
5
|
+
"homepage": "https://docs.st.dev/docs/frontend/uikit/install",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/servicetitan/uikit.git",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"ts-node": "~10.9.2"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "e193dc22703963f67099874a24de535d0696b6e2"
|
|
36
36
|
}
|
package/src/cli/index.ts
CHANGED
package/src/cli/install.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
import path from 'path';
|
|
3
2
|
import fs from 'fs';
|
|
4
3
|
import os from 'os';
|
|
4
|
+
import path from 'path';
|
|
5
5
|
import { debug, getVersion, gitCloneRepo, isCI, npmWhoAmI, readJson, runCommand } from '../utils';
|
|
6
6
|
|
|
7
7
|
const REPO_NAME = 'frontend-dev-config';
|