trustlocal 0.1.5 → 0.2.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.
Files changed (41) hide show
  1. package/README.md +38 -37
  2. package/dist/commands/doctor.d.ts +8 -0
  3. package/dist/commands/doctor.d.ts.map +1 -0
  4. package/dist/commands/doctor.js +200 -0
  5. package/dist/commands/doctor.js.map +1 -0
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +53 -0
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/remove.d.ts +17 -0
  10. package/dist/commands/remove.d.ts.map +1 -0
  11. package/dist/commands/remove.js +216 -0
  12. package/dist/commands/remove.js.map +1 -0
  13. package/dist/commands/status.d.ts.map +1 -1
  14. package/dist/commands/status.js +12 -3
  15. package/dist/commands/status.js.map +1 -1
  16. package/dist/commands/sync.d.ts.map +1 -1
  17. package/dist/commands/sync.js +33 -0
  18. package/dist/commands/sync.js.map +1 -1
  19. package/dist/detector/framework.d.ts +1 -1
  20. package/dist/detector/framework.d.ts.map +1 -1
  21. package/dist/detector/framework.js +47 -0
  22. package/dist/detector/framework.js.map +1 -1
  23. package/dist/index.js +20 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/injectors/astro.d.ts +6 -0
  26. package/dist/injectors/astro.d.ts.map +1 -0
  27. package/dist/injectors/astro.js +58 -0
  28. package/dist/injectors/astro.js.map +1 -0
  29. package/dist/injectors/fastify.d.ts +5 -0
  30. package/dist/injectors/fastify.d.ts.map +1 -0
  31. package/dist/injectors/fastify.js +42 -0
  32. package/dist/injectors/fastify.js.map +1 -0
  33. package/dist/injectors/nestjs.d.ts +5 -0
  34. package/dist/injectors/nestjs.d.ts.map +1 -0
  35. package/dist/injectors/nestjs.js +43 -0
  36. package/dist/injectors/nestjs.js.map +1 -0
  37. package/dist/injectors/nuxt.d.ts +8 -0
  38. package/dist/injectors/nuxt.d.ts.map +1 -0
  39. package/dist/injectors/nuxt.js +94 -0
  40. package/dist/injectors/nuxt.js.map +1 -0
  41. package/package.json +9 -2
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INJECTION_MARKER = exports.ENV_KEY = void 0;
4
+ exports.injectFastify = injectFastify;
5
+ exports.printFastifySnippet = printFastifySnippet;
6
+ /**
7
+ * Fastify injector
8
+ * Does NOT modify the server file — too risky, too variable.
9
+ * Sets NODE_EXTRA_CA_CERTS in .env and prints a code snippet.
10
+ */
11
+ const promises_1 = require("fs/promises");
12
+ const logger_1 = require("../utils/logger");
13
+ exports.ENV_KEY = 'NODE_EXTRA_CA_CERTS';
14
+ exports.INJECTION_MARKER = '# trustlocal:NODE_EXTRA_CA_CERTS';
15
+ async function injectFastify(envPath, caRootPem) {
16
+ let content = '';
17
+ try {
18
+ content = await (0, promises_1.readFile)(envPath, 'utf-8');
19
+ }
20
+ catch { /* .env doesn't exist */ }
21
+ if (content.includes(exports.INJECTION_MARKER) || content.includes(`${exports.ENV_KEY}=`)) {
22
+ return false;
23
+ }
24
+ const line = `${exports.INJECTION_MARKER}\n${exports.ENV_KEY}=${caRootPem}\n`;
25
+ const newContent = content ? `${content.trimEnd()}\n\n${line}` : line;
26
+ await (0, promises_1.writeFile)(envPath, newContent, 'utf-8');
27
+ return true;
28
+ }
29
+ function printFastifySnippet(certDir) {
30
+ logger_1.logger.blank();
31
+ logger_1.logger.info('Add HTTPS to your Fastify server:');
32
+ logger_1.logger.blank();
33
+ logger_1.logger.info(" const fs = require('fs');");
34
+ logger_1.logger.info(" const fastify = require('fastify')({");
35
+ logger_1.logger.info(' https: {');
36
+ logger_1.logger.info(` key: fs.readFileSync('${certDir}/localhost-key.pem'),`);
37
+ logger_1.logger.info(` cert: fs.readFileSync('${certDir}/localhost.pem'),`);
38
+ logger_1.logger.info(' },');
39
+ logger_1.logger.info(' });');
40
+ logger_1.logger.blank();
41
+ }
42
+ //# sourceMappingURL=fastify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/injectors/fastify.ts"],"names":[],"mappings":";;;AAWA,sCAcC;AAED,kDAYC;AAvCD;;;;GAIG;AACH,0CAAkD;AAClD,4CAAyC;AAE5B,QAAA,OAAO,GAAG,qBAAqB,CAAC;AAChC,QAAA,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,SAAiB;IACpE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEpC,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAgB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,eAAO,GAAG,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,wBAAgB,KAAK,eAAO,IAAI,SAAS,IAAI,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,IAAA,oBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAe;IACjD,eAAM,CAAC,KAAK,EAAE,CAAC;IACf,eAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACjD,eAAM,CAAC,KAAK,EAAE,CAAC;IACf,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAChD,eAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACtD,eAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,eAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,uBAAuB,CAAC,CAAC;IAC5E,eAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,mBAAmB,CAAC,CAAC;IACxE,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,eAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const ENV_KEY = "NODE_EXTRA_CA_CERTS";
2
+ export declare const INJECTION_MARKER = "# trustlocal:NODE_EXTRA_CA_CERTS";
3
+ export declare function injectNestjs(envPath: string, caRootPem: string): Promise<boolean>;
4
+ export declare function printNestjsSnippet(certDir: string): void;
5
+ //# sourceMappingURL=nestjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.d.ts","sourceRoot":"","sources":["../../src/injectors/nestjs.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,OAAO,wBAAwB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AAEnE,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcvF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAaxD"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INJECTION_MARKER = exports.ENV_KEY = void 0;
4
+ exports.injectNestjs = injectNestjs;
5
+ exports.printNestjsSnippet = printNestjsSnippet;
6
+ /**
7
+ * NestJS injector
8
+ * Does NOT modify main.ts — too risky.
9
+ * Sets NODE_EXTRA_CA_CERTS in .env and prints a code snippet.
10
+ */
11
+ const promises_1 = require("fs/promises");
12
+ const logger_1 = require("../utils/logger");
13
+ exports.ENV_KEY = 'NODE_EXTRA_CA_CERTS';
14
+ exports.INJECTION_MARKER = '# trustlocal:NODE_EXTRA_CA_CERTS';
15
+ async function injectNestjs(envPath, caRootPem) {
16
+ let content = '';
17
+ try {
18
+ content = await (0, promises_1.readFile)(envPath, 'utf-8');
19
+ }
20
+ catch { /* .env doesn't exist */ }
21
+ if (content.includes(exports.INJECTION_MARKER) || content.includes(`${exports.ENV_KEY}=`)) {
22
+ return false;
23
+ }
24
+ const line = `${exports.INJECTION_MARKER}\n${exports.ENV_KEY}=${caRootPem}\n`;
25
+ const newContent = content ? `${content.trimEnd()}\n\n${line}` : line;
26
+ await (0, promises_1.writeFile)(envPath, newContent, 'utf-8');
27
+ return true;
28
+ }
29
+ function printNestjsSnippet(certDir) {
30
+ logger_1.logger.blank();
31
+ logger_1.logger.info('Add HTTPS to your NestJS app (src/main.ts):');
32
+ logger_1.logger.blank();
33
+ logger_1.logger.info(" import * as fs from 'fs';");
34
+ logger_1.logger.info('');
35
+ logger_1.logger.info(' const httpsOptions = {');
36
+ logger_1.logger.info(` key: fs.readFileSync('${certDir}/localhost-key.pem'),`);
37
+ logger_1.logger.info(` cert: fs.readFileSync('${certDir}/localhost.pem'),`);
38
+ logger_1.logger.info(' };');
39
+ logger_1.logger.blank();
40
+ logger_1.logger.info(' const app = await NestFactory.create(AppModule, { httpsOptions });');
41
+ logger_1.logger.blank();
42
+ }
43
+ //# sourceMappingURL=nestjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.js","sourceRoot":"","sources":["../../src/injectors/nestjs.ts"],"names":[],"mappings":";;;AAWA,oCAcC;AAED,gDAaC;AAxCD;;;;GAIG;AACH,0CAAkD;AAClD,4CAAyC;AAE5B,QAAA,OAAO,GAAG,qBAAqB,CAAC;AAChC,QAAA,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,SAAiB;IACnE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEpC,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAgB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,eAAO,GAAG,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,wBAAgB,KAAK,eAAO,IAAI,SAAS,IAAI,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,IAAA,oBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAChD,eAAM,CAAC,KAAK,EAAE,CAAC;IACf,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC3D,eAAM,CAAC,KAAK,EAAE,CAAC;IACf,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC3C,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxC,eAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,uBAAuB,CAAC,CAAC;IAC1E,eAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,mBAAmB,CAAC,CAAC;IACtE,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,eAAM,CAAC,KAAK,EAAE,CAAC;IACf,eAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACpF,eAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const INJECTION_MARKER = "// trustlocal:https";
2
+ export interface InjectResult {
3
+ alreadyConfigured: boolean;
4
+ created: boolean;
5
+ }
6
+ export declare function injectIntoSource(source: string): string | null;
7
+ export declare function injectNuxt(configPath: string): Promise<InjectResult>;
8
+ //# sourceMappingURL=nuxt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nuxt.d.ts","sourceRoot":"","sources":["../../src/injectors/nuxt.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AA4BtD,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAUD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB9D;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA+B1E"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INJECTION_MARKER = void 0;
4
+ exports.injectIntoSource = injectIntoSource;
5
+ exports.injectNuxt = injectNuxt;
6
+ /**
7
+ * Nuxt injector
8
+ * Injects devServer.https into nuxt.config.ts using AST-based insertion.
9
+ * Nuxt devServer.https accepts file paths as strings (not Buffer/stream).
10
+ */
11
+ const promises_1 = require("fs/promises");
12
+ const backup_1 = require("../utils/backup");
13
+ const astHelper_1 = require("./astHelper");
14
+ exports.INJECTION_MARKER = '// trustlocal:https';
15
+ const CERT_DIR = '.trustlocal';
16
+ function buildDevServerBlock(indent) {
17
+ return `
18
+ ${indent}${exports.INJECTION_MARKER}
19
+ ${indent}devServer: {
20
+ ${indent} https: {
21
+ ${indent} key: '${CERT_DIR}/localhost-key.pem',
22
+ ${indent} cert: '${CERT_DIR}/localhost.pem',
23
+ ${indent} },
24
+ ${indent}},`;
25
+ }
26
+ function buildNewConfigFile() {
27
+ return `${exports.INJECTION_MARKER}
28
+ // https://nuxt.com/docs/api/configuration/nuxt-config
29
+ export default defineNuxtConfig({
30
+ devServer: {
31
+ https: {
32
+ key: '${CERT_DIR}/localhost-key.pem',
33
+ cert: '${CERT_DIR}/localhost.pem',
34
+ },
35
+ },
36
+ });
37
+ `;
38
+ }
39
+ function detectIndent(source, configObj) {
40
+ if (configObj.start === null || configObj.start === undefined)
41
+ return ' ';
42
+ const bracePos = source.indexOf('{', configObj.start);
43
+ const afterBrace = source.slice(bracePos + 1);
44
+ const nextLineMatch = /\n(\s+)/.exec(afterBrace);
45
+ return nextLineMatch?.[1] ?? ' ';
46
+ }
47
+ function injectIntoSource(source) {
48
+ let ast;
49
+ try {
50
+ ast = (0, astHelper_1.parseSource)(source);
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ const configObj = (0, astHelper_1.findTopLevelConfigObject)(ast);
56
+ if (!configObj)
57
+ return null;
58
+ const insertPos = (0, astHelper_1.getObjectOpenBraceEnd)(configObj, source);
59
+ if (insertPos < 0)
60
+ return null;
61
+ const indent = detectIndent(source, configObj);
62
+ const block = buildDevServerBlock(indent);
63
+ return source.slice(0, insertPos) + block + source.slice(insertPos);
64
+ }
65
+ async function injectNuxt(configPath) {
66
+ let content;
67
+ try {
68
+ content = await (0, promises_1.readFile)(configPath, 'utf-8');
69
+ }
70
+ catch {
71
+ await (0, promises_1.writeFile)(configPath, buildNewConfigFile(), 'utf-8');
72
+ return { alreadyConfigured: false, created: true };
73
+ }
74
+ if (content.includes(exports.INJECTION_MARKER)) {
75
+ return { alreadyConfigured: true, created: false };
76
+ }
77
+ try {
78
+ const ast = (0, astHelper_1.parseSource)(content);
79
+ const configObj = (0, astHelper_1.findTopLevelConfigObject)(ast);
80
+ if (configObj && (0, astHelper_1.hasNestedProperty)(configObj, ['devServer', 'https'])) {
81
+ return { alreadyConfigured: true, created: false };
82
+ }
83
+ }
84
+ catch { /* proceed */ }
85
+ await (0, backup_1.backupFile)(configPath);
86
+ const injected = injectIntoSource(content);
87
+ if (!injected) {
88
+ throw new Error(`trustlocal could not locate the config object in ${configPath}.\n` +
89
+ 'Please add the devServer.https block manually.');
90
+ }
91
+ await (0, promises_1.writeFile)(configPath, injected, 'utf-8');
92
+ return { alreadyConfigured: false, created: false };
93
+ }
94
+ //# sourceMappingURL=nuxt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nuxt.js","sourceRoot":"","sources":["../../src/injectors/nuxt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trustlocal",
3
- "version": "0.1.5",
3
+ "version": "0.2.0",
4
4
  "description": "One command. HTTPS everywhere. Zero config.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -37,10 +37,17 @@
37
37
  "keywords": [
38
38
  "https",
39
39
  "ssl",
40
+ "tls",
40
41
  "localhost",
41
42
  "mkcert",
42
43
  "developer-tools",
43
- "certificates"
44
+ "certificates",
45
+ "nextjs",
46
+ "vite",
47
+ "astro",
48
+ "sveltekit",
49
+ "nuxt",
50
+ "remix"
44
51
  ],
45
52
  "license": "MIT",
46
53
  "engines": {