Skip to content

Commit 48d019c

Browse files
authored
fix: remove extraneous tmp-promise dependency (#18)
* Remove tmp-promise in favor of standard tmp * Replace tmp-promise usages with tmp Co-authored-by: Kevin Montag <[email protected]>
1 parent 0f822ff commit 48d019c

File tree

3 files changed

+37
-84
lines changed

3 files changed

+37
-84
lines changed

index.js

+35-22
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const fs = require('fs');
22
const { pbjs, pbts } = require('protobufjs-cli');
33
const protobuf = require('protobufjs');
4-
const tmp = require('tmp-promise');
4+
const tmp = require('tmp');
55
const validateOptions = require('schema-utils').validate;
66

77
const { getOptions } = require('loader-utils');
@@ -83,16 +83,23 @@ const execPbts = (resourcePath, pbtsOptions, compiledContent, callback) => {
8383

8484
// pbts CLI only supports streaming from stdin without a lot of
8585
// duplicated logic, so we need to use a tmp file. :(
86-
tmp
87-
.file({ postfix: '.js' })
86+
new Promise((resolve, reject) => {
87+
tmp.file({ postfix: '.js' }, (err, compiledFilename) => {
88+
if (err) {
89+
reject(err);
90+
} else {
91+
resolve(compiledFilename);
92+
}
93+
});
94+
})
8895
.then(
89-
(o) =>
96+
(compiledFilename) =>
9097
new Promise((resolve, reject) => {
91-
fs.write(o.fd, compiledContent, (err) => {
98+
fs.writeFile(compiledFilename, compiledContent, (err) => {
9299
if (err) {
93100
reject(err);
94101
} else {
95-
resolve(o.path);
102+
resolve(compiledFilename);
96103
}
97104
});
98105
})
@@ -152,22 +159,28 @@ module.exports = function protobufJsLoader(source) {
152159
validateOptions(schema, options, { name: 'protobufjs-loader' });
153160

154161
/** @type { string } */
155-
let filename;
156-
tmp
157-
.file()
158-
.then((o) => {
159-
filename = o.path;
160-
return new Promise((resolve, reject) => {
161-
fs.write(o.fd, source, (err, bytesWritten) => {
162-
if (err) {
163-
reject(err);
164-
} else {
165-
resolve(bytesWritten);
166-
}
167-
});
168-
});
169-
})
170-
.then(() => {
162+
new Promise((resolve, reject) => {
163+
tmp.file((err, filename) => {
164+
if (err) {
165+
reject(err);
166+
} else {
167+
resolve(filename);
168+
}
169+
});
170+
})
171+
.then(
172+
(filename) =>
173+
new Promise((resolve, reject) => {
174+
fs.writeFile(filename, source, (err) => {
175+
if (err) {
176+
reject(err);
177+
} else {
178+
resolve(filename);
179+
}
180+
});
181+
})
182+
)
183+
.then((filename) => {
171184
const { paths } = options;
172185

173186
const loadDependencies = new Promise((resolve, reject) => {

package-lock.json

+1-60
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"protobufjs": "^7.0.0",
3131
"protobufjs-cli": "^1.0.0",
3232
"schema-utils": "^4.0.0",
33-
"tmp-promise": "^1.0.4"
33+
"tmp": "^0.2.1"
3434
},
3535
"devDependencies": {
3636
"@types/chai": "^4.3.1",
@@ -54,7 +54,6 @@
5454
"prettier": "^2.7.1",
5555
"semantic-release": "^19.0.3",
5656
"semver": "^7.1.2",
57-
"tmp": "^0.2.1",
5857
"typescript": "^4.7.4",
5958
"uglify-js": "^3.16.2",
6059
"webpack": "^5.0.0",

0 commit comments

Comments
 (0)