@_linked/cli 1.8.2 → 1.9.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/CHANGELOG.md +12 -0
- package/jest.config.cjs +8 -4
- package/lib/esm/cli-methods.d.ts.map +1 -1
- package/lib/esm/cli-methods.js +15 -3
- package/lib/esm/cli-methods.js.map +1 -1
- package/lib/esm/vite-config.d.ts.map +1 -1
- package/lib/esm/vite-config.js +49 -16
- package/lib/esm/vite-config.js.map +1 -1
- package/package.json +8 -14
- package/tests/unit/safeYarn.test.ts +1 -1
- package/defaults/app-with-backend/.env-cmdrc.json +0 -19
- package/defaults/app-with-backend/.env.example +0 -20
- package/defaults/app-with-backend/.eslintignore +0 -5
- package/defaults/app-with-backend/.eslintrc.json +0 -40
- package/defaults/app-with-backend/.prettierignore +0 -4
- package/defaults/app-with-backend/.prettierrc.json +0 -27
- package/defaults/app-with-backend/.vscode/launch.json +0 -12
- package/defaults/app-with-backend/.yarn/plugins/@yarnpkg/plugin-version.cjs +0 -550
- package/defaults/app-with-backend/.yarn/releases/yarn-3.6.1.cjs +0 -874
- package/defaults/app-with-backend/gitignore.template +0 -27
- package/defaults/app-with-backend/linked.backend.datasets.example.json +0 -17
- package/defaults/app-with-backend/linked.backend.storage.ts +0 -35
- package/defaults/app-with-backend/linked.config.js +0 -7
- package/defaults/app-with-backend/package.json +0 -75
- package/defaults/app-with-backend/pm2-staging.config.js +0 -12
- package/defaults/app-with-backend/pm2.config.js +0 -12
- package/defaults/app-with-backend/public/favicon-144x144.png +0 -0
- package/defaults/app-with-backend/public/favicon-57x57.png +0 -0
- package/defaults/app-with-backend/public/favicon-72x72.png +0 -0
- package/defaults/app-with-backend/public/favicon.ico +0 -0
- package/defaults/app-with-backend/readme.md +0 -93
- package/defaults/app-with-backend/src/App.module.css +0 -83
- package/defaults/app-with-backend/src/App.tsx +0 -30
- package/defaults/app-with-backend/src/backend.ts +0 -9
- package/defaults/app-with-backend/src/components/Error.module.css +0 -9
- package/defaults/app-with-backend/src/components/Error.tsx +0 -11
- package/defaults/app-with-backend/src/components/PersonOverview.module.css +0 -100
- package/defaults/app-with-backend/src/components/PersonOverview.tsx +0 -97
- package/defaults/app-with-backend/src/components/PersonOverviewContext.tsx +0 -12
- package/defaults/app-with-backend/src/components/PersonPreview.module.css +0 -97
- package/defaults/app-with-backend/src/components/PersonPreview.tsx +0 -109
- package/defaults/app-with-backend/src/components/Spinner.module.css +0 -17
- package/defaults/app-with-backend/src/components/Spinner.tsx +0 -12
- package/defaults/app-with-backend/src/index.tsx +0 -34
- package/defaults/app-with-backend/src/layout/DefaultLayout.module.css +0 -15
- package/defaults/app-with-backend/src/layout/DefaultLayout.tsx +0 -12
- package/defaults/app-with-backend/src/layout/Header.module.css +0 -46
- package/defaults/app-with-backend/src/layout/Header.tsx +0 -27
- package/defaults/app-with-backend/src/linked.frontend.datasets.json +0 -12
- package/defaults/app-with-backend/src/linked.frontend.storage.ts +0 -36
- package/defaults/app-with-backend/src/package.ts +0 -16
- package/defaults/app-with-backend/src/pages/Home.module.css +0 -23
- package/defaults/app-with-backend/src/pages/Home.tsx +0 -14
- package/defaults/app-with-backend/src/pages/Page1.module.css +0 -111
- package/defaults/app-with-backend/src/pages/Page1.tsx +0 -196
- package/defaults/app-with-backend/src/pages/PageNotFound.module.css +0 -19
- package/defaults/app-with-backend/src/pages/PageNotFound.tsx +0 -14
- package/defaults/app-with-backend/src/pages/Signin.module.css +0 -20
- package/defaults/app-with-backend/src/pages/Signin.tsx +0 -16
- package/defaults/app-with-backend/src/routes.tsx +0 -78
- package/defaults/app-with-backend/src/theme.css +0 -91
- package/defaults/app-with-backend/src/types.ts +0 -14
- package/defaults/app-with-backend/src/utils/lazyWithPreload.tsx +0 -42
- package/defaults/app-with-backend/src/utils/preloadRoutes.ts +0 -38
- package/defaults/app-with-backend/tsconfig.json +0 -24
- package/defaults/app-with-backend/vite.config.ts +0 -13
- package/defaults/app-with-backend/yarnrc.yml.template +0 -8
- package/lib/cjs/cli-methods.d.ts +0 -75
- package/lib/cjs/cli-methods.d.ts.map +0 -1
- package/lib/cjs/cli-methods.js +0 -2655
- package/lib/cjs/cli-methods.js.map +0 -1
- package/lib/cjs/cli.d.ts +0 -3
- package/lib/cjs/cli.d.ts.map +0 -1
- package/lib/cjs/cli.js +0 -339
- package/lib/cjs/cli.js.map +0 -1
- package/lib/cjs/commands/build-package.d.ts +0 -9
- package/lib/cjs/commands/build-package.d.ts.map +0 -1
- package/lib/cjs/commands/build-package.js +0 -55
- package/lib/cjs/commands/build-package.js.map +0 -1
- package/lib/cjs/commands/safe-yarn.d.ts +0 -10
- package/lib/cjs/commands/safe-yarn.d.ts.map +0 -1
- package/lib/cjs/commands/safe-yarn.js +0 -66
- package/lib/cjs/commands/safe-yarn.js.map +0 -1
- package/lib/cjs/commands/setup-publish.d.ts +0 -23
- package/lib/cjs/commands/setup-publish.d.ts.map +0 -1
- package/lib/cjs/commands/setup-publish.js +0 -369
- package/lib/cjs/commands/setup-publish.js.map +0 -1
- package/lib/cjs/commands/start.d.ts +0 -6
- package/lib/cjs/commands/start.d.ts.map +0 -1
- package/lib/cjs/commands/start.js +0 -337
- package/lib/cjs/commands/start.js.map +0 -1
- package/lib/cjs/config-webpack-app.d.ts +0 -112
- package/lib/cjs/config-webpack-app.d.ts.map +0 -1
- package/lib/cjs/config-webpack-app.js +0 -427
- package/lib/cjs/config-webpack-app.js.map +0 -1
- package/lib/cjs/config-webpack.d.ts +0 -55
- package/lib/cjs/config-webpack.d.ts.map +0 -1
- package/lib/cjs/config-webpack.js +0 -417
- package/lib/cjs/config-webpack.js.map +0 -1
- package/lib/cjs/defineConfig.d.ts +0 -8
- package/lib/cjs/defineConfig.d.ts.map +0 -1
- package/lib/cjs/defineConfig.js +0 -12
- package/lib/cjs/defineConfig.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -12
- package/lib/cjs/index.d.ts.map +0 -1
- package/lib/cjs/index.js +0 -43
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/interfaces.d.ts +0 -140
- package/lib/cjs/interfaces.d.ts.map +0 -1
- package/lib/cjs/interfaces.js +0 -3
- package/lib/cjs/interfaces.js.map +0 -1
- package/lib/cjs/lifecycle.d.ts +0 -24
- package/lib/cjs/lifecycle.d.ts.map +0 -1
- package/lib/cjs/lifecycle.js +0 -187
- package/lib/cjs/lifecycle.js.map +0 -1
- package/lib/cjs/loaders/css-loader.d.mts +0 -2
- package/lib/cjs/loaders/css-loader.d.mts.map +0 -1
- package/lib/cjs/loaders/css-loader.mjs +0 -86
- package/lib/cjs/loaders/css-loader.mjs.map +0 -1
- package/lib/cjs/loaders/register-css-only.d.ts +0 -2
- package/lib/cjs/loaders/register-css-only.d.ts.map +0 -1
- package/lib/cjs/loaders/register-css-only.js +0 -11
- package/lib/cjs/loaders/register-css-only.js.map +0 -1
- package/lib/cjs/loaders/register.d.ts +0 -2
- package/lib/cjs/loaders/register.d.ts.map +0 -1
- package/lib/cjs/loaders/register.js +0 -11
- package/lib/cjs/loaders/register.js.map +0 -1
- package/lib/cjs/loaders/ts-loader.d.mts +0 -3
- package/lib/cjs/loaders/ts-loader.d.mts.map +0 -1
- package/lib/cjs/loaders/ts-loader.mjs +0 -125
- package/lib/cjs/loaders/ts-loader.mjs.map +0 -1
- package/lib/cjs/metadata.d.ts +0 -1
- package/lib/cjs/metadata.d.ts.map +0 -1
- package/lib/cjs/metadata.js +0 -155
- package/lib/cjs/metadata.js.map +0 -1
- package/lib/cjs/package.json +0 -144
- package/lib/cjs/plugins/check-imports.d.ts +0 -2
- package/lib/cjs/plugins/check-imports.d.ts.map +0 -1
- package/lib/cjs/plugins/check-imports.js +0 -68
- package/lib/cjs/plugins/check-imports.js.map +0 -1
- package/lib/cjs/plugins/declaration-plugin.d.ts +0 -15
- package/lib/cjs/plugins/declaration-plugin.d.ts.map +0 -1
- package/lib/cjs/plugins/declaration-plugin.js +0 -285
- package/lib/cjs/plugins/declaration-plugin.js.map +0 -1
- package/lib/cjs/plugins/externalise-modules.d.ts +0 -7
- package/lib/cjs/plugins/externalise-modules.d.ts.map +0 -1
- package/lib/cjs/plugins/externalise-modules.js +0 -190
- package/lib/cjs/plugins/externalise-modules.js.map +0 -1
- package/lib/cjs/plugins/lincd-tailwind-sources.d.ts +0 -3
- package/lib/cjs/plugins/lincd-tailwind-sources.d.ts.map +0 -1
- package/lib/cjs/plugins/lincd-tailwind-sources.js +0 -32
- package/lib/cjs/plugins/lincd-tailwind-sources.js.map +0 -1
- package/lib/cjs/plugins/watch-run.d.ts +0 -5
- package/lib/cjs/plugins/watch-run.d.ts.map +0 -1
- package/lib/cjs/plugins/watch-run.js +0 -45
- package/lib/cjs/plugins/watch-run.js.map +0 -1
- package/lib/cjs/preflight.css +0 -137
- package/lib/cjs/tailwind.config.d.ts +0 -8
- package/lib/cjs/tailwind.config.d.ts.map +0 -1
- package/lib/cjs/tailwind.config.js +0 -17
- package/lib/cjs/tailwind.config.js.map +0 -1
- package/lib/cjs/utils.d.ts +0 -77
- package/lib/cjs/utils.d.ts.map +0 -1
- package/lib/cjs/utils.js +0 -591
- package/lib/cjs/utils.js.map +0 -1
- package/lib/cjs/vite-config.d.ts +0 -20
- package/lib/cjs/vite-config.d.ts.map +0 -1
- package/lib/cjs/vite-config.js +0 -401
- package/lib/cjs/vite-config.js.map +0 -1
- package/lib/esm/loaders/register-css-only.d.ts +0 -2
- package/lib/esm/loaders/register-css-only.d.ts.map +0 -1
- package/lib/esm/loaders/register-css-only.js +0 -9
- package/lib/esm/loaders/register-css-only.js.map +0 -1
- package/lib/esm/loaders/register.d.ts +0 -2
- package/lib/esm/loaders/register.d.ts.map +0 -1
- package/lib/esm/loaders/register.js +0 -9
- package/lib/esm/loaders/register.js.map +0 -1
- package/lib/esm/package.json +0 -144
- /package/{babel.config.js → babel.config.cjs} +0 -0
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.buildPackageByPath = buildPackageByPath;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const utils_js_1 = require("../utils.js");
|
|
11
|
-
/**
|
|
12
|
-
* Given any file or directory path, walk up to find the nearest package.json
|
|
13
|
-
* and run `linked build` in that package's directory. This is the editor-hook
|
|
14
|
-
* variant of build: the caller knows a file path, we figure out the package.
|
|
15
|
-
*
|
|
16
|
-
* Only rebuilds packages flagged `linkedPackage: true` (or legacy `lincd: true`).
|
|
17
|
-
*/
|
|
18
|
-
async function buildPackageByPath(filePath) {
|
|
19
|
-
let currentPath = path_1.default.isAbsolute(filePath)
|
|
20
|
-
? filePath
|
|
21
|
-
: path_1.default.resolve(process.cwd(), filePath);
|
|
22
|
-
if (fs_1.default.existsSync(currentPath) && fs_1.default.statSync(currentPath).isFile()) {
|
|
23
|
-
currentPath = path_1.default.dirname(currentPath);
|
|
24
|
-
}
|
|
25
|
-
while (currentPath !== path_1.default.dirname(currentPath)) {
|
|
26
|
-
const pkgJsonPath = path_1.default.join(currentPath, 'package.json');
|
|
27
|
-
if (fs_1.default.existsSync(pkgJsonPath)) {
|
|
28
|
-
const pkgJson = JSON.parse(fs_1.default.readFileSync(pkgJsonPath, 'utf8'));
|
|
29
|
-
const isLinked = pkgJson.linkedPackage === true || pkgJson.lincd === true;
|
|
30
|
-
if (!isLinked) {
|
|
31
|
-
console.log(chalk_1.default.yellow(`Package ${pkgJson.name} is not a linked package (no linkedPackage flag). Skipping.`));
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
console.log(chalk_1.default.cyan(`Rebuilding ${pkgJson.name}`));
|
|
35
|
-
// Prefer workspace-local yarn if available, else fall back to PATH `yarn`
|
|
36
|
-
let yarnBin = 'yarn';
|
|
37
|
-
const yarnReleasesDir = path_1.default.join(process.cwd(), '.yarn', 'releases');
|
|
38
|
-
if (fs_1.default.existsSync(yarnReleasesDir)) {
|
|
39
|
-
const releases = fs_1.default.readdirSync(yarnReleasesDir);
|
|
40
|
-
if (releases.length > 0) {
|
|
41
|
-
yarnBin = path_1.default.join(yarnReleasesDir, releases[0]);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Use `yarn exec` so we invoke the `linked` binary rather than a script.
|
|
45
|
-
// Inner packages don't have a "linked" script in package.json.
|
|
46
|
-
const command = `cd ${currentPath} && ${yarnBin} exec linked build`;
|
|
47
|
-
await (0, utils_js_1.execp)(command, true, false);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
currentPath = path_1.default.dirname(currentPath);
|
|
51
|
-
}
|
|
52
|
-
console.error(chalk_1.default.red(`No package.json found walking up from ${filePath}`));
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=build-package.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-package.js","sourceRoot":"","sources":["../../../src/commands/build-package.ts"],"names":[],"mappings":";;;;;AAYA,gDAkDC;AA9DD,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,0CAAkC;AAElC;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,WAAW,GAAG,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE1C,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,YAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACpE,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,WAAW,KAAK,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,MAAM,QAAQ,GACZ,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,WAAW,OAAO,CAAC,IAAI,6DAA6D,CACrF,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEtD,0EAA0E;YAC1E,IAAI,OAAO,GAAG,MAAM,CAAC;YACrB,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACtE,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,YAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,MAAM,WAAW,OAAO,OAAO,oBAAoB,CAAC;YACpE,MAAM,IAAA,gBAAK,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAC/D,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Run a yarn command at the workspace root while preserving nested repositories'
|
|
3
|
-
* yarn.lock files. Used when the workspace contains sibling repos (via mrgit)
|
|
4
|
-
* whose own lockfiles should not be clobbered by a root-level `yarn install`.
|
|
5
|
-
*
|
|
6
|
-
* Reads mrgit.json to determine which nested repos exist. If mrgit.json is
|
|
7
|
-
* missing, falls back to plain yarn behavior.
|
|
8
|
-
*/
|
|
9
|
-
export declare function safeYarn(args: string[]): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=safe-yarn.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"safe-yarn.d.ts","sourceRoot":"","sources":["../../../src/commands/safe-yarn.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsD5D"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.safeYarn = safeYarn;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const utils_js_1 = require("../utils.js");
|
|
11
|
-
/**
|
|
12
|
-
* Run a yarn command at the workspace root while preserving nested repositories'
|
|
13
|
-
* yarn.lock files. Used when the workspace contains sibling repos (via mrgit)
|
|
14
|
-
* whose own lockfiles should not be clobbered by a root-level `yarn install`.
|
|
15
|
-
*
|
|
16
|
-
* Reads mrgit.json to determine which nested repos exist. If mrgit.json is
|
|
17
|
-
* missing, falls back to plain yarn behavior.
|
|
18
|
-
*/
|
|
19
|
-
async function safeYarn(args) {
|
|
20
|
-
const mrgitPath = path_1.default.join(process.cwd(), 'mrgit.json');
|
|
21
|
-
const yarnCmd = `yarn ${args.join(' ')}`;
|
|
22
|
-
if (process.env.LINKED_YARN_DRY_RUN) {
|
|
23
|
-
console.log(chalk_1.default.cyan(`[dry-run] would execute: ${yarnCmd}`));
|
|
24
|
-
console.log(chalk_1.default.cyan(`[dry-run] received args: ${JSON.stringify(args)}`));
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (!fs_extra_1.default.existsSync(mrgitPath)) {
|
|
28
|
-
await (0, utils_js_1.execp)(yarnCmd, true, false);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const mrgit = JSON.parse(fs_extra_1.default.readFileSync(mrgitPath, 'utf8'));
|
|
32
|
-
const nestedRepos = Object.keys(mrgit.dependencies || {}).map((dep) => {
|
|
33
|
-
// mrgit repo keys can be scoped (e.g. @_linked/core) or plain (the-game).
|
|
34
|
-
// The folder they land in is `packages/<last-segment>`.
|
|
35
|
-
const folder = dep.includes('/') ? dep.split('/').pop() : dep;
|
|
36
|
-
return { name: dep, path: path_1.default.join(process.cwd(), 'packages', folder) };
|
|
37
|
-
});
|
|
38
|
-
console.log(chalk_1.default.magenta(`Preserving ${nestedRepos.length} nested yarn.lock files during yarn run`));
|
|
39
|
-
const backedUp = [];
|
|
40
|
-
try {
|
|
41
|
-
// Back up nested lockfiles
|
|
42
|
-
for (const repo of nestedRepos) {
|
|
43
|
-
const lockPath = path_1.default.join(repo.path, 'yarn.lock');
|
|
44
|
-
if (fs_extra_1.default.existsSync(lockPath)) {
|
|
45
|
-
fs_extra_1.default.renameSync(lockPath, lockPath + '.bak');
|
|
46
|
-
fs_extra_1.default.createFileSync(lockPath);
|
|
47
|
-
backedUp.push(repo.path);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
// Run the yarn command
|
|
51
|
-
await (0, utils_js_1.execp)(yarnCmd, true, false);
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
// Restore nested lockfiles
|
|
55
|
-
for (const repoPath of backedUp) {
|
|
56
|
-
const lockPath = path_1.default.join(repoPath, 'yarn.lock');
|
|
57
|
-
const bakPath = lockPath + '.bak';
|
|
58
|
-
if (fs_extra_1.default.existsSync(bakPath)) {
|
|
59
|
-
if (fs_extra_1.default.existsSync(lockPath))
|
|
60
|
-
fs_extra_1.default.unlinkSync(lockPath);
|
|
61
|
-
fs_extra_1.default.renameSync(bakPath, lockPath);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=safe-yarn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"safe-yarn.js","sourceRoot":"","sources":["../../../src/commands/safe-yarn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export type SetupPublishOptions = {
|
|
2
|
-
configureGithub?: boolean;
|
|
3
|
-
scope?: 'core' | 'community';
|
|
4
|
-
dualBranch?: boolean;
|
|
5
|
-
grantTeam?: string;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Set up a single-branch changesets publish workflow in the current package repo.
|
|
9
|
-
*
|
|
10
|
-
* Installs:
|
|
11
|
-
* - .github/workflows/{ci,publish,changeset-check}.yml
|
|
12
|
-
* - .changeset/config.json + README.md
|
|
13
|
-
* - .changeset/initial-release.md
|
|
14
|
-
* - .gitignore entries for node_modules, lib, yarn.lock, src-compiled-artifacts
|
|
15
|
-
* - package.json: @changesets/cli + @changesets/changelog-github devDeps,
|
|
16
|
-
* publishConfig: {access: public}
|
|
17
|
-
* - package-lock.json generated via npm install --package-lock-only
|
|
18
|
-
*
|
|
19
|
-
* With --configure-github: if `gh` CLI is available and authenticated, also sets
|
|
20
|
-
* branch protection on main (strict + required "Build & Test" check).
|
|
21
|
-
*/
|
|
22
|
-
export declare function setupPublish(opts?: SetupPublishOptions): Promise<void>;
|
|
23
|
-
//# sourceMappingURL=setup-publish.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-publish.d.ts","sourceRoot":"","sources":["../../../src/commands/setup-publish.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDhF"}
|
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.setupPublish = setupPublish;
|
|
40
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
42
|
-
const path_1 = __importStar(require("path"));
|
|
43
|
-
const utils_js_1 = require("../utils.js");
|
|
44
|
-
const dirname__ = typeof __dirname !== 'undefined'
|
|
45
|
-
? __dirname
|
|
46
|
-
: //@ts-ignore
|
|
47
|
-
(0, path_1.dirname)(import.meta.url).replace('file:/', '');
|
|
48
|
-
// defaults/setup-publish/ lives at packages/cli/defaults/setup-publish/
|
|
49
|
-
// This file compiles to lib/{esm,cjs}/commands/setup-publish.js — go up three
|
|
50
|
-
// levels to reach the package root, then into defaults/setup-publish.
|
|
51
|
-
const TEMPLATE_ROOT = path_1.default.resolve(dirname__, '..', '..', '..', 'defaults', 'setup-publish');
|
|
52
|
-
/**
|
|
53
|
-
* Set up a single-branch changesets publish workflow in the current package repo.
|
|
54
|
-
*
|
|
55
|
-
* Installs:
|
|
56
|
-
* - .github/workflows/{ci,publish,changeset-check}.yml
|
|
57
|
-
* - .changeset/config.json + README.md
|
|
58
|
-
* - .changeset/initial-release.md
|
|
59
|
-
* - .gitignore entries for node_modules, lib, yarn.lock, src-compiled-artifacts
|
|
60
|
-
* - package.json: @changesets/cli + @changesets/changelog-github devDeps,
|
|
61
|
-
* publishConfig: {access: public}
|
|
62
|
-
* - package-lock.json generated via npm install --package-lock-only
|
|
63
|
-
*
|
|
64
|
-
* With --configure-github: if `gh` CLI is available and authenticated, also sets
|
|
65
|
-
* branch protection on main (strict + required "Build & Test" check).
|
|
66
|
-
*/
|
|
67
|
-
async function setupPublish(opts = {}) {
|
|
68
|
-
const cwd = process.cwd();
|
|
69
|
-
const scope = opts.scope || 'core';
|
|
70
|
-
const npmSecretName = scope === 'community' ? 'NPM_AUTH_TOKEN_CM' : 'NPM_AUTH_TOKEN';
|
|
71
|
-
const templateDir = opts.dualBranch
|
|
72
|
-
? path_1.default.join(TEMPLATE_ROOT, 'dual-branch')
|
|
73
|
-
: TEMPLATE_ROOT;
|
|
74
|
-
console.log(chalk_1.default.magenta(`Setting up ${opts.dualBranch ? 'dual-branch (main + dev)' : 'single-branch (main only)'} publish workflow...`));
|
|
75
|
-
console.log(` target: ${cwd}`);
|
|
76
|
-
console.log(` npm secret: ${npmSecretName} (${scope})`);
|
|
77
|
-
const pkgJsonPath = path_1.default.join(cwd, 'package.json');
|
|
78
|
-
if (!fs_extra_1.default.existsSync(pkgJsonPath)) {
|
|
79
|
-
console.error(chalk_1.default.red('No package.json found in current directory. Run from the repo root.'));
|
|
80
|
-
process.exit(1);
|
|
81
|
-
}
|
|
82
|
-
const pkgJson = JSON.parse(fs_extra_1.default.readFileSync(pkgJsonPath, 'utf8'));
|
|
83
|
-
const repoSlug = await resolveRepoSlug(cwd, pkgJson);
|
|
84
|
-
console.log(` repo: ${repoSlug}`);
|
|
85
|
-
console.log('');
|
|
86
|
-
// 1. Workflow files (with {{NPM_SECRET_NAME}} substitution in publish.yml)
|
|
87
|
-
await copyWorkflows(cwd, npmSecretName, templateDir);
|
|
88
|
-
// 2. Changesets config + README
|
|
89
|
-
await copyChangesetConfig(cwd, repoSlug, templateDir);
|
|
90
|
-
// 3. Initial changeset
|
|
91
|
-
await writeInitialChangeset(cwd, pkgJson.name);
|
|
92
|
-
// 4. .gitignore
|
|
93
|
-
await updateGitignore(cwd);
|
|
94
|
-
// 5. package.json patches
|
|
95
|
-
await patchPackageJson(pkgJsonPath, pkgJson);
|
|
96
|
-
// 6. npm install --package-lock-only to generate lockfile (if not present)
|
|
97
|
-
await ensureLockfile(cwd);
|
|
98
|
-
// 7. Optional: configure GitHub branch protection
|
|
99
|
-
if (opts.configureGithub) {
|
|
100
|
-
await configureGithub(repoSlug);
|
|
101
|
-
}
|
|
102
|
-
// 8. Optional: grant a GitHub team push access
|
|
103
|
-
if (opts.grantTeam) {
|
|
104
|
-
await grantTeamAccess(repoSlug, opts.grantTeam);
|
|
105
|
-
}
|
|
106
|
-
// Summary + manual steps
|
|
107
|
-
printNextSteps(repoSlug, npmSecretName, opts.configureGithub, opts.grantTeam);
|
|
108
|
-
}
|
|
109
|
-
async function resolveRepoSlug(cwd, pkgJson) {
|
|
110
|
-
// Try git remote first
|
|
111
|
-
try {
|
|
112
|
-
const remoteUrl = await (0, utils_js_1.execPromise)('git config --get remote.origin.url', false, false, { cwd });
|
|
113
|
-
const m = typeof remoteUrl === 'string' ? remoteUrl.match(/[:/]([^/:]+\/[^/]+?)(?:\.git)?\s*$/) : null;
|
|
114
|
-
if (m)
|
|
115
|
-
return m[1];
|
|
116
|
-
}
|
|
117
|
-
catch (_a) {
|
|
118
|
-
// fall through
|
|
119
|
-
}
|
|
120
|
-
// Fallback: parse package.json repository
|
|
121
|
-
const repoField = pkgJson.repository;
|
|
122
|
-
if (typeof repoField === 'string') {
|
|
123
|
-
const m = repoField.match(/github\.com[:/]([^/]+\/[^/]+?)(?:\.git)?$/);
|
|
124
|
-
if (m)
|
|
125
|
-
return m[1];
|
|
126
|
-
}
|
|
127
|
-
else if (repoField === null || repoField === void 0 ? void 0 : repoField.url) {
|
|
128
|
-
const m = repoField.url.match(/github\.com[:/]([^/]+\/[^/]+?)(?:\.git)?$/);
|
|
129
|
-
if (m)
|
|
130
|
-
return m[1];
|
|
131
|
-
}
|
|
132
|
-
console.warn(chalk_1.default.yellow('Could not determine repo slug. Using placeholder "OWNER/REPO" — update .changeset/config.json manually.'));
|
|
133
|
-
return 'OWNER/REPO';
|
|
134
|
-
}
|
|
135
|
-
async function copyWorkflows(cwd, npmSecretName, templateDir) {
|
|
136
|
-
const srcDir = path_1.default.join(templateDir, 'github', 'workflows');
|
|
137
|
-
const dstDir = path_1.default.join(cwd, '.github', 'workflows');
|
|
138
|
-
fs_extra_1.default.mkdirpSync(dstDir);
|
|
139
|
-
for (const file of ['ci.yml', 'publish.yml', 'changeset-check.yml']) {
|
|
140
|
-
let content = fs_extra_1.default.readFileSync(path_1.default.join(srcDir, file), 'utf8');
|
|
141
|
-
content = content.replace(/\{\{NPM_SECRET_NAME\}\}/g, npmSecretName);
|
|
142
|
-
fs_extra_1.default.writeFileSync(path_1.default.join(dstDir, file), content);
|
|
143
|
-
console.log(chalk_1.default.green(' ✓') + ` .github/workflows/${file}`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
async function copyChangesetConfig(cwd, repoSlug, templateDir) {
|
|
147
|
-
const srcDir = path_1.default.join(templateDir, 'changeset');
|
|
148
|
-
const dstDir = path_1.default.join(cwd, '.changeset');
|
|
149
|
-
fs_extra_1.default.mkdirpSync(dstDir);
|
|
150
|
-
let configContent = fs_extra_1.default.readFileSync(path_1.default.join(srcDir, 'config.json'), 'utf8');
|
|
151
|
-
configContent = configContent.replace(/\{\{REPO_SLUG\}\}/g, repoSlug);
|
|
152
|
-
fs_extra_1.default.writeFileSync(path_1.default.join(dstDir, 'config.json'), configContent);
|
|
153
|
-
console.log(chalk_1.default.green(' ✓') + ' .changeset/config.json');
|
|
154
|
-
fs_extra_1.default.copyFileSync(path_1.default.join(srcDir, 'README.md'), path_1.default.join(dstDir, 'README.md'));
|
|
155
|
-
console.log(chalk_1.default.green(' ✓') + ' .changeset/README.md');
|
|
156
|
-
}
|
|
157
|
-
async function writeInitialChangeset(cwd, pkgName) {
|
|
158
|
-
const changelogPath = path_1.default.join(cwd, 'CHANGELOG.md');
|
|
159
|
-
if (fs_extra_1.default.existsSync(changelogPath)) {
|
|
160
|
-
console.log(chalk_1.default.gray(' · CHANGELOG.md exists — skipping initial changeset'));
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
const initial = path_1.default.join(cwd, '.changeset', 'initial-release.md');
|
|
164
|
-
const body = `---\n'${pkgName}': patch\n---\n\nInitial release under the new publishing setup.\n`;
|
|
165
|
-
fs_extra_1.default.writeFileSync(initial, body);
|
|
166
|
-
console.log(chalk_1.default.green(' ✓') + ' .changeset/initial-release.md');
|
|
167
|
-
}
|
|
168
|
-
async function updateGitignore(cwd) {
|
|
169
|
-
const gitignorePath = path_1.default.join(cwd, '.gitignore');
|
|
170
|
-
const entries = [
|
|
171
|
-
'node_modules/',
|
|
172
|
-
'lib/',
|
|
173
|
-
'yarn.lock',
|
|
174
|
-
'*.log',
|
|
175
|
-
'.DS_Store',
|
|
176
|
-
'',
|
|
177
|
-
'# tsc sourcemap output — always in lib/, never src/.',
|
|
178
|
-
'# (.d.ts not ignored — hand-written type declarations like colors.d.ts',
|
|
179
|
-
'# are legit src files.)',
|
|
180
|
-
'src/**/*.js.map',
|
|
181
|
-
];
|
|
182
|
-
const existing = fs_extra_1.default.existsSync(gitignorePath)
|
|
183
|
-
? fs_extra_1.default.readFileSync(gitignorePath, 'utf8').split('\n')
|
|
184
|
-
: [];
|
|
185
|
-
const existingSet = new Set(existing.map((l) => l.trim()));
|
|
186
|
-
const toAdd = entries.filter((e) => e && !existingSet.has(e.trim()));
|
|
187
|
-
if (toAdd.length === 0) {
|
|
188
|
-
console.log(chalk_1.default.gray(' · .gitignore already has all entries'));
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const merged = [
|
|
192
|
-
...existing.filter((l) => l.trim() !== ''),
|
|
193
|
-
'',
|
|
194
|
-
...entries,
|
|
195
|
-
].join('\n');
|
|
196
|
-
fs_extra_1.default.writeFileSync(gitignorePath, merged + '\n');
|
|
197
|
-
console.log(chalk_1.default.green(' ✓') + ' .gitignore');
|
|
198
|
-
}
|
|
199
|
-
async function patchPackageJson(pkgJsonPath, pkgJson) {
|
|
200
|
-
let modified = false;
|
|
201
|
-
if (!pkgJson.publishConfig) {
|
|
202
|
-
pkgJson.publishConfig = { access: 'public' };
|
|
203
|
-
modified = true;
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
if (pkgJson.publishConfig.access !== 'public') {
|
|
207
|
-
pkgJson.publishConfig.access = 'public';
|
|
208
|
-
modified = true;
|
|
209
|
-
}
|
|
210
|
-
// Strip provenance: true — it requires OIDC (id-token: write permission +
|
|
211
|
-
// npm Trusted Publisher config), which conflicts with our NPM_AUTH_TOKEN
|
|
212
|
-
// flow. Users who want provenance should use OIDC separately.
|
|
213
|
-
if (pkgJson.publishConfig.provenance) {
|
|
214
|
-
delete pkgJson.publishConfig.provenance;
|
|
215
|
-
modified = true;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
pkgJson.devDependencies = pkgJson.devDependencies || {};
|
|
219
|
-
if (!pkgJson.devDependencies['@changesets/cli']) {
|
|
220
|
-
pkgJson.devDependencies['@changesets/cli'] = '^2.29.8';
|
|
221
|
-
modified = true;
|
|
222
|
-
}
|
|
223
|
-
if (!pkgJson.devDependencies['@changesets/changelog-github']) {
|
|
224
|
-
pkgJson.devDependencies['@changesets/changelog-github'] = '^0.5.2';
|
|
225
|
-
modified = true;
|
|
226
|
-
}
|
|
227
|
-
if (modified) {
|
|
228
|
-
fs_extra_1.default.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2) + '\n');
|
|
229
|
-
console.log(chalk_1.default.green(' ✓') + ' package.json (publishConfig + changesets devDeps)');
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
console.log(chalk_1.default.gray(' · package.json already configured'));
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
async function ensureLockfile(cwd) {
|
|
236
|
-
// Always regenerate — package.json has just been patched (new devDeps etc.),
|
|
237
|
-
// so any existing lockfile is stale.
|
|
238
|
-
console.log(chalk_1.default.magenta(' Running npm install --package-lock-only...'));
|
|
239
|
-
// When running inside a yarn workspace (e.g. CN's packages/* layout), npm
|
|
240
|
-
// climbs up, detects the parent workspace, and writes the lockfile at the
|
|
241
|
-
// wrong level. Work around by copying the package to a tmpdir, generating
|
|
242
|
-
// the lockfile in isolation, and copying it back.
|
|
243
|
-
const os = await Promise.resolve().then(() => __importStar(require('os')));
|
|
244
|
-
const tmpBase = fs_extra_1.default.mkdtempSync(path_1.default.join(os.tmpdir(), 'linked-setup-'));
|
|
245
|
-
const cacheDir = fs_extra_1.default.mkdtempSync(path_1.default.join(os.tmpdir(), 'linked-setup-cache-'));
|
|
246
|
-
try {
|
|
247
|
-
const pkgJsonPath = path_1.default.join(cwd, 'package.json');
|
|
248
|
-
fs_extra_1.default.copyFileSync(pkgJsonPath, path_1.default.join(tmpBase, 'package.json'));
|
|
249
|
-
await (0, utils_js_1.execp)(`npm install --legacy-peer-deps --package-lock-only --cache ${cacheDir}`, false, true, { cwd: tmpBase });
|
|
250
|
-
const lockPath = path_1.default.join(tmpBase, 'package-lock.json');
|
|
251
|
-
if (fs_extra_1.default.existsSync(lockPath)) {
|
|
252
|
-
fs_extra_1.default.copyFileSync(lockPath, path_1.default.join(cwd, 'package-lock.json'));
|
|
253
|
-
console.log(chalk_1.default.green(' ✓') + ' package-lock.json');
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
console.warn(chalk_1.default.yellow(' ⚠ npm install did not produce a package-lock.json — likely because a dependency is not yet published on npm.'));
|
|
257
|
-
console.warn(chalk_1.default.yellow(' Regenerate manually once all deps are published: `npm install --package-lock-only`.'));
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
catch (err) {
|
|
261
|
-
console.warn(chalk_1.default.yellow(' ⚠ Failed to generate package-lock.json — likely because a dependency is not yet published on npm.'));
|
|
262
|
-
console.warn(chalk_1.default.yellow(' Regenerate manually once all deps are published: `npm install --package-lock-only`.'));
|
|
263
|
-
}
|
|
264
|
-
finally {
|
|
265
|
-
fs_extra_1.default.removeSync(tmpBase);
|
|
266
|
-
fs_extra_1.default.removeSync(cacheDir);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
async function configureGithub(repoSlug) {
|
|
270
|
-
console.log('');
|
|
271
|
-
console.log(chalk_1.default.magenta('Configuring GitHub (branch protection)...'));
|
|
272
|
-
// Check gh CLI available
|
|
273
|
-
try {
|
|
274
|
-
await (0, utils_js_1.execPromise)('gh --version', false, false);
|
|
275
|
-
}
|
|
276
|
-
catch (_a) {
|
|
277
|
-
console.warn(chalk_1.default.yellow(' ⚠ `gh` CLI not found. Install from https://cli.github.com/ and retry with --configure-github,'));
|
|
278
|
-
console.warn(chalk_1.default.yellow(' or set branch protection manually at https://github.com/' + repoSlug + '/settings/branches'));
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
// Check gh CLI authenticated
|
|
282
|
-
try {
|
|
283
|
-
await (0, utils_js_1.execPromise)('gh auth status', false, false);
|
|
284
|
-
}
|
|
285
|
-
catch (_b) {
|
|
286
|
-
console.warn(chalk_1.default.yellow(' ⚠ `gh` CLI is not authenticated. Run `gh auth login` and retry.'));
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
const payload = JSON.stringify({
|
|
290
|
-
required_status_checks: { strict: true, contexts: ['Build & Test'] },
|
|
291
|
-
enforce_admins: false,
|
|
292
|
-
required_pull_request_reviews: null,
|
|
293
|
-
restrictions: null,
|
|
294
|
-
allow_force_pushes: false,
|
|
295
|
-
allow_deletions: false,
|
|
296
|
-
});
|
|
297
|
-
try {
|
|
298
|
-
// Use --input - to pass the JSON payload via stdin
|
|
299
|
-
await (0, utils_js_1.execPromise)(`echo '${payload.replace(/'/g, "'\\''")}' | gh api -X PUT /repos/${repoSlug}/branches/main/protection --input -`, false, false);
|
|
300
|
-
console.log(chalk_1.default.green(' ✓') + ` branch protection enabled on ${repoSlug}/main`);
|
|
301
|
-
}
|
|
302
|
-
catch (err) {
|
|
303
|
-
console.warn(chalk_1.default.yellow(' ⚠ Failed to set branch protection. Do it manually:'));
|
|
304
|
-
console.warn(chalk_1.default.yellow(` https://github.com/${repoSlug}/settings/branches`));
|
|
305
|
-
}
|
|
306
|
-
// Enable "Allow auto-merge" so the post-release back-merge PR (dual-branch) self-merges once
|
|
307
|
-
// checks pass. Harmless for single-branch repos. The publish workflow authors release/back-merge
|
|
308
|
-
// PRs via the org App token (org secrets RELEASE_APP_ID / RELEASE_APP_PRIVATE_KEY) so their CI
|
|
309
|
-
// runs without a manual approval gate.
|
|
310
|
-
try {
|
|
311
|
-
await (0, utils_js_1.execPromise)(`gh api -X PATCH /repos/${repoSlug} -F allow_auto_merge=true`, false, false);
|
|
312
|
-
console.log(chalk_1.default.green(' ✓') + ` auto-merge enabled on ${repoSlug}`);
|
|
313
|
-
}
|
|
314
|
-
catch (err) {
|
|
315
|
-
console.warn(chalk_1.default.yellow(' ⚠ Failed to enable auto-merge. Enable it manually:'));
|
|
316
|
-
console.warn(chalk_1.default.yellow(` https://github.com/${repoSlug}/settings (General → Allow auto-merge)`));
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
async function grantTeamAccess(repoSlug, teamSlug) {
|
|
320
|
-
console.log('');
|
|
321
|
-
console.log(chalk_1.default.magenta(`Granting '${teamSlug}' team push access to ${repoSlug}...`));
|
|
322
|
-
try {
|
|
323
|
-
await (0, utils_js_1.execPromise)('gh --version', false, false);
|
|
324
|
-
}
|
|
325
|
-
catch (_a) {
|
|
326
|
-
console.warn(chalk_1.default.yellow(" ⚠ `gh` CLI not found. Install from https://cli.github.com/ and retry with --grant-team,"));
|
|
327
|
-
console.warn(chalk_1.default.yellow(` or add the team manually at https://github.com/${repoSlug}/settings/access`));
|
|
328
|
-
return;
|
|
329
|
-
}
|
|
330
|
-
const [owner, repo] = repoSlug.split('/');
|
|
331
|
-
try {
|
|
332
|
-
await (0, utils_js_1.execPromise)(`gh api -X PUT /orgs/${owner}/teams/${teamSlug}/repos/${owner}/${repo} -f permission=push`, false, false);
|
|
333
|
-
console.log(chalk_1.default.green(' ✓') + ` team '${teamSlug}' granted push access on ${repoSlug}`);
|
|
334
|
-
}
|
|
335
|
-
catch (err) {
|
|
336
|
-
const msg = (err === null || err === void 0 ? void 0 : err.stderr) || (err === null || err === void 0 ? void 0 : err.stdout) || String(err);
|
|
337
|
-
console.warn(chalk_1.default.yellow(` ⚠ Failed to grant team access: ${msg.slice(0, 200)}`));
|
|
338
|
-
console.warn(chalk_1.default.yellow(` Team may not exist in org '${owner}', or you may lack admin rights.`));
|
|
339
|
-
console.warn(chalk_1.default.yellow(` Manual: https://github.com/${repoSlug}/settings/access`));
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
function printNextSteps(repoSlug, npmSecretName, configuredGithub, grantedTeam) {
|
|
343
|
-
console.log('');
|
|
344
|
-
console.log(chalk_1.default.green('Done.'));
|
|
345
|
-
console.log('');
|
|
346
|
-
console.log(chalk_1.default.bold('Next steps:'));
|
|
347
|
-
console.log('');
|
|
348
|
-
console.log(` 1. Review the generated files, adjust as needed.`);
|
|
349
|
-
console.log(` 2. Commit:`);
|
|
350
|
-
console.log(chalk_1.default.cyan(' git add . && git commit -m "set up single-branch publish workflow"'));
|
|
351
|
-
console.log(` 3. Push to main — the publish workflow will trigger.`);
|
|
352
|
-
console.log('');
|
|
353
|
-
console.log(chalk_1.default.bold('One-time org-level setup (if not already done):'));
|
|
354
|
-
console.log('');
|
|
355
|
-
console.log(` a. Create an org secret ${chalk_1.default.cyan(npmSecretName)} with a granular npm token`);
|
|
356
|
-
console.log(` (2FA-bypass, write access to the @_linked* scope).`);
|
|
357
|
-
console.log(` → https://github.com/organizations/${repoSlug.split('/')[0]}/settings/secrets/actions`);
|
|
358
|
-
console.log('');
|
|
359
|
-
console.log(` b. Enable "Allow GitHub Actions to create and approve pull requests":`);
|
|
360
|
-
console.log(` → https://github.com/organizations/${repoSlug.split('/')[0]}/settings/actions`);
|
|
361
|
-
if (!configuredGithub) {
|
|
362
|
-
console.log('');
|
|
363
|
-
console.log(chalk_1.default.bold('Branch protection:'));
|
|
364
|
-
console.log(` Rerun with ${chalk_1.default.cyan('linked setup-publish --configure-github')} to configure automatically,`);
|
|
365
|
-
console.log(` or set manually at https://github.com/${repoSlug}/settings/branches`);
|
|
366
|
-
}
|
|
367
|
-
console.log('');
|
|
368
|
-
}
|
|
369
|
-
//# sourceMappingURL=setup-publish.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-publish.js","sourceRoot":"","sources":["../../../src/commands/setup-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgJD,wBAAsB,aAAa,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmK1E"}
|