metadatafy 1.0.0 → 1.0.2

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/README.md ADDED
@@ -0,0 +1,239 @@
1
+ # metadatafy
2
+
3
+ A build plugin for extracting project metadata from your codebase. Supports Vite, Next.js, and CLI usage.
4
+
5
+ 코드베이스에서 프로젝트 메타데이터를 추출하는 빌드 플러그인입니다. Vite, Next.js, CLI를 지원합니다.
6
+
7
+ ## Features / 기능
8
+
9
+ - **AST-based analysis** - Parses TypeScript/JavaScript files using TypeScript compiler API
10
+ - **Import/Export extraction** - Tracks file dependencies and call graphs
11
+ - **Component props detection** - Extracts React component props
12
+ - **Korean keyword mapping** - Automatic English-Korean keyword translation
13
+ - **Multiple output formats** - JSON file or API endpoint
14
+
15
+ ---
16
+
17
+ - **AST 기반 분석** - TypeScript 컴파일러 API를 사용한 파일 파싱
18
+ - **Import/Export 추출** - 파일 의존성 및 호출 그래프 추적
19
+ - **컴포넌트 Props 감지** - React 컴포넌트 props 추출
20
+ - **한글 키워드 매핑** - 영어-한글 키워드 자동 변환
21
+ - **다양한 출력 형식** - JSON 파일 또는 API 엔드포인트
22
+
23
+ ## Installation / 설치
24
+
25
+ ```bash
26
+ npm install metadatafy
27
+ # or
28
+ yarn add metadatafy
29
+ # or
30
+ pnpm add metadatafy
31
+ ```
32
+
33
+ ## Usage / 사용법
34
+
35
+ ### CLI
36
+
37
+ ```bash
38
+ # Analyze project and generate metadata
39
+ # 프로젝트 분석 및 메타데이터 생성
40
+ npx metadatafy analyze
41
+
42
+ # With options / 옵션과 함께
43
+ npx metadatafy analyze --project-id my-project --output ./metadata.json --verbose
44
+
45
+ # Generate config file / 설정 파일 생성
46
+ npx metadatafy init
47
+ ```
48
+
49
+ #### CLI Options / CLI 옵션
50
+
51
+ | Option | Short | Description |
52
+ |--------|-------|-------------|
53
+ | `--project-id` | `-p` | Project ID (default: folder name) |
54
+ | `--output` | `-o` | Output file path (default: project-metadata.json) |
55
+ | `--config` | `-c` | Config file path |
56
+ | `--verbose` | | Enable detailed logging |
57
+ | `--help` | `-h` | Show help |
58
+ | `--version` | `-v` | Show version |
59
+
60
+ ### Vite Plugin
61
+
62
+ ```typescript
63
+ // vite.config.ts
64
+ import { defineConfig } from 'vite';
65
+ import { metadataPlugin } from 'metadatafy/vite';
66
+
67
+ export default defineConfig({
68
+ plugins: [
69
+ metadataPlugin({
70
+ projectId: 'my-project',
71
+ output: {
72
+ file: {
73
+ enabled: true,
74
+ path: 'project-metadata.json',
75
+ },
76
+ },
77
+ }),
78
+ ],
79
+ });
80
+ ```
81
+
82
+ ### Next.js Plugin
83
+
84
+ ```javascript
85
+ // next.config.js
86
+ const { withMetadata } = require('metadatafy/next');
87
+
88
+ /** @type {import('next').NextConfig} */
89
+ const nextConfig = {
90
+ // your config
91
+ };
92
+
93
+ module.exports = withMetadata({
94
+ projectId: 'my-project',
95
+ })(nextConfig);
96
+ ```
97
+
98
+ ## Configuration / 설정
99
+
100
+ Create `metadata.config.json` in your project root:
101
+
102
+ 프로젝트 루트에 `metadata.config.json` 파일을 생성하세요:
103
+
104
+ ```json
105
+ {
106
+ "projectId": "my-project",
107
+ "include": [
108
+ "app/**/*.{ts,tsx}",
109
+ "components/**/*.{ts,tsx}",
110
+ "hooks/**/*.{ts,tsx}",
111
+ "services/**/*.ts",
112
+ "lib/**/*.ts"
113
+ ],
114
+ "exclude": [
115
+ "**/node_modules/**",
116
+ "**/*.test.{ts,tsx}",
117
+ "**/*.spec.{ts,tsx}"
118
+ ],
119
+ "output": {
120
+ "file": {
121
+ "enabled": true,
122
+ "path": "project-metadata.json"
123
+ },
124
+ "api": {
125
+ "enabled": false,
126
+ "endpoint": "https://your-api.com/metadata",
127
+ "headers": {
128
+ "Authorization": "Bearer YOUR_TOKEN"
129
+ }
130
+ }
131
+ },
132
+ "koreanKeywords": {
133
+ "attendance": ["출석", "출결"],
134
+ "student": ["학생", "수강생"]
135
+ },
136
+ "verbose": false
137
+ }
138
+ ```
139
+
140
+ ## Output Format / 출력 형식
141
+
142
+ ```json
143
+ {
144
+ "version": "1.0.0",
145
+ "projectId": "my-project",
146
+ "generatedAt": "2025-01-04T12:00:00Z",
147
+ "stats": {
148
+ "totalFiles": 150,
149
+ "byType": {
150
+ "route": 15,
151
+ "component": 80,
152
+ "hook": 20,
153
+ "service": 10,
154
+ "api": 5,
155
+ "table": 8,
156
+ "utility": 12
157
+ }
158
+ },
159
+ "items": [
160
+ {
161
+ "id": "abc123",
162
+ "type": "component",
163
+ "name": "AttendanceModal",
164
+ "path": "components/attendance/AttendanceModal.tsx",
165
+ "keywords": ["attendance", "modal", "출석", "모달"],
166
+ "searchText": "attendancemodal components attendance ...",
167
+ "calls": ["hooks/useAttendance.ts", "services/attendanceService.ts"],
168
+ "calledBy": ["app/attendance/page.tsx"],
169
+ "metadata": {
170
+ "exports": ["AttendanceModal"],
171
+ "props": ["isOpen", "onClose", "studentId"]
172
+ }
173
+ }
174
+ ]
175
+ }
176
+ ```
177
+
178
+ ## File Type Detection / 파일 타입 감지
179
+
180
+ | Pattern | Type |
181
+ |---------|------|
182
+ | `app/**/page.tsx` | route |
183
+ | `app/**/route.ts` | api |
184
+ | `components/**/*.tsx` | component |
185
+ | `hooks/**/*.ts` | hook |
186
+ | `services/**/*.ts` | service |
187
+ | `lib/**/*.ts` | utility |
188
+ | `supabase/migrations/*.sql` | table |
189
+
190
+ ## API / 프로그래밍 방식 사용
191
+
192
+ ```typescript
193
+ import { ProjectAnalyzer, createDefaultConfig } from 'metadatafy';
194
+
195
+ const config = createDefaultConfig({
196
+ projectId: 'my-project',
197
+ verbose: true,
198
+ });
199
+
200
+ const analyzer = new ProjectAnalyzer(config);
201
+ const result = await analyzer.analyze(process.cwd());
202
+
203
+ console.log(result.stats);
204
+ console.log(result.items);
205
+ ```
206
+
207
+ ## Korean Keyword Mapping / 한글 키워드 매핑
208
+
209
+ Built-in mappings include common development terms:
210
+
211
+ 기본 제공되는 매핑에는 일반적인 개발 용어가 포함됩니다:
212
+
213
+ | English | Korean |
214
+ |---------|--------|
215
+ | create | 생성, 만들기, 추가 |
216
+ | update | 수정, 업데이트, 변경 |
217
+ | delete | 삭제, 제거 |
218
+ | search | 검색, 찾기 |
219
+ | login | 로그인 |
220
+ | user | 사용자, 유저, 회원 |
221
+ | button | 버튼 |
222
+ | modal | 모달, 팝업 |
223
+ | ... | ... |
224
+
225
+ You can extend with custom mappings in config.
226
+
227
+ 설정에서 커스텀 매핑을 추가할 수 있습니다.
228
+
229
+ ## License / 라이선스
230
+
231
+ MIT
232
+
233
+ ## Contributing / 기여
234
+
235
+ Issues and pull requests are welcome!
236
+
237
+ 이슈와 풀 리퀘스트를 환영합니다!
238
+
239
+ GitHub: https://github.com/rungchan2/get-metadata
@@ -1380,5 +1380,3 @@ exports.splitPascalCase = splitPascalCase;
1380
1380
  exports.splitSnakeCase = splitSnakeCase;
