Skip to content

Instantly share code, notes, and snippets.

@imbolc
Created March 12, 2013 06:04
Show Gist options
  • Save imbolc/5140667 to your computer and use it in GitHub Desktop.
Save imbolc/5140667 to your computer and use it in GitHub Desktop.
lmd-noname-deps
/*jslint node: true */
"use strict";
function noname_deps(paths) {
function format_single(path, parent_name) {
var dep = {path: path};
if (parent_name) {
dep.require = {};
dep.require[parent_name] = parent_name;
}
return dep;
}
function path_to_name(path) {
var name = path.slice(0, -3);
name = name.replace(/\-/g, '_');
name = name.replace(/\./g, '__');
name = name.replace(/\//g, '__');
return name;
}
var parent_name, deps = {};
paths.forEach(function (path) {
var name = path_to_name(path);
deps[name] = format_single(path, parent_name);
parent_name = name;
});
return deps;
}
var deps = noname_deps([
'vendor/file-upload/vendor/jquery.ui.widget.js',
'vendor/file-upload/tmpl.min.js',
'vendor/load-image.js',
'vendor/file-upload/canvas-to-blob.min.js',
'vendor/bootstrap-image-gallery.js',
'vendor/file-upload/jquery.iframe-transport.js',
'vendor/file-upload/jquery.fileupload.js',
'vendor/file-upload/jquery.fileupload-fp.js',
'vendor/file-upload/jquery.fileupload-ui.js',
'vendor/file-upload/main.js'
]);
console.log(JSON.stringify(deps, null, 4));
/*
{
"vendor__file_upload__vendor__jquery__ui__widget": {
"path": "vendor/file-upload/vendor/jquery.ui.widget.js"
},
"vendor__file_upload__tmpl__min": {
"path": "vendor/file-upload/tmpl.min.js",
"require": {
"vendor__file_upload__vendor__jquery__ui__widget": "vendor__file_upload__vendor__jquery__ui__widget"
}
},
"vendor__load_image": {
"path": "vendor/load-image.js",
"require": {
"vendor__file_upload__tmpl__min": "vendor__file_upload__tmpl__min"
}
},
"vendor__file_upload__canvas_to_blob__min": {
"path": "vendor/file-upload/canvas-to-blob.min.js",
"require": {
"vendor__load_image": "vendor__load_image"
}
},
"vendor__bootstrap_image_gallery": {
"path": "vendor/bootstrap-image-gallery.js",
"require": {
"vendor__file_upload__canvas_to_blob__min": "vendor__file_upload__canvas_to_blob__min"
}
},
"vendor__file_upload__jquery__iframe_transport": {
"path": "vendor/file-upload/jquery.iframe-transport.js",
"require": {
"vendor__bootstrap_image_gallery": "vendor__bootstrap_image_gallery"
}
},
"vendor__file_upload__jquery__fileupload": {
"path": "vendor/file-upload/jquery.fileupload.js",
"require": {
"vendor__file_upload__jquery__iframe_transport": "vendor__file_upload__jquery__iframe_transport"
}
},
"vendor__file_upload__jquery__fileupload_fp": {
"path": "vendor/file-upload/jquery.fileupload-fp.js",
"require": {
"vendor__file_upload__jquery__fileupload": "vendor__file_upload__jquery__fileupload"
}
},
"vendor__file_upload__jquery__fileupload_ui": {
"path": "vendor/file-upload/jquery.fileupload-ui.js",
"require": {
"vendor__file_upload__jquery__fileupload_fp": "vendor__file_upload__jquery__fileupload_fp"
}
},
"vendor__file_upload__main": {
"path": "vendor/file-upload/main.js",
"require": {
"vendor__file_upload__jquery__fileupload_ui": "vendor__file_upload__jquery__fileupload_ui"
}
}
}
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment