@astral/pack 1.0.0 → 1.1.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.
- package/README.md +12 -0
- package/bin.js +0 -1
- package/commands/generatePackageJson/generatePackageJson.js +15 -5
- package/config/ConfigService/ConfigService.d.ts +1 -0
- package/config/ConfigService/ConfigService.js +3 -0
- package/config/ConfigService/validation.js +1 -0
- package/config/types.d.ts +4 -0
- package/node/bin.js +0 -1
- package/node/commands/generatePackageJson/generatePackageJson.js +15 -5
- package/node/config/ConfigService/ConfigService.d.ts +1 -0
- package/node/config/ConfigService/ConfigService.js +3 -0
- package/node/config/ConfigService/validation.js +1 -0
- package/node/config/types.d.ts +4 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -109,3 +109,15 @@ module.exports = {
|
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
`@astral/validations` будет иметь после сборки ту же версию, что и основной пакет.
|
|
112
|
+
|
|
113
|
+
## Удаление свойств package.json
|
|
114
|
+
|
|
115
|
+
Для удаления свойств package.json необходимо использовать `omitPackageJsonProps`:
|
|
116
|
+
```js
|
|
117
|
+
module.exports = defineConfig({
|
|
118
|
+
...config,
|
|
119
|
+
omitPackageJsonProps: ['engines'],
|
|
120
|
+
});
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Результирующий package.json не будет содержать `engines`.
|
package/bin.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { build, checkPackageVersion, createRelease } from './commands';
|
|
3
3
|
import { ConfigService } from './config';
|
|
4
4
|
import { CLICommand, parseArgs } from './cli';
|
|
5
|
-
console.log('process', process.env.CUSTOM);
|
|
6
5
|
const start = async () => {
|
|
7
6
|
const { command, packageVersion } = parseArgs();
|
|
8
7
|
let configService;
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import { logger } from '../../services';
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const initOmitProps = ({ omitPackageJsonProps = [] }) => (originPackageJson) => {
|
|
5
|
+
const devProps = [
|
|
6
|
+
'scripts',
|
|
7
|
+
'devDependencies',
|
|
8
|
+
'typesVersions',
|
|
9
|
+
...omitPackageJsonProps,
|
|
10
|
+
];
|
|
11
|
+
return Object.entries(originPackageJson).reduce((packageJson, [key, value]) => {
|
|
12
|
+
if (!devProps.includes(key)) {
|
|
13
|
+
packageJson[key] = value;
|
|
14
|
+
}
|
|
15
|
+
return packageJson;
|
|
16
|
+
}, {});
|
|
8
17
|
};
|
|
9
18
|
/**
|
|
10
19
|
* Устанавливает пакетам из releaseGroup одну версию в зависимостях
|
|
@@ -60,10 +69,11 @@ const initAdditionalCommonProps = (packageVersion, config) => (originPackageJson
|
|
|
60
69
|
});
|
|
61
70
|
export const generatePackageJson = async ({ packageVersion, originPackageJson }, config) => {
|
|
62
71
|
logger.progress('Генерация package.json');
|
|
72
|
+
const omitProps = initOmitProps(config);
|
|
63
73
|
const updateReleaseGroup = initUpdatingReleaseGroup(config, packageVersion);
|
|
64
74
|
const updateAdditionalCommonProps = initAdditionalCommonProps(packageVersion, config);
|
|
65
75
|
const generateExports = initExportsGenerator(config);
|
|
66
|
-
const packageJson = generateExports(
|
|
76
|
+
const packageJson = generateExports(omitProps(updateAdditionalCommonProps(updateReleaseGroup(originPackageJson))));
|
|
67
77
|
const { distPath } = config;
|
|
68
78
|
fs.writeFileSync(path.join(distPath, 'package.json'), JSON.stringify(packageJson, null, 2));
|
|
69
79
|
logger.success('package.json успешно сформирован в ', distPath);
|
|
@@ -51,6 +51,9 @@ export class ConfigService {
|
|
|
51
51
|
get packageExports() {
|
|
52
52
|
return this.config.packageExports;
|
|
53
53
|
}
|
|
54
|
+
get omitPackageJsonProps() {
|
|
55
|
+
return this.config.omitPackageJsonProps;
|
|
56
|
+
}
|
|
54
57
|
parseConfig = () => {
|
|
55
58
|
const configPath = path.join(this.projectPath, this.configName);
|
|
56
59
|
if (!fs.existsSync(configPath)) {
|
package/config/types.d.ts
CHANGED
package/node/bin.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
const commands_1 = require("./commands");
|
|
5
5
|
const config_1 = require("./config");
|
|
6
6
|
const cli_1 = require("./cli");
|
|
7
|
-
console.log('process', process.env.CUSTOM);
|
|
8
7
|
const start = async () => {
|
|
9
8
|
const { command, packageVersion } = (0, cli_1.parseArgs)();
|
|
10
9
|
let configService;
|
|
@@ -7,10 +7,19 @@ exports.generatePackageJson = void 0;
|
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const services_1 = require("../../services");
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const initOmitProps = ({ omitPackageJsonProps = [] }) => (originPackageJson) => {
|
|
11
|
+
const devProps = [
|
|
12
|
+
'scripts',
|
|
13
|
+
'devDependencies',
|
|
14
|
+
'typesVersions',
|
|
15
|
+
...omitPackageJsonProps,
|
|
16
|
+
];
|
|
17
|
+
return Object.entries(originPackageJson).reduce((packageJson, [key, value]) => {
|
|
18
|
+
if (!devProps.includes(key)) {
|
|
19
|
+
packageJson[key] = value;
|
|
20
|
+
}
|
|
21
|
+
return packageJson;
|
|
22
|
+
}, {});
|
|
14
23
|
};
|
|
15
24
|
/**
|
|
16
25
|
* Устанавливает пакетам из releaseGroup одну версию в зависимостях
|
|
@@ -66,10 +75,11 @@ const initAdditionalCommonProps = (packageVersion, config) => (originPackageJson
|
|
|
66
75
|
});
|
|
67
76
|
const generatePackageJson = async ({ packageVersion, originPackageJson }, config) => {
|
|
68
77
|
services_1.logger.progress('Генерация package.json');
|
|
78
|
+
const omitProps = initOmitProps(config);
|
|
69
79
|
const updateReleaseGroup = initUpdatingReleaseGroup(config, packageVersion);
|
|
70
80
|
const updateAdditionalCommonProps = initAdditionalCommonProps(packageVersion, config);
|
|
71
81
|
const generateExports = initExportsGenerator(config);
|
|
72
|
-
const packageJson = generateExports(
|
|
82
|
+
const packageJson = generateExports(omitProps(updateAdditionalCommonProps(updateReleaseGroup(originPackageJson))));
|
|
73
83
|
const { distPath } = config;
|
|
74
84
|
fs_1.default.writeFileSync(path_1.default.join(distPath, 'package.json'), JSON.stringify(packageJson, null, 2));
|
|
75
85
|
services_1.logger.success('package.json успешно сформирован в ', distPath);
|
|
@@ -90,6 +90,9 @@ class ConfigService {
|
|
|
90
90
|
get packageExports() {
|
|
91
91
|
return this.config.packageExports;
|
|
92
92
|
}
|
|
93
|
+
get omitPackageJsonProps() {
|
|
94
|
+
return this.config.omitPackageJsonProps;
|
|
95
|
+
}
|
|
93
96
|
parseConfig = () => {
|
|
94
97
|
const configPath = path_1.default.join(this.projectPath, this.configName);
|
|
95
98
|
if (!fs_1.default.existsSync(configPath)) {
|
package/node/config/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astral/pack",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"bin": {
|
|
5
5
|
"pack": "bin.js"
|
|
6
6
|
},
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"node": ">=22"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@astral/validations": "
|
|
11
|
+
"@astral/validations": "^4.24.1",
|
|
12
12
|
"recursive-copy": "^2.0.14",
|
|
13
13
|
"semantic-release": "^24.2.3",
|
|
14
14
|
"@semantic-release/changelog": "~6.0.3",
|