1381
1381
  exports.toAllCases = toAllCases;
1382
1382
  exports.validateConfig = validateConfig;
1383
- //# sourceMappingURL=chunk-EDHWKZRG.cjs.map
1384
- //# sourceMappingURL=chunk-EDHWKZRG.cjs.map
@@ -1325,5 +1325,3 @@ var SupabaseApiSender = class extends ApiSender {
1325
1325
  };
1326
1326
 
1327
1327
  export { ApiSender, CallGraphBuilder, DEFAULT_EXCLUDE_PATTERNS, DEFAULT_FILE_TYPE_MAPPING, DEFAULT_INCLUDE_PATTERNS, DependencyResolver, ExportExtractor, FileWriter, ImportExtractor, KOREAN_KEYWORD_MAP, KeywordExtractor, ProjectAnalyzer, PropsExtractor, SQLParser, SupabaseApiSender, TypeScriptParser, createDefaultConfig, extendKoreanMap, extractAcronyms, findKoreanKeywords, generateId, splitCamelCase, splitIntoWords, splitKebabCase, splitPascalCase, splitSnakeCase, toAllCases, validateConfig };
1328
- //# sourceMappingURL=chunk-ECKCIPM5.js.map
1329
- //# sourceMappingURL=chunk-ECKCIPM5.js.map
package/dist/cli.cjs CHANGED
@@ -1276,7 +1276,7 @@ var ApiSender = class {
1276
1276
  };
