Code Monkey home page Code Monkey logo

Comments (18)

jdalton avatar jdalton commented on April 28, 2024

I think you should use Lo-Dash, but the package contains everything Lo-Dash needs to be customizable. There is no excess or room to make cuts. Worse case you can include a static file instead of a managed npm dependency. Either way the package size isn't really important as it's not being pushed down the pipe to the client side or smth ;D

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

is there a reason you went with closure compiler over uglify, which can be managed with npm? It's the main thing adding size to the project.

from lodash.

jdalton avatar jdalton commented on April 28, 2024

is there a reason you went with closure compiler over uglify, which can be managed with npm? It's the main thing adding size to the project.

Yep, Closure compiler has consistently produced smaller file sizes. I use a mixed minification approach where I do a pass with Uglify, then one with Closure Compiler, then a hybrid of Closure Compiler+Uglify (usually the smallest result). I don't rely on NPM dependencies because I want Lo-Dash to work out-of-the-box from a GitHub repo, NPM, JamJS or wherever. Why is file size really an issue?

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

just want to keep out any extra size I can. while it may not be a big deal, its still makes the project directory bigger / takes a bit longer to install and most IDEs will index those extra files in the node_modules, specially if they are vendor JS files.

from lodash.

jdalton avatar jdalton commented on April 28, 2024

If file size is a blocker, then just include the single lodash.min.js file.

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

i may look into it. we only use underscore package for the pre-compiled template source ATM as underscore of grunt v0.3.x is outdated.

from lodash.

jdalton avatar jdalton commented on April 28, 2024

Cool. You could create a custom build lodash include=template to create a minified version with just the _.template function. Also, as a bonus Lo-Dash's compiled templates generate less code and work with simple string coercion in most environments as well as the .source property.

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

ah wasn't sure if that would work. was just looking at that section. i've just started really using lodash as you seem to have a higher priority for fixing bugs and making them perform even better.

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

hum getting a warning about nativeKeys missing when using that build command in node.

EDIT: using the source code (included via require in node) that your build command produced.

from lodash.

jdalton avatar jdalton commented on April 28, 2024

hum getting a warning about nativeKeys missing when using that build command in node.

Which version of Lo-Dash are you using?

I bumped v0.5.2 and fixed some build bugs with it.
I just tested that exact build configuration last night ;D

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

v0.5.2

Build Command: lodash include=template
Build Output: https://gist.github.com/3426664

from lodash.

jdalton avatar jdalton commented on April 28, 2024

I see you are using the debug build which may help with builds options like mobile, underscore, backbone. You should be using the generated lodash.custom.min.js, which has unused vars removed. I'll document that better.

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

ok but what if I want to be able to keep track of changes say, I rebuild to new lodash in future, i want my git history to show all changes in a readable way?

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

guess its not a big deal, just a thought. thanks for the help.

from lodash.

jdalton avatar jdalton commented on April 28, 2024

In the commit you could link to the Changelog: https://github.com/bestiejs/lodash/wiki/Changelog

from lodash.

jdalton avatar jdalton commented on April 28, 2024

@ctalkington I tweaked build.js to allow using the debug build in more build configs. You can update by npm uninstall and npm install ing Lo-Dash.

from lodash.

ctalkington avatar ctalkington commented on April 28, 2024

@jdalton nice. thanks for taking the time!

from lodash.

lock avatar lock commented on April 28, 2024

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

from lodash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.