Kevin Sawicki
b2b4860983
Merge pull request #3761 from atom/ks-require-cache
...
Cache requires across installed packages
2014-10-15 14:00:10 -07:00
Kevin Sawicki
57fc3deaed
Assert that resolved atom shell module paths exist
2014-10-15 13:12:42 -07:00
Kevin Sawicki
677949d61c
Check that all builtins resolve without hitting fs
2014-10-15 13:09:47 -07:00
Kevin Sawicki
e09d7159bc
Add spec for no compatible module version available
2014-10-15 13:09:47 -07:00
Kevin Sawicki
e02af51a04
🐎 Extend range to memoize matched versions
2014-10-15 13:09:47 -07:00
Kevin Sawicki
d2c7a2caca
Return early when cache to add is missing
2014-10-15 13:09:47 -07:00
Kevin Sawicki
739a629552
💄
2014-10-15 13:09:47 -07:00
Kevin Sawicki
88f0183352
Remove unneeded quotes
2014-10-15 13:09:47 -07:00
Kevin Sawicki
7f01a163e5
💄
2014-10-15 13:09:47 -07:00
Kevin Sawicki
fc44662ba3
Add spec for resolving compatible module paths
2014-10-15 13:09:47 -07:00
Kevin Sawicki
5052aaca95
Don't leave empty paths with a trailing slash
2014-10-15 13:09:46 -07:00
Kevin Sawicki
826681b6c2
Add relative path cache spec
2014-10-15 13:09:46 -07:00
Kevin Sawicki
8334bba484
Add initial ModuleCache spec
2014-10-15 13:09:46 -07:00
Kevin Sawicki
a0ae526017
Check candidates after ranges
...
This way builtins are checked for correctly when the
range isn’t found
2014-10-15 13:09:46 -07:00
Kevin Sawicki
6a6c7b1852
Calculate load time in index.js
...
Do it previously in window-bootstrap caused several things to not be
included such as requiring coffee script and atom shell modules.
Now it is a much more accurate representation of on load time.
2014-10-15 13:09:46 -07:00
Kevin Sawicki
42040f8a9d
Return early when no candidates exist
2014-10-15 13:09:46 -07:00
Kevin Sawicki
9d1db0f3de
Remove unneeded trailing slash check
...
Package names don’t have these anyway and file paths
won’t be ending with them.
2014-10-15 13:09:46 -07:00
Kevin Sawicki
f0b922f643
Use String::startsWith
2014-10-15 13:09:46 -07:00
Kevin Sawicki
bb92b8697d
Add isCorePath helper
2014-10-15 13:09:46 -07:00
Kevin Sawicki
4c17c9eae6
fs-plust -> fs-plus
2014-10-15 13:09:46 -07:00
Kevin Sawicki
289f17b119
Require coffee before module cache in dev mode
2014-10-15 13:09:46 -07:00
Kevin Sawicki
dfd7bcae7f
Use process.resourcesPath to find Atom shell root
2014-10-15 13:09:46 -07:00
Kevin Sawicki
0cfd37acd0
Special case reactionary in cache
2014-10-15 13:09:45 -07:00
Kevin Sawicki
105fc302ea
Upgrade to text-buffer@3.2.9
2014-10-15 13:09:45 -07:00
Kevin Sawicki
f4ddc05b9c
Remove call to removed function
2014-10-15 13:09:45 -07:00
Kevin Sawicki
948f96dd6f
Only load fs-plus when creating a cache
2014-10-15 13:09:45 -07:00
Kevin Sawicki
db627f5cde
🐎 Join paths manually
...
path.join calls path.normalize and with the number of paths
being pushed through the cache it is faster to require them
manually since they are already normalized
2014-10-15 13:09:45 -07:00
Kevin Sawicki
a6866656b7
Inline isAbsolute method
...
This allows fs-plus to be required through the cache
2014-10-15 13:09:45 -07:00
Kevin Sawicki
40c5289e2b
Defer requires until the cache is populated
2014-10-15 13:09:45 -07:00
Kevin Sawicki
7dffc58c5b
Use Module's filename instead of id
2014-10-15 13:09:45 -07:00
Kevin Sawicki
67d430d100
Add crash-reporter to cache
2014-10-15 13:09:45 -07:00
Kevin Sawicki
d745b9ef5f
Register module cache as early as possible
2014-10-15 13:09:45 -07:00
Kevin Sawicki
b9d89cbf5d
Inline valid extensions to check for
2014-10-15 13:09:45 -07:00
Kevin Sawicki
934c0720d8
Require ipc when needed
2014-10-15 13:09:44 -07:00
Kevin Sawicki
06ac206707
Add clipboard to cache
2014-10-15 13:09:44 -07:00
Kevin Sawicki
6e1bdbbed7
Verify that file path is absolute or relative
2014-10-15 13:09:44 -07:00
Kevin Sawicki
3e3de50eb3
💄
2014-10-15 13:09:44 -07:00
Kevin Sawicki
d7a8dfb209
Add Atom Shell builtins to cache
2014-10-15 13:09:44 -07:00
Kevin Sawicki
b0aea54544
Check cache before atom require short-circuit
2014-10-15 13:09:44 -07:00
Kevin Sawicki
41598af2b2
Add pre-resolved path to require('atom')
2014-10-15 13:09:44 -07:00
Kevin Sawicki
f495db41e7
getCachedModulePath -> resolveModulePath
2014-10-15 13:09:44 -07:00
Kevin Sawicki
76187f176c
Add core cache of pre-resolved paths
...
This reduces the number of calls to Module._findPath for
relative paths since they can be resolved without stating
2014-10-15 13:09:44 -07:00
Kevin Sawicki
d7cb1550bf
Remove semicolon
2014-10-15 13:09:44 -07:00
Kevin Sawicki
086be13ac4
Add Module._findPath debug timing and count
2014-10-15 13:09:44 -07:00
Kevin Sawicki
f0cffcbd84
Add addPathToCache helper for apm to warm using
2014-10-15 13:09:44 -07:00
Kevin Sawicki
d1f3d7d51e
Mention plain return
2014-10-15 13:09:43 -07:00
Kevin Sawicki
bdc0341eb3
undefined -> return
2014-10-15 13:09:43 -07:00
Kevin Sawicki
171411823f
🐎 Resolve uncached core dependencies
...
Trust modules under the resource path to be there without stat-ing and
verifying.
2014-10-15 13:09:43 -07:00
Kevin Sawicki
7926531330
Whitelist folders path from core
...
There are several folders bundled in the app that aren't needed in the
require cache list so it is simpler to opt-in the folders that should
be part of the cache.
2014-10-15 13:09:43 -07:00
Kevin Sawicki
440866d79e
Remove invalid range logging
2014-10-15 13:09:43 -07:00