1277
1277
 
1278
1278
  // src/cli.ts
1279
- var VERSION = "1.0.0";
1279
+ var VERSION = "1.0.1";
1280
1280
  var HELP_TEXT = `
1281
1281
  metadatafy - \uD504\uB85C\uC81D\uD2B8 \uBA54\uD0C0\uB370\uC774\uD130 \uCD94\uCD9C \uB3C4\uAD6C
1282
1282
 
@@ -1474,5 +1474,3 @@ main().catch((error) => {
1474
1474
  console.error("Fatal error:", error);
1475
1475
  process.exit(1);
1476
1476
  });
1477
- //# sourceMappingURL=cli.cjs.map
1478
- //# sourceMappingURL=cli.cjs.map
package/dist/cli.js CHANGED
@@ -1248,7 +1248,7 @@ var ApiSender = class {
1248
1248
  };
1249
1249
 
1250
1250
  // src/cli.ts
1251
- var VERSION = "1.0.0";
1251
+ var VERSION = "1.0.1";
1252
1252
  var HELP_TEXT = `
1253
1253
  metadatafy - \uD504\uB85C\uC81D\uD2B8 \uBA54\uD0C0\uB370\uC774\uD130 \uCD94\uCD9C \uB3C4\uAD6C
1254
1254
 
@@ -1446,5 +1446,3 @@ main().catch((error) => {
1446
1446
  console.error("Fatal error:", error);
1447
1447
  process.exit(1);
1448
1448
  });
1449
- //# sourceMappingURL=cli.js.map
1450
- //# sourceMappingURL=cli.js.map
package/dist/index.cjs CHANGED
@@ -1,120 +1,118 @@
1
1
  'use strict';
2
2
 
3
- var chunkEDHWKZRG_cjs = require('./chunk-EDHWKZRG.cjs');
3
+ var chunk5CZ4N6Q2_cjs = require('./chunk-5CZ4N6Q2.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "ApiSender", {
8
8
  enumerable: true,
9
- get: function () { return chunkEDHWKZRG_cjs.ApiSender; }
9
+ get: function () { return chunk5CZ4N6Q2_cjs.ApiSender; }
10
10
  });
