Skip to content

Commit 43948f4

Browse files
committed
feat(*): ability to remove an adhoc dependency
1 parent ada47b9 commit 43948f4

File tree

8 files changed

+25
-21
lines changed

8 files changed

+25
-21
lines changed

packages/genjs/src/AbstractPackage.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ export abstract class AbstractPackage<C extends BasePackageConfig = BasePackageC
7373
disabled_features.forEach(f => this.features[f] = false);
7474
Object.assign(this.extraOptions, bbExtraOptions, xExtraOptions);
7575
}
76+
protected cleanObject(o: undefined|Record<string, unknown>) {
77+
if (!o) return o;
78+
return Object.entries(o).filter(([_, b]) => null !== b && undefined !== b).reduce((acc, [a, b]) => Object.assign(acc, {[a]: b}), {} as Record<string, string>);
79+
}
7680
public getCustomPluginsByType<T extends object = any>(type: string, defaultValue: T = {} as T): T {
7781
const customPaths = [
7882
`${this.absoluteTargetDir}/.genjs/${type}`,
@@ -273,4 +277,4 @@ export abstract class AbstractPackage<C extends BasePackageConfig = BasePackageC
273277
}
274278

275279
// noinspection JSUnusedGlobalSymbols
276-
export default AbstractPackage
280+
export default AbstractPackage

packages/plugin-js-lambda-microlib/src/Package.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ export default class Package extends AbstractPackage<PackageConfig> {
181181
['package.json']: () => JSON.stringify({
182182
name: vars.name,
183183
license: vars.license,
184-
dependencies: vars.dependencies,
184+
dependencies: this.cleanObject(vars.dependencies),
185185
scripts: vars.scripts,
186-
devDependencies: vars.devDependencies,
186+
devDependencies: this.cleanObject(vars.devDependencies),
187187
...(vars.resolutions ? {resolutions: vars.resolutions} : {}),
188188
version: vars.version,
189189
description: vars.description,
@@ -329,4 +329,4 @@ export default class Package extends AbstractPackage<PackageConfig> {
329329
await this.prepareGenerate(vars);
330330
return super.generate(vars);
331331
}
332-
}
332+
}

packages/plugin-js-lambda/src/Package.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ export default class Package extends AwsLambdaPackage {
6464
return () => JSON.stringify({
6565
name: vars.name,
6666
license: vars.license,
67-
dependencies: vars.dependencies,
67+
dependencies: this.cleanObject(vars.dependencies),
6868
scripts: vars.scripts,
69-
devDependencies: vars.devDependencies,
69+
devDependencies: this.cleanObject(vars.devDependencies),
7070
...(vars.resolutions ? {resolutions: vars.resolutions} : {}),
7171
version: vars.version,
7272
description: vars.description,
@@ -119,4 +119,4 @@ export default class Package extends AwsLambdaPackage {
119119
'prettier',
120120
];
121121
}
122-
}
122+
}

packages/plugin-js-razzle/src/Package.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ export default class Package extends AwsLambdaPackage {
7070
return () => JSON.stringify({
7171
name: vars.name,
7272
license: vars.license,
73-
dependencies: vars.dependencies,
73+
dependencies: this.cleanObject(vars.dependencies),
7474
scripts: vars.scripts,
75-
devDependencies: vars.devDependencies,
75+
devDependencies: this.cleanObject(vars.devDependencies),
7676
version: vars.version,
7777
description: vars.description,
7878
author: (vars.author && ('object' === typeof vars.author)) ? vars.author : {name: vars.author_name, email: vars.author_email},
@@ -134,4 +134,4 @@ export default class Package extends AwsLambdaPackage {
134134
'react_razzle',
135135
];
136136
}
137-
}
137+
}

packages/plugin-js-react-router/src/Package.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ export default class Package extends AwsLambdaPackage {
7676
return () => JSON.stringify({
7777
name: vars.name,
7878
license: vars.license,
79-
dependencies: vars.dependencies,
79+
dependencies: this.cleanObject(vars.dependencies),
8080
scripts: vars.scripts,
81-
devDependencies: vars.devDependencies,
81+
devDependencies: this.cleanObject(vars.devDependencies),
8282
...(vars.resolutions ? {resolutions: vars.resolutions} : {}),
8383
version: vars.version,
8484
description: vars.description,

packages/plugin-php-lambda/src/Package.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ export default class Package extends AwsLambdaPackage {
4646
return () => JSON.stringify({
4747
name: vars.name,
4848
license: vars.license,
49-
dependencies: vars.dependencies,
49+
dependencies: this.cleanObject(vars.dependencies),
5050
scripts: vars.scripts,
51-
devDependencies: vars.devDependencies,
51+
devDependencies: this.cleanObject(vars.devDependencies),
5252
version: vars.version,
5353
description: vars.description,
5454
author: (vars.author && ('object' === typeof vars.author)) ? vars.author : {name: vars.author_name, email: vars.author_email},
@@ -124,4 +124,4 @@ export default class Package extends AwsLambdaPackage {
124124
'composer',
125125
];
126126
}
127-
}
127+
}

packages/plugin-ts-lambda/src/Package.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ export default class Package extends AwsLambdaPackage {
5656
return () => JSON.stringify({
5757
name: vars.name,
5858
license: vars.license,
59-
dependencies: vars.dependencies,
59+
dependencies: this.cleanObject(vars.dependencies),
6060
scripts: vars.scripts,
61-
devDependencies: vars.devDependencies,
61+
devDependencies: this.cleanObject(vars.devDependencies),
6262
version: vars.version,
6363
description: vars.description,
6464
author: (vars.author && ('object' === typeof vars.author)) ? vars.author : {name: vars.author_name, email: vars.author_email},
@@ -109,4 +109,4 @@ export default class Package extends AwsLambdaPackage {
109109
'prettier',
110110
];
111111
}
112-
}
112+
}

packages/plugin-ts-razzle/src/Package.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ export default class Package extends AwsLambdaPackage {
7777
return () => JSON.stringify({
7878
name: vars.name,
7979
license: vars.license,
80-
dependencies: vars.dependencies,
80+
dependencies: this.cleanObject(vars.dependencies),
8181
scripts: vars.scripts,
82-
devDependencies: vars.devDependencies,
82+
devDependencies: this.cleanObject(vars.devDependencies),
8383
version: vars.version,
8484
description: vars.description,
8585
author: (vars.author && ('object' === typeof vars.author)) ? vars.author : {name: vars.author_name, email: vars.author_email},
@@ -142,4 +142,4 @@ export default class Package extends AwsLambdaPackage {
142142
'react_razzle',
143143
];
144144
}
145-
}
145+
}

0 commit comments

Comments
 (0)