@factiii/stack 0.1.2 ā 0.1.8
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/bin/factiii +13 -0
- package/dist/cli/pr-check.d.ts +24 -0
- package/dist/cli/pr-check.d.ts.map +1 -0
- package/dist/cli/pr-check.js +153 -0
- package/dist/cli/pr-check.js.map +1 -0
- package/dist/plugins/addons/server-mode/index.d.ts.map +1 -1
- package/dist/plugins/addons/server-mode/index.js +3 -0
- package/dist/plugins/addons/server-mode/index.js.map +1 -1
- package/dist/plugins/addons/server-mode/scanfix/mac.d.ts +20 -3
- package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -1
- package/dist/plugins/addons/server-mode/scanfix/mac.js +304 -177
- package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -1
- package/dist/plugins/addons/server-mode/scanfix/tart.d.ts +19 -0
- package/dist/plugins/addons/server-mode/scanfix/tart.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/tart.js +350 -0
- package/dist/plugins/addons/server-mode/scanfix/tart.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/configs/free-tier.js +3 -38
- package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -1
- package/dist/plugins/pipelines/aws/index.d.ts +4 -1
- package/dist/plugins/pipelines/aws/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/index.js +101 -29
- package/dist/plugins/pipelines/aws/index.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts +9 -0
- package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/credentials.js +196 -0
- package/dist/plugins/pipelines/aws/scanfix/credentials.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/db-replication.d.ts +13 -0
- package/dist/plugins/pipelines/aws/scanfix/db-replication.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/db-replication.js +136 -0
- package/dist/plugins/pipelines/aws/scanfix/db-replication.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts +10 -0
- package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ec2.js +279 -0
- package/dist/plugins/pipelines/aws/scanfix/ec2.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ecr.d.ts +9 -0
- package/dist/plugins/pipelines/aws/scanfix/ecr.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ecr.js +100 -0
- package/dist/plugins/pipelines/aws/scanfix/ecr.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/iam.d.ts +10 -0
- package/dist/plugins/pipelines/aws/scanfix/iam.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/iam.js +255 -0
- package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/rds.d.ts +10 -0
- package/dist/plugins/pipelines/aws/scanfix/rds.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/rds.js +261 -0
- package/dist/plugins/pipelines/aws/scanfix/rds.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/s3.d.ts +9 -0
- package/dist/plugins/pipelines/aws/scanfix/s3.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/s3.js +134 -0
- package/dist/plugins/pipelines/aws/scanfix/s3.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/security-groups.d.ts +10 -0
- package/dist/plugins/pipelines/aws/scanfix/security-groups.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/security-groups.js +225 -0
- package/dist/plugins/pipelines/aws/scanfix/security-groups.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ses.d.ts +9 -0
- package/dist/plugins/pipelines/aws/scanfix/ses.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ses.js +174 -0
- package/dist/plugins/pipelines/aws/scanfix/ses.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/vpc.d.ts +9 -0
- package/dist/plugins/pipelines/aws/scanfix/vpc.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/vpc.js +237 -0
- package/dist/plugins/pipelines/aws/scanfix/vpc.js.map +1 -0
- package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts +50 -0
- package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/utils/aws-helpers.js +137 -0
- package/dist/plugins/pipelines/aws/utils/aws-helpers.js.map +1 -0
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/index.js +11 -0
- package/dist/plugins/pipelines/factiii/index.js.map +1 -1
- package/dist/plugins/pipelines/factiii/pr-check.d.ts +35 -0
- package/dist/plugins/pipelines/factiii/pr-check.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/pr-check.js +202 -0
- package/dist/plugins/pipelines/factiii/pr-check.js.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/utils/workflows.js +1 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -1
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +8 -3
- package/dist/plugins/pipelines/factiii/workflows/factiii-pr-check.yml +103 -0
- package/dist/plugins/servers/mac/staging.d.ts.map +1 -1
- package/dist/plugins/servers/mac/staging.js +304 -52
- package/dist/plugins/servers/mac/staging.js.map +1 -1
- package/dist/types/config.d.ts +11 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/github-status.d.ts +39 -0
- package/dist/utils/github-status.d.ts.map +1 -0
- package/dist/utils/github-status.js +172 -0
- package/dist/utils/github-status.js.map +1 -0
- package/package.json +3 -3
package/bin/factiii
CHANGED
|
@@ -11,6 +11,7 @@ const { init } = require('../dist/cli/init');
|
|
|
11
11
|
const { scan } = require('../dist/cli/scan');
|
|
12
12
|
const { fix } = require('../dist/cli/fix');
|
|
13
13
|
const { deploy } = require('../dist/cli/deploy');
|
|
14
|
+
const { prCheck } = require('../dist/cli/pr-check');
|
|
14
15
|
const { undeploy } = require('../dist/cli/undeploy');
|
|
15
16
|
const { secrets } = require('../dist/cli/secrets');
|
|
16
17
|
const { upgrade } = require('../dist/cli/upgrade');
|
|
@@ -70,6 +71,18 @@ program
|
|
|
70
71
|
await fix(options);
|
|
71
72
|
});
|
|
72
73
|
|
|
74
|
+
// PR Check command (validates builds before merge)
|
|
75
|
+
program
|
|
76
|
+
.command('pr-check')
|
|
77
|
+
.description('Run server/client/mobile builds and report to GitHub (for PR validation)')
|
|
78
|
+
.option('--staging', 'Run on staging server')
|
|
79
|
+
.action(async (options) => {
|
|
80
|
+
const result = await prCheck(options);
|
|
81
|
+
if (!result.success) {
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
73
86
|
// Deploy command
|
|
74
87
|
program
|
|
75
88
|
.command('deploy')
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PR Check Command
|
|
3
|
+
*
|
|
4
|
+
* Validates that server/client/mobile builds succeed before PR merge.
|
|
5
|
+
* Per STANDARDS: Delegates to pipeline plugin for routing.
|
|
6
|
+
*
|
|
7
|
+
* Flow:
|
|
8
|
+
* - When running on server (GITHUB_ACTIONS=true): runs builds, reports to GitHub
|
|
9
|
+
* - When running from dev machine: SSHs to staging and runs pr-check there (if canReach=ssh)
|
|
10
|
+
*/
|
|
11
|
+
export interface PRCheckOptions {
|
|
12
|
+
rootDir?: string;
|
|
13
|
+
staging?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface PRCheckResult {
|
|
16
|
+
success: boolean;
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Run PR check - entry point for CLI
|
|
21
|
+
*/
|
|
22
|
+
export declare function prCheck(options?: PRCheckOptions): Promise<PRCheckResult>;
|
|
23
|
+
export default prCheck;
|
|
24
|
+
//# sourceMappingURL=pr-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-check.d.ts","sourceRoot":"","sources":["../../src/cli/pr-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA4BH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyBD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqFlF;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PR Check Command
|
|
4
|
+
*
|
|
5
|
+
* Validates that server/client/mobile builds succeed before PR merge.
|
|
6
|
+
* Per STANDARDS: Delegates to pipeline plugin for routing.
|
|
7
|
+
*
|
|
8
|
+
* Flow:
|
|
9
|
+
* - When running on server (GITHUB_ACTIONS=true): runs builds, reports to GitHub
|
|
10
|
+
* - When running from dev machine: SSHs to staging and runs pr-check there (if canReach=ssh)
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.prCheck = prCheck;
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const path = __importStar(require("path"));
|
|
52
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
53
|
+
const index_js_1 = require("../plugins/index.js");
|
|
54
|
+
const ssh_helper_js_1 = require("../utils/ssh-helper.js");
|
|
55
|
+
const github_status_js_1 = require("../utils/github-status.js");
|
|
56
|
+
const pr_check_js_1 = require("../plugins/pipelines/factiii/pr-check.js");
|
|
57
|
+
const config_helpers_js_1 = require("../utils/config-helpers.js");
|
|
58
|
+
function loadConfig(rootDir) {
|
|
59
|
+
const configPath = path.join(rootDir, 'factiii.yml');
|
|
60
|
+
if (!fs.existsSync(configPath)) {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
return js_yaml_1.default.load(fs.readFileSync(configPath, 'utf8')) ?? {};
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return {};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function formatBuildReport(results) {
|
|
71
|
+
const lines = ['## Factiii PR Check ā Build Results\n'];
|
|
72
|
+
for (const r of results) {
|
|
73
|
+
const icon = r.success ? 'ā
' : 'ā';
|
|
74
|
+
lines.push(`### ${icon} ${r.name}`);
|
|
75
|
+
lines.push(r.success ? 'Succeeded' : '```\n' + r.output + '\n```');
|
|
76
|
+
lines.push('');
|
|
77
|
+
}
|
|
78
|
+
return lines.join('\n');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Run PR check - entry point for CLI
|
|
82
|
+
*/
|
|
83
|
+
async function prCheck(options = {}) {
|
|
84
|
+
const rootDir = options.rootDir ?? process.cwd();
|
|
85
|
+
const config = loadConfig(rootDir);
|
|
86
|
+
const environments = (0, config_helpers_js_1.extractEnvironments)(config);
|
|
87
|
+
const stagingConfig = environments.staging;
|
|
88
|
+
if (!stagingConfig?.domain) {
|
|
89
|
+
console.log('\nā Staging not configured in factiii.yml (staging.domain required)');
|
|
90
|
+
return { success: false, error: 'Staging not configured' };
|
|
91
|
+
}
|
|
92
|
+
const plugins = await (0, index_js_1.loadRelevantPlugins)(rootDir, config);
|
|
93
|
+
const pipelinePlugin = plugins.find((p) => p.category === 'pipeline');
|
|
94
|
+
if (!pipelinePlugin?.canReach) {
|
|
95
|
+
console.log('\nā No pipeline plugin found');
|
|
96
|
+
return { success: false, error: 'No pipeline plugin' };
|
|
97
|
+
}
|
|
98
|
+
const reach = pipelinePlugin.canReach('staging', config);
|
|
99
|
+
if (!reach.reachable) {
|
|
100
|
+
console.log('\nā Cannot reach staging: ' + reach.reason);
|
|
101
|
+
return { success: false, error: reach.reason };
|
|
102
|
+
}
|
|
103
|
+
// On server: run builds directly and report
|
|
104
|
+
if (process.env.GITHUB_ACTIONS === 'true' || process.env.FACTIII_ON_SERVER === 'true') {
|
|
105
|
+
// When SSH'd from workflow, we're run with cwd=repo (workflow does: cd $REPO_DIR && npx factiii pr-check)
|
|
106
|
+
const repoName = config.name ?? 'app';
|
|
107
|
+
const defaultRepoDir = path.join(process.env.HOME ?? '', '.factiii', repoName);
|
|
108
|
+
const repoDir = fs.existsSync(path.join(process.cwd(), 'factiii.yml'))
|
|
109
|
+
? process.cwd()
|
|
110
|
+
: defaultRepoDir;
|
|
111
|
+
if (!fs.existsSync(repoDir)) {
|
|
112
|
+
console.log('\nā Repo not found at ' + repoDir);
|
|
113
|
+
return { success: false, error: 'Repo not found' };
|
|
114
|
+
}
|
|
115
|
+
const sha = process.env.COMMIT_HASH ?? process.env.GITHUB_SHA ?? '';
|
|
116
|
+
const prNum = (0, github_status_js_1.getPRNumber)();
|
|
117
|
+
console.log('\nš Running PR check builds...\n');
|
|
118
|
+
await (0, github_status_js_1.reportCommitStatus)(sha, 'pending', 'Running server/client/mobile builds...', 'factiii/pr-check');
|
|
119
|
+
const buildResult = await (0, pr_check_js_1.runBuilds)(repoDir, config, {
|
|
120
|
+
commit: sha || undefined,
|
|
121
|
+
branch: process.env.BRANCH ?? process.env.GITHUB_REF_NAME,
|
|
122
|
+
});
|
|
123
|
+
const finalState = buildResult.success ? 'success' : 'failure';
|
|
124
|
+
const desc = buildResult.success
|
|
125
|
+
? 'All builds passed'
|
|
126
|
+
: 'One or more builds failed';
|
|
127
|
+
await (0, github_status_js_1.reportCommitStatus)(sha, finalState, desc, 'factiii/pr-check');
|
|
128
|
+
if (prNum && buildResult.results.length > 0) {
|
|
129
|
+
await (0, github_status_js_1.reportPRComment)(prNum, formatBuildReport(buildResult.results));
|
|
130
|
+
}
|
|
131
|
+
for (const r of buildResult.results) {
|
|
132
|
+
const icon = r.success ? 'ā
' : 'ā';
|
|
133
|
+
console.log(` ${icon} ${r.name}: ${r.success ? 'OK' : r.output}`);
|
|
134
|
+
}
|
|
135
|
+
console.log('\n' + (buildResult.success ? 'ā
All builds passed' : 'ā Build(s) failed'));
|
|
136
|
+
return { success: buildResult.success };
|
|
137
|
+
}
|
|
138
|
+
// From dev machine: SSH to staging and run pr-check there
|
|
139
|
+
if (reach.via === 'ssh') {
|
|
140
|
+
console.log('\nš Running PR check via SSH on staging...\n');
|
|
141
|
+
const result = (0, ssh_helper_js_1.sshRemoteFactiiiCommand)('staging', config, 'pr-check --staging');
|
|
142
|
+
return {
|
|
143
|
+
success: result.success,
|
|
144
|
+
error: result.success ? undefined : result.stderr,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// Workflow: tell user to open a PR
|
|
148
|
+
console.log('\nā ļø PR check runs automatically when you open a PR to main.');
|
|
149
|
+
console.log(' Ensure factiii-pr-check.yml workflow is committed.');
|
|
150
|
+
return { success: true };
|
|
151
|
+
}
|
|
152
|
+
exports.default = prCheck;
|
|
153
|
+
//# sourceMappingURL=pr-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-check.js","sourceRoot":"","sources":["../../src/cli/pr-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/addons/server-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,GAAG,EACH,QAAQ,EACT,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/addons/server-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,GAAG,EACH,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAQjC,cAAM,eAAe;IAKnB,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB;IACrC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAW;IAC5C,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAGlC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAG/C,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnD;IAGF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE9D;;;OAGG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBlF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAS1B;IAMF;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE;IAYzC,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,aAAa;CAGlC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -70,6 +70,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
70
70
|
const mac_js_1 = require("./scanfix/mac.js");
|
|
71
71
|
const ubuntu_js_1 = require("./scanfix/ubuntu.js");
|
|
72
72
|
const windows_js_1 = require("./scanfix/windows.js");
|
|
73
|
+
const tart_js_1 = require("./scanfix/tart.js");
|
|
73
74
|
class ServerModeAddon {
|
|
74
75
|
// ============================================================
|
|
75
76
|
// STATIC METADATA
|
|
@@ -108,6 +109,8 @@ class ServerModeAddon {
|
|
|
108
109
|
...ubuntu_js_1.ubuntuFixes,
|
|
109
110
|
// Windows fixes
|
|
110
111
|
...windows_js_1.windowsFixes,
|
|
112
|
+
// Tart VM infrastructure fixes
|
|
113
|
+
...tart_js_1.tartFixes,
|
|
111
114
|
];
|
|
112
115
|
// ============================================================
|
|
113
116
|
// HELPER METHODS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/addons/server-mode/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,oCAAoC;AACpC,6CAA4C;AAC5C,mDAAkD;AAClD,qDAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/addons/server-mode/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,oCAAoC;AACpC,6CAA4C;AAC5C,mDAAkD;AAClD,qDAAoD;AACpD,+CAA8C;AAE9C,MAAM,eAAe;IACnB,+DAA+D;IAC/D,kBAAkB;IAClB,+DAA+D;IAE/D,MAAM,CAAU,EAAE,GAAG,aAAa,CAAC;IACnC,MAAM,CAAU,IAAI,GAAG,aAAa,CAAC;IACrC,MAAM,CAAU,QAAQ,GAAY,OAAO,CAAC;IAC5C,MAAM,CAAU,OAAO,GAAG,OAAO,CAAC;IAElC,+BAA+B;IAC/B,MAAM,CAAU,eAAe,GAAa,EAAE,CAAC;IAE/C,yCAAyC;IACzC,MAAM,CAAU,YAAY,GAA4B;IACtD,8DAA8D;KAC/D,CAAC;IAEF,6CAA6C;IAC7C,MAAM,CAAU,gBAAgB,GAA2B,EAAE,CAAC;IAE9D;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,MAAqB;QAC7D,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;QACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEjD,mDAAmD;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC5C,GAAG,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,uDAAuD;IACvD,+DAA+D;IAC/D,kDAAkD;IAClD,+DAA+D;IAE/D,MAAM,CAAU,KAAK,GAAU;QAC7B,YAAY;QACZ,GAAG,iBAAQ;QACX,eAAe;QACf,GAAG,uBAAW;QACd,gBAAgB;QAChB,GAAG,yBAAY;QACf,+BAA+B;QAC/B,GAAG,mBAAS;KACb,CAAC;IAEF,+DAA+D;IAC/D,iBAAiB;IACjB,+DAA+D;IAE/D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,EAAY;QAC/B,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,CAAC,gCAAgC;YAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAEvD,OAAO,CAAgB;IAE/B,YAAY,MAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;;AAGH,kBAAe,eAAe,CAAC"}
|
|
@@ -4,13 +4,30 @@
|
|
|
4
4
|
* Fixes for configuring Mac as a deployment server HOST (no Docker/dev tools).
|
|
5
5
|
* Focus: what makes a Mac reliable as a server.
|
|
6
6
|
*
|
|
7
|
+
* Power Management (pmset):
|
|
7
8
|
* - Disable sleep (system, disk, display)
|
|
8
9
|
* - Auto-restart on power loss
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
10
|
+
* - Fully disable sleep (disablesleep)
|
|
11
|
+
* - Wake on LAN (womp)
|
|
12
|
+
* - Disable hibernate
|
|
13
|
+
* - Disable standby
|
|
14
|
+
* - Disable Power Nap
|
|
15
|
+
* - Disable proximity wake
|
|
16
|
+
* - Keep awake during SSH (ttyskeepawake)
|
|
17
|
+
*
|
|
18
|
+
* System Services:
|
|
19
|
+
* - Disable screensaver (-currentHost)
|
|
11
20
|
* - Enable SSH (Remote Login)
|
|
12
21
|
* - Disable App Nap
|
|
13
|
-
* -
|
|
22
|
+
* - Disable Spotlight indexing
|
|
23
|
+
* - Disable Time Machine
|
|
24
|
+
* - Disable auto-update restart
|
|
25
|
+
* - Disable Bluetooth (manual)
|
|
26
|
+
* - Auto-login on boot (manual)
|
|
27
|
+
*
|
|
28
|
+
* Network/Security:
|
|
29
|
+
* - Enable NTP (network time)
|
|
30
|
+
* - Disable file sharing (manual)
|
|
14
31
|
*/
|
|
15
32
|
import type { Fix } from '../../../../types/index.js';
|
|
16
33
|
export declare const macFixes: Fix[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mac.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/server-mode/scanfix/mac.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mac.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/server-mode/scanfix/mac.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,4BAA4B,CAAC;AA+C/E,eAAO,MAAM,QAAQ,EAAE,GAAG,EA0dzB,CAAC"}
|