webpack-userscript
Version:
A Webpack plugin for userscript projects.
41 lines • 1.65 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProcessProxyScript = void 0;
const node_url_1 = require("node:url");
const feature_1 = require("./feature");
class ProcessProxyScript extends feature_1.Feature {
constructor() {
super(...arguments);
this.name = 'ProcessProxyScript';
}
apply({ hooks }) {
const { proxyScript } = this.options;
if (proxyScript) {
hooks.proxyHeaders.tap(this.name, (headers, { fileInfo: { userjsFile } }) => {
const devBaseUrl = !proxyScript.baseURL
? 'http://localhost:8080/'
: proxyScript.baseURL;
const requireTags = Array.isArray(headers.require)
? headers.require
: typeof headers.require === 'string'
? [headers.require]
: [];
headers = Object.assign(Object.assign({}, headers), { require: [
...requireTags,
new node_url_1.URL(userjsFile, devBaseUrl).toString(),
], downloadURL: undefined, updateURL: undefined, installURL: undefined });
return headers;
});
hooks.proxyScriptFile.tap(this.name, () => {
if (!proxyScript.filename) {
return '[basename].proxy.user.js';
}
else {
return proxyScript.filename;
}
});
}
}
}
exports.ProcessProxyScript = ProcessProxyScript;
//# sourceMappingURL=proxy-script.js.map
;