зеркало из https://github.com/microsoft/beachball.git
WIP:adding some basics
This commit is contained in:
Родитель
72b4c586d1
Коммит
a1be6f19ac
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules/
|
||||||
|
lib/
|
|
@ -0,0 +1,4 @@
|
||||||
|
src/
|
||||||
|
node_modules/
|
||||||
|
tsconfig.json
|
||||||
|
yarn.lock
|
14
package.json
14
package.json
|
@ -2,5 +2,17 @@
|
||||||
"name": "beachball",
|
"name": "beachball",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"scripts": {
|
||||||
|
"build": "tsc",
|
||||||
|
"start": "tsc -w --preserveWatchOutput"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"prompts": "~2.1.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^12.0.4",
|
||||||
|
"@types/prompts": "~2.0.0",
|
||||||
|
"typescript": "^3.5.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
import { spawnSync } from 'child_process';
|
||||||
|
|
||||||
|
export function git(args: string[]) {
|
||||||
|
return spawnSync('git', args);
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
import path from 'path';
|
||||||
|
import fs from 'fs';
|
||||||
|
|
||||||
|
function searchUp(pathName: string, cwd?: string) {
|
||||||
|
if (!cwd) {
|
||||||
|
cwd = process.cwd();
|
||||||
|
}
|
||||||
|
|
||||||
|
const root = path.parse(cwd).root;
|
||||||
|
|
||||||
|
let found = false;
|
||||||
|
|
||||||
|
while (!found && cwd !== root) {
|
||||||
|
if (fs.existsSync(path.join(cwd, pathName))) {
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
cwd = path.dirname(cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found) {
|
||||||
|
return cwd;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function findGitRoot(cwd?: string) {
|
||||||
|
return searchUp('.git', cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function findPackageRoot(cwd?: string) {
|
||||||
|
return searchUp('package.json', cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getChangeFilePath(cwd?: string) {
|
||||||
|
const gitRoot = findGitRoot(cwd);
|
||||||
|
|
||||||
|
if (gitRoot) {
|
||||||
|
return path.join(gitRoot, 'beachbump');
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "./lib",
|
||||||
|
"target": "es2016",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"strict": true,
|
||||||
|
"esModuleInterop": true
|
||||||
|
},
|
||||||
|
"include": ["src/**/*"]
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||||
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
|
"@types/node@^12.0.4":
|
||||||
|
version "12.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.4.tgz#46832183115c904410c275e34cf9403992999c32"
|
||||||
|
integrity sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw==
|
||||||
|
|
||||||
|
"@types/prompts@~2.0.0":
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/prompts/-/prompts-2.0.0.tgz#28551307ae9e10f5e5b703edcd7261c84b8a5f2f"
|
||||||
|
integrity sha512-Rl7itDnYA+Eunkd8WUcB7SF8B0cuzykwDWeQ2rfZry8fqdXJ3piw5B+SgzHWBYQuHCwF7E5iyozQf3BziCuXhA==
|
||||||
|
|
||||||
|
kleur@^3.0.2:
|
||||||
|
version "3.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
|
||||||
|
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
|
||||||
|
|
||||||
|
prompts@~2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db"
|
||||||
|
integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg==
|
||||||
|
dependencies:
|
||||||
|
kleur "^3.0.2"
|
||||||
|
sisteransi "^1.0.0"
|
||||||
|
|
||||||
|
sisteransi@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"
|
||||||
|
integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==
|
||||||
|
|
||||||
|
typescript@^3.5.1:
|
||||||
|
version "3.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202"
|
||||||
|
integrity sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==
|
Загрузка…
Ссылка в новой задаче