dev-doc 0.3.2 → 0.3.4

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.js CHANGED
@@ -47,7 +47,7 @@ const API_URL = "https://dev-doc-726dc734499e.herokuapp.com"; // TODO: Update to
47
47
  program
48
48
  .name("dev-doc")
49
49
  .description("AI-powered codebase analyzer AI")
50
- .version("0.3.2");
50
+ .version("0.3.4");
51
51
  // Add API key command
52
52
  program
53
53
  .command("add-key")
@@ -1 +1 @@
1
- {"version":3,"file":"devdocConfig.d.ts","sourceRoot":"","sources":["../src/devdocConfig.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAWjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAO/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwEhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,CAqC1E"}
1
+ {"version":3,"file":"devdocConfig.d.ts","sourceRoot":"","sources":["../src/devdocConfig.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAWjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAO/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+HhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,CAqC1E"}
@@ -80,10 +80,9 @@ function saveDevDocConfig(projectDir, config) {
80
80
  * Checks common files for PORT or server configuration
81
81
  */
82
82
  function detectLocalUrl(projectDir) {
83
- const commonPorts = [3000, 8000, 5000, 4000, 8080, 3001];
84
83
  let detectedPort = null;
85
- // Check .env files
86
- const envFiles = [".env", ".env.local", ".env.development", ".env.dev"];
84
+ // Check .env files first (highest priority)
85
+ const envFiles = [".env", ".env.local", ".env.development", ".env.dev", ".env.production"];
87
86
  for (const envFile of envFiles) {
88
87
  const envPath = path.join(projectDir, envFile);
89
88
  if (fs.existsSync(envPath)) {
@@ -123,21 +122,72 @@ function detectLocalUrl(projectDir) {
123
122
  }
124
123
  }
125
124
  }
126
- // Check common config files
125
+ // Check common server/entry point files (most important for actual port detection)
126
+ if (!detectedPort) {
127
+ const serverFiles = [
128
+ "main.ts", "main.js",
129
+ "index.ts", "index.js",
130
+ "server.ts", "server.js",
131
+ "app.ts", "app.js",
132
+ "src/main.ts", "src/main.js",
133
+ "src/index.ts", "src/index.js",
134
+ "src/server.ts", "src/server.js",
135
+ "src/app.ts", "src/app.js",
136
+ "src/bootstrap.ts", "src/bootstrap.js",
137
+ ];
138
+ for (const serverFile of serverFiles) {
139
+ const filePath = path.join(projectDir, serverFile);
140
+ if (fs.existsSync(filePath)) {
141
+ try {
142
+ const content = fs.readFileSync(filePath, "utf8");
143
+ // Pattern 1: process.env.PORT || 3010 (fallback port)
144
+ // Matches: const port = process.env.PORT || 3010;
145
+ const fallbackMatch = content.match(/process\.env\.PORT\s*\|\|\s*(\d+)/i);
146
+ if (fallbackMatch) {
147
+ detectedPort = parseInt(fallbackMatch[1], 10);
148
+ break;
149
+ }
150
+ // Pattern 2: app.listen(port) or await app.listen(port) where port is defined above
151
+ // First, try to find the port variable definition
152
+ const portVarMatch = content.match(/const\s+port\s*=\s*process\.env\.PORT\s*\|\|\s*(\d+)/i);
153
+ if (portVarMatch) {
154
+ detectedPort = parseInt(portVarMatch[1], 10);
155
+ break;
156
+ }
157
+ // Pattern 3: Direct listen call with number: app.listen(3010)
158
+ const directListenMatch = content.match(/(?:app|server|await\s+app|await\s+server)\.listen\s*\(\s*(\d+)/);
159
+ if (directListenMatch) {
160
+ detectedPort = parseInt(directListenMatch[1], 10);
161
+ break;
162
+ }
163
+ // Pattern 4: PORT constant or variable with number
164
+ const portConstMatch = content.match(/PORT\s*[=:]\s*(\d+)/i);
165
+ if (portConstMatch) {
166
+ detectedPort = parseInt(portConstMatch[1], 10);
167
+ break;
168
+ }
169
+ }
170
+ catch (e) {
171
+ // Continue
172
+ }
173
+ }
174
+ }
175
+ }
176
+ // Check other config files as fallback
127
177
  if (!detectedPort) {
128
178
  const configFiles = [
129
- "config.js", "config.json", "server.js", "index.js", "app.js",
130
- "src/index.ts", "src/server.ts", "src/app.ts", "src/main.ts"
179
+ "config.js", "config.json", "config.ts",
180
+ "src/config.ts", "src/config.js"
131
181
  ];
132
182
  for (const configFile of configFiles) {
133
183
  const configPath = path.join(projectDir, configFile);
134
184
  if (fs.existsSync(configPath)) {
135
185
  try {
136
186
  const content = fs.readFileSync(configPath, "utf8");
137
- // Look for app.listen(3000) or PORT = 3000
138
- const portMatch = content.match(/(?:app\.listen|server\.listen|listen)\s*\(\s*(\d+)|PORT\s*[=:]\s*(\d+)/);
187
+ // Look for PORT = 3000 or port: 3000
188
+ const portMatch = content.match(/PORT\s*[=:]\s*(\d+)/i);
139
189
  if (portMatch) {
140
- detectedPort = parseInt(portMatch[1] || portMatch[2], 10);
190
+ detectedPort = parseInt(portMatch[1], 10);
141
191
  break;
142
192
  }
143
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"devdocConfig.js","sourceRoot":"","sources":["../src/devdocConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devdocConfig.js","sourceRoot":"","sources":["../src/devdocConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAID,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,UAAU,EAAE,CA2Dd"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAID,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,UAAU,EAAE,CAgEd"}
package/dist/scanner.js CHANGED
@@ -7,6 +7,7 @@ exports.readCodebase = readCodebase;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const DEFAULT_IGNORE_DIRS = ["node_modules", ".git", "dist", "build", ".next", ".cache"];
10
+ const DEFAULT_IGNORE_FILES = ["devdoc.config.json"]; // DevDoc config file - don't analyze
10
11
  const DEFAULT_EXTENSIONS = ["ts", "js", "tsx", "jsx", "json", "md", "py", "java", "go", "rs", "rb", "php"];
11
12
  function readCodebase(dir, options = {}) {
12
13
  const { ignoreDirs = DEFAULT_IGNORE_DIRS, fileExtensions = DEFAULT_EXTENSIONS, includePatterns = [], } = options;
@@ -26,6 +27,10 @@ function readCodebase(dir, options = {}) {
26
27
  }
27
28
  else {
28
29
  const relativePath = path_1.default.relative(baseDir, fullPath);
30
+ // Skip ignored files (like devdoc.config.json)
31
+ if (DEFAULT_IGNORE_FILES.includes(file)) {
32
+ continue;
33
+ }
29
34
  // Check extension match
30
35
  if (!extensionPattern.test(file)) {
31
36
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":";;;;;AAmBA,oCA8DC;AAjFD,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAczF,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAE3G,SAAgB,YAAY,CAC1B,GAAW,EACX,UAA0B,EAAE;IAE5B,MAAM,EACJ,UAAU,GAAG,mBAAmB,EAChC,cAAc,GAAG,kBAAkB,EACnC,eAAe,GAAG,EAAE,GACrB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EACnC,GAAG,CACJ,CAAC;IAEF,SAAS,IAAI,CAAC,OAAe;QAC3B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEnC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxD,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAEtD,wBAAwB;oBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjC,SAAS;oBACX,CAAC;oBAED,oCAAoC;oBACpC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;wBAC5E,IAAI,CAAC,OAAO;4BAAE,SAAS;oBACzB,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAClD,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,QAAQ;4BACd,YAAY;4BACZ,OAAO;yBACR,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-doc",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "AI-powered codebase analyzer using AI to generate documentation and insights",
5
5
  "main": "dist/index.js",
6
6
  "bin": {