HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
btford
ngmin
JavaScript2013–2014
btford / ngmin

ngmin

**deprecated** AngularJS Pre-minifier –> use ng-annotate –>

7Distinct people
9Mentions
0Explicit recommenders
854GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

**deprecated** AngularJS Pre-minifier –> use ng-annotate –>

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month9 dated mentions

Observed mentions: 2013-07-24 18:02:35 UTC to 2014-04-28 01:18:15 UTC.

01232013-07-01 00:00:00 UTC to 2013-08-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsJul 20132013-08-01 00:00:00 UTC to 2013-09-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2013-09-01 00:00:00 UTC to 2013-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-01 00:00:00 UTC to 2013-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-01 00:00:00 UTC to 2013-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsNov 20132013-12-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-01 00:00:00 UTC to 2014-02-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-02-01 00:00:00 UTC to 2014-03-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2014-03-01 00:00:00 UTC to 2014-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-04-01 00:00:00 UTC to 2014-05-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 2014

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 20132013-07-01 00:00:00 UTC2013-08-01 00:00:00 UTC202
Aug 20132013-08-01 00:00:00 UTC2013-09-01 00:00:00 UTC303
Sep 20132013-09-01 00:00:00 UTC2013-10-01 00:00:00 UTC000
Oct 20132013-10-01 00:00:00 UTC2013-11-01 00:00:00 UTC000
Nov 20132013-11-01 00:00:00 UTC2013-12-01 00:00:00 UTC000
Dec 20132013-12-01 00:00:00 UTC2014-01-01 00:00:00 UTC000
Jan 20142014-01-01 00:00:00 UTC2014-02-01 00:00:00 UTC101
Feb 20142014-02-01 00:00:00 UTC2014-03-01 00:00:00 UTC202
Mar 20142014-03-01 00:00:00 UTC2014-04-01 00:00:00 UTC000
Apr 20142014-04-01 00:00:00 UTC2014-05-01 00:00:00 UTC101

What Hacker News says

9 sources
You don't need to use angular's inline injection annotations if you don't want to. Angular can figure out the needed injection by the parameter name. This causes an issue when you minimize your code but ngmin solves that problem: https://github.com/btford/ngmin For example: angular.module('app').controller('someController', function ($scope, ModelService, AuthService) { $scope.something = 'Blah'; }); Works just fine as long as it isn't minimized, and ngmin would turn it into something like: angular.module('app').controller('someController', ['$scope', 'ModelService', 'AuthService', function ($scope, ModelService, AuthService) { $scope.something = 'Blah'; }]); Which is then safe to run through a minimizer.
In Converting an existing Backbone.js project to Require.js
Why even teach it/include it at all? I fear that other developers will read a comment like this three months down the road and take it hook, line, and sinker. It is in line with the narrative that AngularJS and similar tools hide their complexity/inflexibility, and that the up-front examples are marketing fluff. I know I am guilty of this when I look to comments like this one for the "on the ground" perspective. Real-world AngularJS applications use multiple templates and {{ o.p }}. {{ o.p }} is the recommended way to render scope 99% of the time. ngmin[1] solves the DI minification/annotation problem transparently and is trivial to integrate into any existing build process. [1] https://github.com/btford/ngmin
In Some AngularJS pitfalls
Nice writeup, here is my input on the points OP makes. The flickering UI A quick fix would be to extract the problematic markup, place in a separate template file and leverage ngInclude[1]. If you find yourself having many instances where this is a problem, chances are you aren't doing a good enough job of breaking up your application into controllers, page components, directives, etc. jQuery and Angular In my opinion the example is little weak in terms of demonstrating a pitfall of AngularJS. Based on AngularJS best practices you'll find yourself only doing any sort of DOM manipulation in the context of a directive (much like your example). Bringing jQuery into your Angular app for the sake of using .hide here probably won't make much sense. Chances are pretty good you'll leveraging directives such as ngShow[2], ngHide[3], ngIf[4] (versi
Read the rest
on 1.1.5). No need to bring jQuery in for that. If there is indeed a valid reason to bring jQuery into the project, I'd say the responsibility lies more so on the developer ensuring the dependency is met. Minification With the addition of ngmin[5], this isn't necessarily a pitfall just something to consider in your workflow. There is a ngmin grunt task[6] that works as advertised! I've been using it for quite some time now and never an issue. My thought overall though is if you've conceded minification is a step in your project workflow, you'll be using tooling to make that easier. Bring ngmin into the mix and all is well. Directives are never 'done' I would suggest looking into using $watch[7] within the scope of that directive or making use of compile post linking over the linking used in the example. Check out the compile section [8] of the directive guide for more information there. [1] http://docs.angularjs.org/api/ng.directive:ngInclude [2] http://docs.angularjs.org/api/ng.directive:ngShow [3] http://docs.angularjs.org/api/ng.directive:ngHide [4] http://code.angularjs.org/1.1.5/docs/api/ng.directive:ngIf [5] https://github.com/btford/ngmin [6] https://github.com/btford/grunt-ngmin [7] http://docs.angularjs.org/api/ng.$rootScope.Scope#$watch [8] http://docs.angularjs.org/guide/directive
In Some AngularJS pitfalls

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.