]>
git.proxmox.com Git - mirror_novnc.git/blob - utils/use_require_helpers.js
1 // writes helpers require for vnc.html (they should output app.js)
2 var fs
= require('fs');
3 var fse
= require('fs-extra');
4 var path
= require('path');
6 // util.promisify requires Node.js 8.x, so we have our own
7 function promisify(original
) {
10 let args
= Array
.prototype.slice
.call(arguments
);
11 return new Promise((resolve
, reject
) => {
12 original
.apply(obj
, args
.concat((err
, value
) => {
13 if (err
) return reject(err
);
20 const writeFile
= promisify(fs
.writeFile
);
24 appWriter
: (base_out_path
, out_path
) => {
25 // setup for requirejs
26 return writeFile(out_path
, 'requirejs(["app/ui"], function (ui) {});')
28 console
.log(`Please place RequireJS in ${path.join(base_out_path, 'require.js')}`);
29 return `<script src="require.js" data-main="${path.relative(base_out_path, out_path)}"></script>`;
32 noCopyOverride
: () => {},
35 optionsOverride
: (opts
) => {
36 // CommonJS supports properly shifting the default export to work as normal
37 opts
.plugins
.unshift("add-module-exports");
39 appWriter
: (base_out_path
, out_path
) => {
40 var browserify
= require('browserify');
41 var b
= browserify(path
.join(base_out_path
, 'app/ui.js'), {});
42 return promisify(b
.bundle
).call(b
)
43 .then((buf
) => writeFile(out_path
, buf
))
44 .then(() => `<script src="${path.relative(base_out_path, out_path)}"></script>`);
46 noCopyOverride
: () => {},
49 appWriter
: (base_out_path
, out_path
) => {
50 return writeFile(out_path
, 'SystemJS.import("./app/ui.js");')
52 console
.log(`Please place SystemJS in ${path.join(base_out_path, 'system-production.js')}`);
53 return `<script src="vendor/promise.js"></script>
54 <script src="system-production.js"></script>\n<script src="${path.relative(base_out_path, out_path)}"></script>`;
57 noCopyOverride
: (paths
, no_copy_files
) => {
58 no_copy_files
.delete(path
.join(paths
.vendor
, 'promise.js'));
62 optionsOverride
: (opts
) => {
63 // umd supports properly shifting the default export to work as normal
64 opts
.plugins
.unshift("add-module-exports");