11
11
  Object.defineProperty(exports, "CallGraphBuilder", {
12
12
  enumerable: true,
13
- get: function () { return chunkEDHWKZRG_cjs.CallGraphBuilder; }
13
+ get: function () { return chunk5CZ4N6Q2_cjs.CallGraphBuilder; }
14
14
  });
15
15
  Object.defineProperty(exports, "DEFAULT_EXCLUDE_PATTERNS", {
16
16
  enumerable: true,
17
- get: function () { return chunkEDHWKZRG_cjs.DEFAULT_EXCLUDE_PATTERNS; }
17
+ get: function () { return chunk5CZ4N6Q2_cjs.DEFAULT_EXCLUDE_PATTERNS; }
18
18
  });
19
19
  Object.defineProperty(exports, "DEFAULT_FILE_TYPE_MAPPING", {
20
20
  enumerable: true,
21
- get: function () { return chunkEDHWKZRG_cjs.DEFAULT_FILE_TYPE_MAPPING; }
21
+ get: function () { return chunk5CZ4N6Q2_cjs.DEFAULT_FILE_TYPE_MAPPING; }
22
22
  });
23
23
  Object.defineProperty(exports, "DEFAULT_INCLUDE_PATTERNS", {
24
24
  enumerable: true,
25
- get: function () { return chunkEDHWKZRG_cjs.DEFAULT_INCLUDE_PATTERNS; }
25
+ get: function () { return chunk5CZ4N6Q2_cjs.DEFAULT_INCLUDE_PATTERNS; }
26
26
  });
27
27
  Object.defineProperty(exports, "DependencyResolver", {
28
28
  enumerable: true,
29
- get: function () { return chunkEDHWKZRG_cjs.DependencyResolver; }
29
+ get: function () { return chunk5CZ4N6Q2_cjs.DependencyResolver; }
30
30
  });
31
31
  Object.defineProperty(exports, "ExportExtractor", {
32
32
  enumerable: true,
33
- get: function () { return chunkEDHWKZRG_cjs.ExportExtractor; }
33
+ get: function () { return chunk5CZ4N6Q2_cjs.ExportExtractor; }
34
34
  });
35
35
  Object.defineProperty(exports, "FileWriter", {
36
36
  enumerable: true,
37
- get: function () { return chunkEDHWKZRG_cjs.FileWriter; }
37
+ get: function () { return chunk5CZ4N6Q2_cjs.FileWriter; }
38
38
  });
39
39
  Object.defineProperty(exports, "ImportExtractor", {
40
40
  enumerable: true,
41
- get: function () { return chunkEDHWKZRG_cjs.ImportExtractor; }
41
+ get: function () { return chunk5CZ4N6Q2_cjs.ImportExtractor; }
42
42
  });
43
43
  Object.defineProperty(exports, "KOREAN_KEYWORD_MAP", {
44
44
  enumerable: true,
45
- get: function () { return chunkEDHWKZRG_cjs.KOREAN_KEYWORD_MAP; }
45
+ get: function () { return chunk5CZ4N6Q2_cjs.KOREAN_KEYWORD_MAP; }
46
46
  });
47
47
  Object.defineProperty(exports, "KeywordExtractor", {
48
48
  enumerable: true,
49
- get: function () { return chunkEDHWKZRG_cjs.KeywordExtractor; }
49
+ get: function () { return chunk5CZ4N6Q2_cjs.KeywordExtractor; }
50
50
  });
51
51
  Object.defineProperty(exports, "ProjectAnalyzer", {
52
52
  enumerable: true,
53
- get: function () { return chunkEDHWKZRG_cjs.ProjectAnalyzer; }
53
+ get: function () { return chunk5CZ4N6Q2_cjs.ProjectAnalyzer; }
54
54
  });
55
55
  Object.defineProperty(exports, "PropsExtractor", {
56
56
  enumerable: true,
57
- get: function () { return chunkEDHWKZRG_cjs.PropsExtractor; }
57
+ get: function () { return chunk5CZ4N6Q2_cjs.PropsExtractor; }
58
58
  });
