// skip these -- they don't belong in the processed application
path.join(paths.vendor, 'sinon.js'),
path.join(paths.vendor, 'browser-es-module-loader'),
- path.join(paths.vendor, 'promise.js'),
path.join(paths.app, 'images', 'icons', 'Makefile'),
]);
+const only_legacy_scripts = new Set([
+ path.join(paths.vendor, 'promise.js'),
+]);
+
const no_transform_files = new Set([
// don't transform this -- we want it imported as-is to properly catch loading errors
path.join(paths.app, 'error-handler.js'),
const helper = helpers[import_format];
const outFiles = [];
+ const legacyFiles = [];
const handleDir = (js_only, vendor_rewrite, in_path_base, filename) => Promise.resolve()
.then(() => {
});
}
+ if (only_legacy_scripts.has(filename)) {
+ legacyFiles.push(legacy_path);
+ return ensureDir(path.dirname(legacy_path))
+ .then(() => {
+ console.log(`Writing ${legacy_path}`);
+ return copy(filename, legacy_path);
+ });
+ }
+
return Promise.resolve()
.then(() => {
if (only_legacy) {
});
});
- if (with_app_dir && helper && helper.noCopyOverride) {
- helper.noCopyOverride(paths, no_copy_files);
- }
-
Promise.resolve()
.then(() => {
const handler = handleDir.bind(null, true, false, in_path || paths.main);
console.log(`Writing ${out_app_path}`);
return helper.appWriter(out_path_base, legacy_path_base, out_app_path)
.then((extra_scripts) => {
- const rel_app_path = path.relative(out_path_base, out_app_path);
- const legacy_scripts = extra_scripts.concat([rel_app_path]);
+ let legacy_scripts = extra_scripts;
+
+ legacyFiles.forEach((file) => {
+ let rel_file_path = path.relative(out_path_base, file);
+ legacy_scripts.push(rel_file_path);
+ });
+
+ let rel_app_path = path.relative(out_path_base, out_app_path);
+ legacy_scripts.push(rel_app_path);
+
transform_html(legacy_scripts, only_legacy);
})
.then(() => {
return [ require_path ];
});
},
- noCopyOverride: () => {},
},
'commonjs': {
optionsOverride: (opts) => {
.then(buf => writeFile(out_path, buf))
.then(() => []);
},
- noCopyOverride: () => {},
removeModules: true,
},
'systemjs': {
return writeFile(out_path, `SystemJS.import("${ui_path}");`)
.then(() => {
console.log(`Please place SystemJS in ${path.join(script_base_path, 'system-production.js')}`);
- // FIXME: Should probably be in the legacy directory
- const promise_path = path.relative(base_out_path,
- path.join(base_out_path, 'vendor', 'promise.js'));
const systemjs_path = path.relative(base_out_path,
path.join(script_base_path, 'system-production.js'));
- return [ promise_path, systemjs_path ];
+ return [ systemjs_path ];
});
},
- noCopyOverride: (paths, no_copy_files) => {
- no_copy_files.delete(path.join(paths.vendor, 'promise.js'));
- },
},
'umd': {
optionsOverride: (opts) => {