Skip to content
This repository
Newer
Older
100644 75 lines (45 sloc) 3.375 kb
023aaed1 » Matt Diamond
2012-06-18 2 legit 2 commit
1 FuckItJS
2 ========
c955955a » Matt Diamond
2012-06-21 updating documentation
3 ### Javascript Error Steamroller
d798bcb6 » Matt Diamond
2012-06-21 updating documentation
4
5 FuckItJS uses state-of-the-art technology to make sure your javascript code runs whether your compiler likes it or not.
6
7 Technology
8 ----------
9
10 Through a process known as *Eval-Rinse-Reload-And-Repeat*, FuckItJS repeatedly compiles your code, detecting errors and slicing those lines out of the script.
11 To survive such a violent process, FuckItJS reloads itself after each iteration, allowing the onerror handler to catch every single error in your terribly written code.
023aaed1 » Matt Diamond
2012-06-18 2 legit 2 commit
12
e9d1bb3d » Matt Diamond
2012-06-18 documentation refactorization
13 Installation
14 ------------
023aaed1 » Matt Diamond
2012-06-18 2 legit 2 commit
15
13a6cfbb » Matt Diamond
2012-06-21 updating documentation
16 1. Include jQuery, because everything requires jQuery
17 2. Include "fuckit.js"
18 3. The End
c2b9de56 » Matt Diamond
2012-06-21 updating documentation
19
20 API
21 ---
22
5a1dd9e6 » Matt Diamond
2012-06-21 updating documentation
23 **FuckIt**(*path_to_your_shitty_script_file*)
c2b9de56 » Matt Diamond
2012-06-21 updating documentation
24
d798bcb6 » Matt Diamond
2012-06-21 updating documentation
25 This will keep evaluating your code until all errors have been sliced off like mold on a piece of perfectly good bread.
26 Whether or not the remaining code is even worth executing, we don't know. We also don't particularly care.
e90d7039 » Matt Diamond
2012-06-18 documentation refactorization
27
f026145b » Matt Diamond
2012-06-25 updating docs
28 FuckIt returns a promise that will be resolved once your godforsaken code actually makes it to the finish line. You can use this callback to chain additional FuckIt calls, since we all know calling it once won't do enough damage to the Internet.
29
08fc0bcb » Matt Diamond
2012-06-21 updating documentation
30 **FuckIt.noConflict**()
31
32 Are you using two different FuckIt libraries? Fuck it, use FuckIt.NoConflict.
5e67fe3e » Matt Diamond
2012-06-21 updating documentation
33 Of course, this won't really help since FuckItJS reloads itself multiple times and will continually overwrite the global FuckIt variable, but hey... at least you can feel like you're doing something smart.
08fc0bcb » Matt Diamond
2012-06-21 updating documentation
34
b2d13b08 » Matt Diamond
2012-06-23 adding FuckIt.moreConflict()
35 **FuckIt.moreConflict**()
36
3575b06c » Matt Diamond
2012-06-23 adding FuckIt.moreConflict()
37 Are you tired of running from conflict? Are you ready to overwrite every single property on the global `window` object even if it crashes your browser? Then this method is for you.
b2d13b08 » Matt Diamond
2012-06-23 adding FuckIt.moreConflict()
38
2e236571 » Matt Diamond
2012-06-21 updating documentation
39 Browser Compatibility
40 ---------------------
41
42 Really? *Really?*
43
e90d7039 » Matt Diamond
2012-06-18 documentation refactorization
44 FAQ
45 -------
46
d798bcb6 » Matt Diamond
2012-06-21 updating documentation
47 **1) Is this a good idea?**
48
49 Of course not. This is quite possibly the worst javascript plugin ever written.
50
51 **2) Isn't "eval" evil?**
dc39840a » Matt Diamond
2012-06-18 documentation refactorization
52
d798bcb6 » Matt Diamond
2012-06-21 updating documentation
53 See Question #1.
e0274ae0 » Matt Diamond
2012-06-23 UPDATING LICENSE
54
b3aef688 » Matt Diamond
2012-06-25 adding Support info
55 Support
56 -------
57
58 For technical issues: [@mattdiamond](http://twitter.com/mattdiamond) on Twitter, or e-mail me at [mdiamond@jhu.edu](mailto:mdiamond@jhu.edu)
59
60 For personal issues: Take a deep breath, it's going to be okay.
61
e0274ae0 » Matt Diamond
2012-06-23 UPDATING LICENSE
62 LICENSE
63 -------
64
65 Copyright (C) 2012, Matt Diamond
66
67 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, pulverize, distribute, synergize, compost, defenestrate, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
68
69 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
70
71 If the Author of the Software (the "Author") needs a place to crash and you have a sofa available, you should maybe give the Author a break and let him sleep on your couch.
72
73 If you are caught in a dire situation wherein you only have enough time to save one person out of a group, and the Author is a member of that group, you must save the Author.
74
75 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO BLAH BLAH BLAH ISN'T IT FUNNY HOW UPPER-CASE MAKES IT SOUND LIKE THE LICENSE IS ANGRY AND SHOUTING AT YOU.
Something went wrong with that request. Please try again.