slim-package-json 0.1.1 → 0.1.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/dist/index.cjs +2 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +2 -2
- package/package.json +3 -2
- package/src/index.test.ts +45 -0
- package/src/index.ts +2 -2
package/dist/index.cjs
CHANGED
|
@@ -59,7 +59,7 @@ function addUsedDependencies(fileContent, rootPackageJson, childPackageJson) {
|
|
|
59
59
|
for (const [key, val] of Object.entries(
|
|
60
60
|
rootPackageJson.dependencies ?? {}
|
|
61
61
|
)) {
|
|
62
|
-
if (fileContent.includes(`from '${key}`) || fileContent.includes(`from "${key}`) || fileContent.includes(`require('${key}`) || fileContent.includes(`require("${key}
|
|
62
|
+
if (fileContent.includes(`from '${key}`) || fileContent.includes(`from "${key}`) || fileContent.includes(`require('${key}`) || fileContent.includes(`require("${key}`)) {
|
|
63
63
|
if (!childPackageJson.dependencies) {
|
|
64
64
|
childPackageJson.dependencies = {};
|
|
65
65
|
}
|
|
@@ -78,4 +78,5 @@ function addUsedDependencies(fileContent, rootPackageJson, childPackageJson) {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
exports.addUsedDependencies = addUsedDependencies;
|
|
81
82
|
exports.generateSlimPackageJson = generateSlimPackageJson;
|
package/dist/index.d.cts
CHANGED
|
@@ -22,6 +22,7 @@ type GeneratePackageJsonArgs = {
|
|
|
22
22
|
dir: string;
|
|
23
23
|
};
|
|
24
24
|
declare function generateSlimPackageJson(args: GeneratePackageJsonArgs): Promise<void>;
|
|
25
|
+
declare function addUsedDependencies(fileContent: string, rootPackageJson: PackageJson, childPackageJson: PackageJson): void;
|
|
25
26
|
|
|
26
|
-
export { generateSlimPackageJson };
|
|
27
|
+
export { addUsedDependencies, generateSlimPackageJson };
|
|
27
28
|
export type { GeneratePackageJsonArgs, PackageJson };
|
package/dist/index.d.mts
CHANGED
|
@@ -22,6 +22,7 @@ type GeneratePackageJsonArgs = {
|
|
|
22
22
|
dir: string;
|
|
23
23
|
};
|
|
24
24
|
declare function generateSlimPackageJson(args: GeneratePackageJsonArgs): Promise<void>;
|
|
25
|
+
declare function addUsedDependencies(fileContent: string, rootPackageJson: PackageJson, childPackageJson: PackageJson): void;
|
|
25
26
|
|
|
26
|
-
export { generateSlimPackageJson };
|
|
27
|
+
export { addUsedDependencies, generateSlimPackageJson };
|
|
27
28
|
export type { GeneratePackageJsonArgs, PackageJson };
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ type GeneratePackageJsonArgs = {
|
|
|
22
22
|
dir: string;
|
|
23
23
|
};
|
|
24
24
|
declare function generateSlimPackageJson(args: GeneratePackageJsonArgs): Promise<void>;
|
|
25
|
+
declare function addUsedDependencies(fileContent: string, rootPackageJson: PackageJson, childPackageJson: PackageJson): void;
|
|
25
26
|
|
|
26
|
-
export { generateSlimPackageJson };
|
|
27
|
+
export { addUsedDependencies, generateSlimPackageJson };
|
|
27
28
|
export type { GeneratePackageJsonArgs, PackageJson };
|
package/dist/index.mjs
CHANGED
|
@@ -53,7 +53,7 @@ function addUsedDependencies(fileContent, rootPackageJson, childPackageJson) {
|
|
|
53
53
|
for (const [key, val] of Object.entries(
|
|
54
54
|
rootPackageJson.dependencies ?? {}
|
|
55
55
|
)) {
|
|
56
|
-
if (fileContent.includes(`from '${key}`) || fileContent.includes(`from "${key}`) || fileContent.includes(`require('${key}`) || fileContent.includes(`require("${key}
|
|
56
|
+
if (fileContent.includes(`from '${key}`) || fileContent.includes(`from "${key}`) || fileContent.includes(`require('${key}`) || fileContent.includes(`require("${key}`)) {
|
|
57
57
|
if (!childPackageJson.dependencies) {
|
|
58
58
|
childPackageJson.dependencies = {};
|
|
59
59
|
}
|
|
@@ -72,4 +72,4 @@ function addUsedDependencies(fileContent, rootPackageJson, childPackageJson) {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
export { generateSlimPackageJson };
|
|
75
|
+
export { addUsedDependencies, generateSlimPackageJson };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slim-package-json",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A cli tool for creating generating a package.json for containers that only includes the dependencies that were actually used",
|
|
5
5
|
"main": "./dist/index.mjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^25.6.0",
|
|
27
27
|
"prettier": "^3.8.2",
|
|
28
|
-
"unbuild": "^3.6.1"
|
|
28
|
+
"unbuild": "^3.6.1",
|
|
29
|
+
"vitest": "^4.1.4"
|
|
29
30
|
},
|
|
30
31
|
"scripts": {
|
|
31
32
|
"build": "unbuild"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { addUsedDependencies, PackageJson } from '.';
|
|
3
|
+
|
|
4
|
+
describe('addUsedDependencies', () => {
|
|
5
|
+
test('esm imports', () => {
|
|
6
|
+
const filecontents = [
|
|
7
|
+
`import {foo} from 'foo';`,
|
|
8
|
+
`import { bar } from "bar";`,
|
|
9
|
+
];
|
|
10
|
+
const packageJson: PackageJson = {
|
|
11
|
+
dependencies: {
|
|
12
|
+
foo: '1.0.0',
|
|
13
|
+
bar: '1.1.1',
|
|
14
|
+
baz: '2.68.0-beta2',
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
const projectPackageJson: PackageJson = {};
|
|
18
|
+
for (const content of filecontents) {
|
|
19
|
+
addUsedDependencies(content, packageJson, projectPackageJson);
|
|
20
|
+
}
|
|
21
|
+
expect(projectPackageJson).toStrictEqual({
|
|
22
|
+
dependencies: { foo: '1.0.0', bar: '1.1.1' },
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
test('cjs require()', () => {
|
|
26
|
+
const filecontents = [
|
|
27
|
+
`const foo = require('foo');`,
|
|
28
|
+
`const bar = require("bar");`,
|
|
29
|
+
];
|
|
30
|
+
const packageJson: PackageJson = {
|
|
31
|
+
dependencies: {
|
|
32
|
+
foo: '1.0.0',
|
|
33
|
+
bar: '1.1.1',
|
|
34
|
+
baz: '2.68.0-beta2',
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
const projectPackageJson: PackageJson = {};
|
|
38
|
+
for (const content of filecontents) {
|
|
39
|
+
addUsedDependencies(content, packageJson, projectPackageJson);
|
|
40
|
+
}
|
|
41
|
+
expect(projectPackageJson).toStrictEqual({
|
|
42
|
+
dependencies: { foo: '1.0.0', bar: '1.1.1' },
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -77,7 +77,7 @@ export async function generateSlimPackageJson(args: GeneratePackageJsonArgs) {
|
|
|
77
77
|
console.info(`Successfully wrote package.json to ${outputFile}`);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
function addUsedDependencies(
|
|
80
|
+
export function addUsedDependencies(
|
|
81
81
|
fileContent: string,
|
|
82
82
|
rootPackageJson: PackageJson,
|
|
83
83
|
childPackageJson: PackageJson,
|
|
@@ -89,7 +89,7 @@ function addUsedDependencies(
|
|
|
89
89
|
fileContent.includes(`from '${key}`) ||
|
|
90
90
|
fileContent.includes(`from "${key}`) ||
|
|
91
91
|
fileContent.includes(`require('${key}`) ||
|
|
92
|
-
fileContent.includes(`require("${key}
|
|
92
|
+
fileContent.includes(`require("${key}`)
|
|
93
93
|
) {
|
|
94
94
|
if (!childPackageJson.dependencies) {
|
|
95
95
|
childPackageJson.dependencies = {};
|