Skip to content

Commit 3d8f8e9

Browse files
author
Vlad Haidei
authored
Merge pull request #14 from CubikNeRubik/fix/postinstall-script
Fix/postinstall script
2 parents 6a5ae2a + 5d2df4d commit 3d8f8e9

File tree

4 files changed

+31
-51
lines changed

4 files changed

+31
-51
lines changed

extra-webpack.config.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ const path = require('path');
22

33
module.exports = {
44
target: 'electron-renderer',
5-
// don't remove this comments it is used for parsing by postinstall.config.js
6-
// start of extra configs
75
externals: {
86
typeorm: "require('typeorm')",
97
sqlite3: "require('sqlite3')",
@@ -13,5 +11,4 @@ module.exports = {
1311
typeorm: path.resolve(__dirname, "../node_modules/typeorm/typeorm-model-shim")
1412
}
1513
}
16-
// end of extra configs
1714
};

postinstall-web.js

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,18 @@ const fs = require('fs');
33
const f_angular = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js';
44
const { getConfigs } = require('./postinstall.config');
55

6-
getConfigs()
7-
.then(({webConfig}) => {
6+
const { webConfig } = getConfigs();
7+
fs.readFile(f_angular, 'utf8', function (err, data) {
88

9-
fs.readFile(f_angular, 'utf8', function (err, data) {
9+
if (err) {
10+
return console.log(err);
11+
}
1012

11-
if (err) {
12-
return console.log(err);
13-
}
13+
let result = data.replace(/return {[\s\S]+?$/m, 'return {');
14+
result = result.replace(/target: "web",/g, '');
15+
result = result.replace(/return \{/g, 'return {' + webConfig);
1416

15-
var result = data.replace(/return {([\s\S]+)}[\s]+,/, 'return {');
16-
var result = result.replace(/target: "web",/g, '');
17-
var result = result.replace(/return \{/g, 'return {' + webConfig);
18-
19-
fs.writeFile(f_angular, result, 'utf8', function (err) {
20-
if (err) return console.log(err);
21-
});
22-
});
17+
fs.writeFile(f_angular, result, 'utf8', function (err) {
18+
if (err) return console.log(err);
2319
});
20+
});

postinstall.config.js

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,14 @@
1-
const fs = require('fs');
2-
const f_angular = 'extra-webpack.config.js';
3-
const regex = /\/\/ start of extra configs([\S\s]+)\/\/ end of extra configs/;
1+
const config = require('./extra-webpack.config.js');
42

53
module.exports.getConfigs = function(){
6-
return new Promise((resolve, reject) => {
4+
config.target = 'electron-renderer';
5+
electronConfig = JSON.stringify(config).slice(1,-1) + ',';
76

8-
fs.readFile(f_angular, 'utf8', function (err, data) {
9-
if (err) {
10-
console.log(err);
11-
reject(err);
12-
}
7+
config.target = 'web';
8+
webConfig = JSON.stringify(config).slice(1,-1) + ',';
139

14-
var extra = data.match(regex)[1];
15-
16-
const electronConfig = 'target: "electron-renderer", ' + extra + ',';
17-
const webConfig = 'target: "web", ' + extra + ',';
18-
19-
resolve({
20-
electronConfig,
21-
webConfig
22-
})
23-
});
24-
});
10+
return {
11+
electronConfig,
12+
webConfig
13+
};
2514
};

postinstall.js

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,18 @@ const fs = require('fs');
33
const f_angular = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js';
44
const { getConfigs } = require('./postinstall.config');
55

6-
getConfigs()
7-
.then(({electronConfig}) => {
6+
const { electronConfig } = getConfigs();
7+
fs.readFile(f_angular, 'utf8', function (err, data) {
88

9-
fs.readFile(f_angular, 'utf8', function (err, data) {
9+
if (err) {
10+
return console.log(err);
11+
}
1012

11-
if (err) {
12-
return console.log(err);
13-
}
13+
let result = data.replace(/return {[\s\S]+?$/m, 'return {');
14+
result = result.replace(/target: "web",/g, '');
15+
result = result.replace(/return \{/g, 'return {' + electronConfig);
1416

15-
var result = data.replace(/return {([\s\S]+)}[\s]+,/, 'return {');
16-
var result = result.replace(/target: "web",/g, '');
17-
var result = result.replace(/return \{/g, 'return {' + electronConfig);
18-
19-
fs.writeFile(f_angular, result, 'utf8', function (err) {
20-
if (err) return console.log(err);
21-
});
22-
});
17+
fs.writeFile(f_angular, result, 'utf8', function (err) {
18+
if (err) return console.log(err);
2319
});
20+
});

0 commit comments

Comments
 (0)