popeindustries / buddy Goto Github PK
View Code? Open in Web Editor NEWA simple build tool for html/js/css projects.
License: MIT License
A simple build tool for html/js/css projects.
License: MIT License
avoid relative path resolution on require() by resolving the absolute paths at build-time
Add hybrid AMD module plugin to allow module source to work with require.js.
Add flag for running a test command as specified in config.settings (similar to npm)
On the Mac we get:
require.register('views/tiler/TilerView', function(module, exports, require) {
On the PC we get:
require.register('views/tiler\TilerView', function(module, exports, require) {
Notice the "" on second level in the paths in the PC build. When run the code still requires "views/tiler/TilerView" and fails.
print all files stored in filelog
Skip module if alias set to false
:
"browser": {
"module": false
}
check that dependency has already been inlined
augment reload functionality with ability to serve static files as well
Make sure paths work on different machines
want to avoid the following behaviour:
input: src/test
output: test
=> test/test
input: src/test/ ??
When running buddy watch
and many files are changed at the same time - after a git checkout
, for example - not all changes are picked up, and things break. Check for many simultaneous file changes and force a hard restart.
Enable TypeScript support for js sources.
My tests are running fine by them selves but I get an error when I run them using the --test flag:
ReferenceError: fn is not defined
at /node_modules/buddy/lib/builder.js:258:4
at ChildProcess.exithandler (child_process.js:630:7)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:730:16)
at Socket.<anonymous> (child_process.js:943:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:451:12)
Should not fn() be passed in to the _executeScript function?
# builder.js line 246
Builder.prototype._executeScript = function() {
var script;
if (this.config.runtimeOptions.test && (script = this.config.settings.test)) {
print('executing test script...', 2);
debug("execute: " + (strong(this.config.settings.test)), 3);
exec(script, function(err, stdout, stderr) {
if (err) return fn(err);
if (stdout) console.log(stdout);
if (stderr) console.log(stderr);
fn();
});
}
};
Manually removed all node_modules and everything installed by buddy. Then ran npm install followed by buddy install. Backbone specified as "[email protected]". Removing the Backbone dependency makes install run fine. Buddy clean also fails.
$ buddy install
loaded config /Users/oyvind/code/XXX/package.json
installing dependencies...
installed browser-require to lib/vendor
installed nib to lib/stylus
installed fastclick to lib/vendor
installed jquery to lib/vendor
installed backbone to lib/vendor
error: TypeError: Object # has no method 'sort'
/Users/oyvind/code/XXX/node_modules/buddy/node_modules/buddy-cli/index.js:14
throw err;
^
TypeError: Object # has no method 'sort'
at Request._callback (/Users/oyvind/code/XXX/node_modules/buddy-dependencies/lib/dependency.js:158:11)
at Request.self.callback
Investigate adding support for component.json parsing
Generate source maps for concatenated and compressed files
Treat CSS @import rules as dependencies and inline for .css files.
Consider parsing html for module references during dependency analysis.
This seems to have fallen out after buddy started using package.json for config.
Add support for aliasing via browser
package.json property when used as hash
Need to retrieve the actual directory name of the unzipped package
Add 'bootstrap' option to config in order to enable a module to bootstrap itself:
{
"input": "src/js",
"output": "www/js",
"bootstrap": true
}
require.register('foo', function(module, exports, require) {
...
});
// Boot me
require('foo');
Enhance source path with ability to specify multiple subpaths in a directory:
'git://github.com/user/project.git@lib/some.js|some.css|somedir'
Upgrade the Commander.js version to latest, and use node-promptly for the prompt logic.
Dependencies shouldn't be skipped if already imported
Possible that node's child process reports itself as non-tty
Throw a warning when more than one version of the same module are used
Consider a --lazy mode that stores modules as strings for lazy evaluation
When using Netbeans (on Windows 7), Buddy can occasionally crash because it's watching temp files with the extension .0.nblh~ .. I think the ignored files pattern should add files ending with ~ ...
need to remove old and create new File instance
atomic_save: false
needs to be set for watch
to work in Sublime 3
Remove all files generated by buddy with a clean() command.
speed up install process by using github file api. Also avoid git commands on windows
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.