@astral/pack 1.5.1 → 1.6.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 +23 -0
- package/commands/generatePackageJson/generatePackageJson.js +14 -1
- 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/package.json +1 -1
package/README.md
CHANGED
|
@@ -123,6 +123,29 @@ module.exports = defineConfig({
|
|
|
123
123
|
|
|
124
124
|
Результирующий package.json не будет содержать `engines`.
|
|
125
125
|
|
|
126
|
+
## Переопределение свойств package.json
|
|
127
|
+
|
|
128
|
+
Для переопределения свойств package.json необходимо использовать `overridePackageJson`:
|
|
129
|
+
```js
|
|
130
|
+
module.exports = defineConfig({
|
|
131
|
+
...config,
|
|
132
|
+
overridePackageJson: {
|
|
133
|
+
exports: {
|
|
134
|
+
'./base': './biome.json',
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`exports` в результирующем package.json будет:
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"exports": {
|
|
144
|
+
"./base": "./biome.json"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
126
149
|
## Отправка уведомлений в telegram
|
|
127
150
|
|
|
128
151
|
Отправляет в telegram уведомление об успешном релизе пакета:
|
|
@@ -102,14 +102,27 @@ const initAdditionalCommonProps = (packageVersion, { semanticRelease, lang, targ
|
|
|
102
102
|
}
|
|
103
103
|
return packageJson;
|
|
104
104
|
};
|
|
105
|
+
const initOverridePackageJson = ({ overridePackageJson }) => (originPackageJson) => {
|
|
106
|
+
if (!overridePackageJson) {
|
|
107
|
+
return originPackageJson;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
...originPackageJson,
|
|
111
|
+
...overridePackageJson,
|
|
112
|
+
};
|
|
113
|
+
};
|
|
105
114
|
const generatePackageJson = async ({ packageVersion, originPackageJson }, config) => {
|
|
106
115
|
services_1.logger.progress('Генерация package.json');
|
|
107
116
|
const omitProps = initOmitProps(config);
|
|
108
117
|
const updateReleaseGroup = initUpdatingReleaseGroup(config, packageVersion);
|
|
109
118
|
const updateAdditionalCommonProps = initAdditionalCommonProps(packageVersion, config);
|
|
110
119
|
const generateExports = initExportsGenerator(config);
|
|
111
|
-
const
|
|
120
|
+
const overridePackageJson = initOverridePackageJson(config);
|
|
121
|
+
const packageJson = overridePackageJson(generateExports(omitProps(updateAdditionalCommonProps(updateReleaseGroup(originPackageJson)))));
|
|
112
122
|
const { distPath } = config;
|
|
123
|
+
if (!fs_1.default.existsSync(distPath)) {
|
|
124
|
+
fs_1.default.mkdirSync(distPath);
|
|
125
|
+
}
|
|
113
126
|
fs_1.default.writeFileSync(path_1.default.join(distPath, 'package.json'), JSON.stringify(packageJson, null, 2));
|
|
114
127
|
services_1.logger.success('package.json успешно сформирован в ', distPath);
|
|
115
128
|
};
|
|
@@ -29,6 +29,7 @@ export declare class ConfigService {
|
|
|
29
29
|
};
|
|
30
30
|
get packageExports(): import("../types").PackageExports | undefined;
|
|
31
31
|
get omitPackageJsonProps(): string[] | undefined;
|
|
32
|
+
get overridePackageJson(): Record<string, unknown> | undefined;
|
|
32
33
|
parseOriginPackageJson: ({ ignoreMain, }?: {
|
|
33
34
|
ignoreMain?: boolean;
|
|
34
35
|
}) => PackageJson;
|
|
@@ -95,6 +95,9 @@ class ConfigService {
|
|
|
95
95
|
get omitPackageJsonProps() {
|
|
96
96
|
return this.config.omitPackageJsonProps;
|
|
97
97
|
}
|
|
98
|
+
get overridePackageJson() {
|
|
99
|
+
return this.config.overridePackageJson;
|
|
100
|
+
}
|
|
98
101
|
parseOriginPackageJson = ({ ignoreMain, } = {}) => {
|
|
99
102
|
const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.join(this.projectPath, 'package.json'), 'utf8'));
|
|
100
103
|
if (!ignoreMain && !packageJson.main) {
|
package/config/types.d.ts
CHANGED
|
@@ -55,5 +55,9 @@ export type PackConfig = {
|
|
|
55
55
|
* Удаляет указанные props в сгенерированном package.json
|
|
56
56
|
*/
|
|
57
57
|
omitPackageJsonProps?: string[];
|
|
58
|
+
/**
|
|
59
|
+
* Позволяет переопределить итоговый package.json
|
|
60
|
+
*/
|
|
61
|
+
overridePackageJson?: Record<string, unknown>;
|
|
58
62
|
};
|
|
59
63
|
export type Lang = 'js' | 'ts';
|