59
59
  Object.defineProperty(exports, "SQLParser", {
60
60
  enumerable: true,
61
- get: function () { return chunkEDHWKZRG_cjs.SQLParser; }
61
+ get: function () { return chunk5CZ4N6Q2_cjs.SQLParser; }
62
62
  });
63
63
  Object.defineProperty(exports, "SupabaseApiSender", {
64
64
  enumerable: true,
65
- get: function () { return chunkEDHWKZRG_cjs.SupabaseApiSender; }
65
+ get: function () { return chunk5CZ4N6Q2_cjs.SupabaseApiSender; }
66
66
  });
67
67
  Object.defineProperty(exports, "TypeScriptParser", {
68
68
  enumerable: true,
69
- get: function () { return chunkEDHWKZRG_cjs.TypeScriptParser; }
69
+ get: function () { return chunk5CZ4N6Q2_cjs.TypeScriptParser; }
70
70
  });
71
71
  Object.defineProperty(exports, "createDefaultConfig", {
72
72
  enumerable: true,
73
- get: function () { return chunkEDHWKZRG_cjs.createDefaultConfig; }
73
+ get: function () { return chunk5CZ4N6Q2_cjs.createDefaultConfig; }
74
74
  });
75
75
  Object.defineProperty(exports, "extendKoreanMap", {
76
76
  enumerable: true,
77
- get: function () { return chunkEDHWKZRG_cjs.extendKoreanMap; }
77
+ get: function () { return chunk5CZ4N6Q2_cjs.extendKoreanMap; }
78
78
  });
79
79
  Object.defineProperty(exports, "extractAcronyms", {
80
80
  enumerable: true,
81
- get: function () { return chunkEDHWKZRG_cjs.extractAcronyms; }
81
+ get: function () { return chunk5CZ4N6Q2_cjs.extractAcronyms; }
82
82
  });
83
83
  Object.defineProperty(exports, "findKoreanKeywords", {
84
84
  enumerable: true,
85
- get: function () { return chunkEDHWKZRG_cjs.findKoreanKeywords; }
85
+ get: function () { return chunk5CZ4N6Q2_cjs.findKoreanKeywords; }
86
86
  });
87
87
  Object.defineProperty(exports, "generateId", {
88
88
  enumerable: true,
89
- get: function () { return chunkEDHWKZRG_cjs.generateId; }
89
+ get: function () { return chunk5CZ4N6Q2_cjs.generateId; }
90
90
  });
91
91
  Object.defineProperty(exports, "splitCamelCase", {
92
92
  enumerable: true,
93
- get: function () { return chunkEDHWKZRG_cjs.splitCamelCase; }
93
+ get: function () { return chunk5CZ4N6Q2_cjs.splitCamelCase; }
94
94
  });
95
95
  Object.defineProperty(exports, "splitIntoWords", {
96
96
  enumerable: true,
97
- get: function () { return chunkEDHWKZRG_cjs.splitIntoWords; }
97
+ get: function () { return chunk5CZ4N6Q2_cjs.splitIntoWords; }
98
98
  });
99
99
  Object.defineProperty(exports, "splitKebabCase", {
100
100
  enumerable: true,
101
- get: function () { return chunkEDHWKZRG_cjs.splitKebabCase; }
101
+ get: function () { return chunk5CZ4N6Q2_cjs.splitKebabCase; }
102
102
  });
103
103
  Object.defineProperty(exports, "splitPascalCase", {
104
104
  enumerable: true,
105
- get: function () { return chunkEDHWKZRG_cjs.splitPascalCase; }
105
+ get: function () { return chunk5CZ4N6Q2_cjs.splitPascalCase; }
106
106
  });
107
107
  Object.defineProperty(exports, "splitSnakeCase", {
108
108
  enumerable: true,
109
- get: function () { return chunkEDHWKZRG_cjs.splitSnakeCase; }
109
+ get: function () { return chunk5CZ4N6Q2_cjs.splitSnakeCase; }
110
110
  });
111
111
  Object.defineProperty(exports, "toAllCases", {
112
112
  enumerable: true,
113
- get: function () { return chunkEDHWKZRG_cjs.toAllCases; }
113
+ get: function () { return chunk5CZ4N6Q2_cjs.toAllCases; }
114
114
  });
115
115
  Object.defineProperty(exports, "validateConfig", {
116
116
  enumerable: true,
117
- get: function () { return chunkEDHWKZRG_cjs.validateConfig; }
117
+ get: function () { return chunk5CZ4N6Q2_cjs.validateConfig; }
118
118
  });
119
- //# sourceMappingURL=index.cjs.map
120
- //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,3 +1 @@
1
- export { ApiSender, CallGraphBuilder, DEFAULT_EXCLUDE_PATTERNS, DEFAULT_FILE_TYPE_MAPPING, DEFAULT_INCLUDE_PATTERNS, DependencyResolver, ExportExtractor, FileWriter, ImportExtractor, KOREAN_KEYWORD_MAP, KeywordExtractor, ProjectAnalyzer, PropsExtractor, SQLParser, SupabaseApiSender, TypeScriptParser, createDefaultConfig, extendKoreanMap, extractAcronyms, findKoreanKeywords, generateId, splitCamelCase, splitIntoWords, splitKebabCase, splitPascalCase, splitSnakeCase, toAllCases, validateConfig } from './chunk-ECKCIPM5.js';
2
- //# sourceMappingURL=index.js.map
3
- //# sourceMappingURL=index.js.map
1
+ export { ApiSender, CallGraphBuilder, DEFAULT_EXCLUDE_PATTERNS, DEFAULT_FILE_TYPE_MAPPING, DEFAULT_INCLUDE_PATTERNS, DependencyResolver, ExportExtractor, FileWriter, ImportExtractor, KOREAN_KEYWORD_MAP, KeywordExtractor, ProjectAnalyzer, PropsExtractor, SQLParser, SupabaseApiSender, TypeScriptParser, createDefaultConfig, extendKoreanMap, extractAcronyms, findKoreanKeywords, generateId, splitCamelCase, splitIntoWords, splitKebabCase, splitPascalCase, splitSnakeCase, toAllCases, validateConfig } from './chunk-QXJYOL3O.js';
package/dist/next.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkEDHWKZRG_cjs = require('./chunk-EDHWKZRG.cjs');
5
+ var chunk5CZ4N6Q2_cjs = require('./chunk-5CZ4N6Q2.cjs');
6
6
  var path = require('path');
7
7
 
