forked from components/jqueryui
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathtransform.js
More file actions
executable file
·24 lines (19 loc) · 871 Bytes
/
transform.js
File metadata and controls
executable file
·24 lines (19 loc) · 871 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env node
var fs = require('fs');
fs.readdirSync(__dirname + '/../ui').forEach(function(file) {
if (!/\.js$/.test(file)) return;
var filename = __dirname + '/../ui/' + file;
var contents = fs.readFileSync(filename, 'utf8');
var prepend = ["var jQuery = require('jquery');"];
// parse dependencies in comments
var deps = contents.match(/\s*\/* Depends:\s*\n(?:[\s\*]*(jquery\.ui\..+\.js)\s*\n)+/);
if (deps) {
deps[0].split('\n').slice(1, -1).forEach(function(dep) {
dep = dep.replace(/[\s\*]/g, '').replace(/^jquery[.-]ui\.(.+)\.js/, '$1');
prepend.push("require('./" + dep + "');");
});
}
// prepend jQuery require and all dependencies for the module
contents = prepend.join('\n') + '\n\n' + contents;
fs.writeFileSync(__dirname + '/../' + file.replace(/^jquery[.-]ui\.(.+)\.js/, '$1.js'), contents, 'utf8');
});