@dxworks/depinder 0.1.5 → 0.1.6

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.
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const extractFrameworkVersionsCommand: Command;
@@ -0,0 +1,199 @@
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.extractFrameworkVersionsCommand = void 0;
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const xml2js_1 = require("xml2js");
10
+ const commander_1 = require("commander");
11
+ async function extractFrameworkVersions(rootPath, outputPath) {
12
+ const projectVersions = await extract(rootPath);
13
+ projectVersions.sort((a, b) => a.projectFile.localeCompare(b.projectFile));
14
+ const csvContent = convertToCSV(projectVersions);
15
+ await promises_1.default.writeFile(outputPath, csvContent, 'utf-8');
16
+ }
17
+ function convertToCSV(data) {
18
+ const headers = ['programmingLanguage', 'frameworkVersion', 'projectFile', 'component', 'group', 'notes'];
19
+ const csvRows = data.map(item => [
20
+ item.programmingLanguage,
21
+ item.frameworkVersion,
22
+ item.projectFile,
23
+ item.component,
24
+ item.group,
25
+ item.notes || ''
26
+ ].map(value => `${value}`).join(','));
27
+ return [headers.join(','), ...csvRows].join('\n');
28
+ }
29
+ async function extract(rootPath) {
30
+ const results = [];
31
+ const dotNetProjectFiles = await findFiles(rootPath, /.*\.(csproj|vbproj|fsproj)$/);
32
+ for (const projectFile of dotNetProjectFiles) {
33
+ let notes = '';
34
+ let targetFramework = await extractTargetFramework(projectFile);
35
+ const relativePath = path_1.default.relative(rootPath, projectFile);
36
+ const component = getComponent(relativePath);
37
+ if (targetFramework.startsWith('$')) {
38
+ const { parameterValue, propsFilePath } = await getParameterFromProps(rootPath, projectFile, targetFramework);
39
+ targetFramework = parameterValue;
40
+ notes = propsFilePath;
41
+ }
42
+ results.push({
43
+ programmingLanguage: '.NET',
44
+ projectFile: relativePath,
45
+ frameworkVersion: targetFramework,
46
+ component,
47
+ group: component,
48
+ notes,
49
+ });
50
+ }
51
+ const mavenFiles = await findFiles(rootPath, /pom\.xml$/);
52
+ for (const mavenFile of mavenFiles) {
53
+ const javaVersion = await extractJavaVersionFromMaven(mavenFile);
54
+ const relativePath = path_1.default.relative(rootPath, mavenFile);
55
+ const component = getComponent(relativePath);
56
+ results.push({
57
+ programmingLanguage: 'JAVA',
58
+ projectFile: relativePath,
59
+ frameworkVersion: javaVersion,
60
+ component,
61
+ group: component,
62
+ notes: 'Extracted from pom.xml',
63
+ });
64
+ }
65
+ const gradleFiles = await findFiles(rootPath, /build\.gradle$/);
66
+ for (const gradleFile of gradleFiles) {
67
+ const javaVersion = await extractJavaVersionFromGradle(gradleFile);
68
+ const relativePath = path_1.default.relative(rootPath, gradleFile);
69
+ const component = getComponent(relativePath);
70
+ results.push({
71
+ programmingLanguage: 'JAVA',
72
+ projectFile: relativePath,
73
+ frameworkVersion: javaVersion,
74
+ component,
75
+ group: component,
76
+ notes: 'Extracted from build.gradle',
77
+ });
78
+ }
79
+ return results;
80
+ }
81
+ async function extractJavaVersionFromGradle(gradleFilePath) {
82
+ const gradleContent = await promises_1.default.readFile(gradleFilePath, 'utf-8');
83
+ const matchToolchain = gradleContent.match(/java\s*\{[^}]*?languageVersion\.set\(JavaLanguageVersion\.of\((\d+(?:\.\d+)?)\)\)/s);
84
+ if (matchToolchain)
85
+ return matchToolchain[1];
86
+ const matchSourceCompatibility = gradleContent.match(/sourceCompatibility\s*[=:]\s*['"]?(\d+(?:\.\d+)?)['"]?/);
87
+ if (matchSourceCompatibility)
88
+ return matchSourceCompatibility[1];
89
+ const matchTargetCompatibility = gradleContent.match(/targetCompatibility\s*[=:]\s*['"]?(\d+(?:\.\d+)?)['"]?/);
90
+ if (matchTargetCompatibility)
91
+ return matchTargetCompatibility[1];
92
+ return '';
93
+ }
94
+ async function extractJavaVersionFromMaven(pomFilePath) {
95
+ var _a, _b, _c, _d;
96
+ try {
97
+ const xmlData = await promises_1.default.readFile(pomFilePath, 'utf-8');
98
+ const result = await (0, xml2js_1.parseStringPromise)(xmlData);
99
+ if (!result || !result.project) {
100
+ console.error('Invalid POM structure');
101
+ return "";
102
+ }
103
+ // Extract properties if they exist
104
+ const properties = (_a = result.project.properties) === null || _a === void 0 ? void 0 : _a[0];
105
+ if (properties) {
106
+ if (properties['java.version']) {
107
+ return properties['java.version'][0];
108
+ }
109
+ if (properties['maven.compiler.source']) {
110
+ return properties['maven.compiler.source'][0];
111
+ }
112
+ }
113
+ // Check maven-compiler-plugin configuration
114
+ const build = (_b = result.project.build) === null || _b === void 0 ? void 0 : _b[0];
115
+ if (build && build.plugins) {
116
+ for (const plugin of build.plugins) {
117
+ if (((_c = plugin.artifactId) === null || _c === void 0 ? void 0 : _c[0]) === 'maven-compiler-plugin' && ((_d = plugin.configuration) === null || _d === void 0 ? void 0 : _d[0])) {
118
+ const config = plugin.configuration[0];
119
+ if (config['source']) {
120
+ return config['source'][0];
121
+ }
122
+ }
123
+ }
124
+ }
125
+ return ""; // Return empty string if Java version not found
126
+ }
127
+ catch (error) {
128
+ console.error('Error reading or parsing POM file:', error);
129
+ return "";
130
+ }
131
+ }
132
+ async function extractTargetFramework(projectFile) {
133
+ var _a, _b, _c, _d;
134
+ try {
135
+ const content = await promises_1.default.readFile(projectFile, 'utf-8');
136
+ const xml = await (0, xml2js_1.parseStringPromise)(content);
137
+ const frameworkTags = ['TargetFramework', 'TargetFrameworks', 'TargetFrameworkVersion'];
138
+ for (const tag of frameworkTags) {
139
+ const value = (_d = (_c = (_b = (_a = xml === null || xml === void 0 ? void 0 : xml.Project) === null || _a === void 0 ? void 0 : _a.PropertyGroup) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c[tag]) === null || _d === void 0 ? void 0 : _d[0];
140
+ if (value)
141
+ return value;
142
+ }
143
+ return '';
144
+ }
145
+ catch (_e) {
146
+ return '';
147
+ }
148
+ }
149
+ async function getParameterFromProps(rootPath, filePath, parameterName) {
150
+ let currentDirectory = path_1.default.dirname(filePath);
151
+ while (currentDirectory && currentDirectory !== rootPath) {
152
+ const propsFiles = await findFiles(currentDirectory, /\.props$/);
153
+ if (propsFiles.length > 0) {
154
+ const propsFilePath = propsFiles[0];
155
+ const parameterValue = await extractParameterValueFromProps(propsFilePath, parameterName);
156
+ if (parameterValue) {
157
+ return { parameterValue, propsFilePath };
158
+ }
159
+ }
160
+ currentDirectory = path_1.default.dirname(currentDirectory);
161
+ }
162
+ throw new Error(`No .props file found from '${filePath}' up to '${rootPath}'.`);
163
+ }
164
+ async function extractParameterValueFromProps(propsFilePath, parameterName) {
165
+ var _a, _b, _c, _d;
166
+ try {
167
+ const content = await promises_1.default.readFile(propsFilePath, 'utf-8');
168
+ const xml = await (0, xml2js_1.parseStringPromise)(content);
169
+ const cleanParameterName = parameterName.replace(/[\$()]/g, '');
170
+ return ((_d = (_c = (_b = (_a = xml === null || xml === void 0 ? void 0 : xml.Project) === null || _a === void 0 ? void 0 : _a.PropertyGroup) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c[cleanParameterName]) === null || _d === void 0 ? void 0 : _d[0]) || '';
171
+ }
172
+ catch (_e) {
173
+ return '';
174
+ }
175
+ }
176
+ async function findFiles(directory, pattern) {
177
+ const entries = await promises_1.default.readdir(directory, { withFileTypes: true });
178
+ let files = [];
179
+ for (const entry of entries) {
180
+ const fullPath = path_1.default.join(directory, entry.name);
181
+ if (entry.isDirectory()) {
182
+ files = files.concat(await findFiles(fullPath, pattern));
183
+ }
184
+ else if (pattern.test(entry.name)) {
185
+ files.push(fullPath);
186
+ }
187
+ }
188
+ return files;
189
+ }
190
+ function getComponent(relativePath) {
191
+ return relativePath.split(path_1.default.sep)[0];
192
+ }
193
+ exports.extractFrameworkVersionsCommand = new commander_1.Command()
194
+ .command('extractFrameworkVersion')
195
+ .description('Extracts .NET framework and Java language versions from a *proj files, Maven and Gradle files')
196
+ .argument('<projectPath>', 'Path to the root directory')
197
+ .argument('<outputPath>', 'Path to save the extracted versions in CSV format')
198
+ .action(extractFrameworkVersions);
199
+ //# sourceMappingURL=extractFrameworkVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractFrameworkVersion.js","sourceRoot":"","sources":["../../src/commands/extractFrameworkVersion.ts"],"names":[],"mappings":"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"}
package/dist/depinder.js CHANGED
@@ -6,11 +6,13 @@ const utils_1 = require("./utils/utils");
6
6
  const analyse_1 = require("./commands/analyse");
7
7
  const cache_1 = require("./commands/cache");
8
8
  const update_1 = require("./commands/update");
9
+ const extractFrameworkVersion_1 = require("./commands/extractFrameworkVersion");
9
10
  exports.mainCommand = new commander_1.Command()
10
11
  .name('depinder')
11
12
  .description(utils_1._package.description)
12
13
  .version(utils_1._package.version, '-v, -version, --version, -V')
13
14
  .addCommand(analyse_1.analyseCommand)
14
15
  .addCommand(update_1.updateCommand)
15
- .addCommand(cache_1.cacheCommand);
16
+ .addCommand(cache_1.cacheCommand)
17
+ .addCommand(extractFrameworkVersion_1.extractFrameworkVersionsCommand);
16
18
  //# sourceMappingURL=depinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"depinder.js","sourceRoot":"","sources":["../src/depinder.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,yCAAsC;AACtC,gDAAiD;AACjD,4CAA6C;AAC7C,8CAA+C;AAElC,QAAA,WAAW,GAAG,IAAI,mBAAO,EAAE;KACnC,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,gBAAQ,CAAC,WAAW,CAAC;KACjC,OAAO,CAAC,gBAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;KACxD,UAAU,CAAC,wBAAc,CAAC;KAC1B,UAAU,CAAC,sBAAa,CAAC;KACzB,UAAU,CAAC,oBAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"depinder.js","sourceRoot":"","sources":["../src/depinder.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,yCAAsC;AACtC,gDAAiD;AACjD,4CAA6C;AAC7C,8CAA+C;AAC/C,gFAAkF;AAErE,QAAA,WAAW,GAAG,IAAI,mBAAO,EAAE;KACnC,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,gBAAQ,CAAC,WAAW,CAAC;KACjC,OAAO,CAAC,gBAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;KACxD,UAAU,CAAC,wBAAc,CAAC;KAC1B,UAAU,CAAC,sBAAa,CAAC;KACzB,UAAU,CAAC,oBAAY,CAAC;KACxB,UAAU,CAAC,yDAA+B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxworks/depinder",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "dxworks",
@@ -64,7 +64,8 @@
64
64
  "spdx-license-ids": "^3.0.10",
65
65
  "tmp": "^0.2.1",
66
66
  "toml": "^3.0.0",
67
- "winston": "^3.11.0"
67
+ "winston": "^3.11.0",
68
+ "xml2js": "^0.6.2"
68
69
  },
69
70
  "devDependencies": {
70
71
  "@types/cli-progress": "^3.9.2",
@@ -80,6 +81,7 @@
80
81
  "@types/string-template": "^1.0.2",
81
82
  "@types/tmp": "^0.2.3",
82
83
  "@types/ws": "^8.5.4",
84
+ "@types/xml2js": "^0.4.14",
83
85
  "@typescript-eslint/eslint-plugin": "^4.32.0",
84
86
  "@typescript-eslint/parser": "^4.32.0",
85
87
  "copyfiles": "^2.4.1",