8
8
  function _interopNamespace(e) {
@@ -26,9 +26,9 @@ function _interopNamespace(e) {
26
26
  var path__namespace = /*#__PURE__*/_interopNamespace(path);
27
27
 
28
28
  function withMetadata(options = {}) {
29
- const pluginConfig = chunkEDHWKZRG_cjs.createDefaultConfig(options);
29
+ const pluginConfig = chunk5CZ4N6Q2_cjs.createDefaultConfig(options);
30
30
  const runOn = options.runOn || "build";
31
- const errors = chunkEDHWKZRG_cjs.validateConfig(pluginConfig);
31
+ const errors = chunk5CZ4N6Q2_cjs.validateConfig(pluginConfig);
32
32
  if (errors.length > 0) {
33
33
  throw new Error(
34
34
  `[metadata-plugin] Invalid config:
@@ -82,9 +82,9 @@ var MetadataWebpackPlugin = class {
82
82
  });
83
83
  }
84
84
  async runAnalysis(rootDir) {
85
- const analyzer = new chunkEDHWKZRG_cjs.ProjectAnalyzer(this.config);
86
- const fileWriter = new chunkEDHWKZRG_cjs.FileWriter(this.config);
87
- const apiSender = this.config.output.api?.enabled ? new chunkEDHWKZRG_cjs.ApiSender(this.config) : null;
85
+ const analyzer = new chunk5CZ4N6Q2_cjs.ProjectAnalyzer(this.config);
86
+ const fileWriter = new chunk5CZ4N6Q2_cjs.FileWriter(this.config);
87
+ const apiSender = this.config.output.api?.enabled ? new chunk5CZ4N6Q2_cjs.ApiSender(this.config) : null;
88
88
  if (this.config.verbose) {
89
89
  console.log("[metadata-plugin] Starting analysis...");
90
90
  }
@@ -107,5 +107,3 @@ var MetadataWebpackPlugin = class {
107
107
 
108
108
  exports.default = withMetadata;
109
109
  exports.withMetadata = withMetadata;
110
- //# sourceMappingURL=next.cjs.map
111
- //# sourceMappingURL=next.cjs.map
package/dist/next.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createDefaultConfig, validateConfig, ProjectAnalyzer, FileWriter, ApiSender } from './chunk-ECKCIPM5.js';
1
+ import { createDefaultConfig, validateConfig, ProjectAnalyzer, FileWriter, ApiSender } from './chunk-QXJYOL3O.js';
2
2
  import * as path from 'path';
3
3
 
4
4
  function withMetadata(options = {}) {
@@ -82,5 +82,3 @@ var MetadataWebpackPlugin = class {
82
82
  };
83
83
 
84
84
  export { withMetadata as default, withMetadata };
85
- //# sourceMappingURL=next.js.map
86
- //# sourceMappingURL=next.js.map
package/dist/vite.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkEDHWKZRG_cjs = require('./chunk-EDHWKZRG.cjs');
5
+ var chunk5CZ4N6Q2_cjs = require('./chunk-5CZ4N6Q2.cjs');
6
6
  var path = require('path');
7
7
 
8
8
  function _interopNamespace(e) {
@@ -26,18 +26,18 @@ function _interopNamespace(e) {
26
26
  var path__namespace = /*#__PURE__*/_interopNamespace(path);
27
27
 
28
28
  function metadataPlugin(options = {}) {
29
- const config = chunkEDHWKZRG_cjs.createDefaultConfig(options);
29
+ const config = chunk5CZ4N6Q2_cjs.createDefaultConfig(options);
30
30
  const runOn = options.runOn || "build";
31
31
  let viteConfig;
32
32
  let analysisResult = null;
33
- const analyzer = new chunkEDHWKZRG_cjs.ProjectAnalyzer(config);
34
- const fileWriter = new chunkEDHWKZRG_cjs.FileWriter(config);
35
- const apiSender = config.output.api?.enabled ? new chunkEDHWKZRG_cjs.ApiSender(config) : null;
33
+ const analyzer = new chunk5CZ4N6Q2_cjs.ProjectAnalyzer(config);
34
+ const fileWriter = new chunk5CZ4N6Q2_cjs.FileWriter(config);
35
+ const apiSender = config.output.api?.enabled ? new chunk5CZ4N6Q2_cjs.ApiSender(config) : null;
36
36
  return {
37
37
  name: "vite-metadata-plugin",
38
38
  configResolved(resolvedConfig) {
39
39
  viteConfig = resolvedConfig;
40
- const errors = chunkEDHWKZRG_cjs.validateConfig(config);
40
+ const errors = chunk5CZ4N6Q2_cjs.validateConfig(config);
41
41
  if (errors.length > 0) {
42
42
  throw new Error(
43
43
  `[metadata-plugin] Invalid config:
@@ -87,5 +87,3 @@ ${errors.join("\n")}`
87
87
 
88
88
  exports.default = metadataPlugin;
89
89
  exports.metadataPlugin = metadataPlugin;
90
- //# sourceMappingURL=vite.cjs.map
91
- //# sourceMappingURL=vite.cjs.map
package/dist/vite.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createDefaultConfig, ProjectAnalyzer, FileWriter, ApiSender, validateConfig } from './chunk-ECKCIPM5.js';
1
+ import { createDefaultConfig, ProjectAnalyzer, FileWriter, ApiSender, validateConfig } from './chunk-QXJYOL3O.js';
2
2
  import * as path from 'path';
3
3
 
4
4
  function metadataPlugin(options = {}) {
@@ -62,5 +62,3 @@ ${errors.join("\n")}`
62
62
  }
63
63
 
64
64
  export { metadataPlugin as default, metadataPlugin };
65
- //# sourceMappingURL=vite.js.map
66
- //# sourceMappingURL=vite.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metadatafy",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Build plugin for extracting project metadata for ticket analysis system",
5
5
  "type": "module",
6
6
  "exports": {