npmrc and authToken 

It looks like the npmrc (usually ~/.npmrc) file needs to be chmod 0600 (owner only rw) before npm install will use any authToken contained within it. Running npm login sets this permission on the file.

Related, but obvious in hindsight: Make sure the HOME environment variable points to the directory containing .npmrc. If it's being changed, obviously npm will not be able to find the npmrc file.
[ add comment ] ( 51 views ) permalink
NPM and Git with semver 

NPM supports specifying a package dependency using:
With semver respecting the full versioning rules. It uses the same Git tagging system applied by npm version.

However, if multiple modules use this, they will not be seen as the same module, even if requesting the exact same semver and Git revision (as shown in package-lock.json).

This can cause failures when checking objects with instanceof. The different modules will have different implementations of the class, and thus fail instanceof checks.
[ add comment ] ( 47 views ) permalink
NPM and Git LFS 

NPM (Node Package Manager) doesn't normally work well with Git LFS when installing a package directly from a Git repo. Because it creates a local bare clone as a cache, then checks out in the target directory, Git LFS will be unable to pull objects.

This can be worked around using a .lfsinfo file, to indicate the absolute source URI for all LFS objects.

However, this means any time a npm install is done against this repo, npm/git will download ALL LFS blobs, even if they already exist in the target location.
[ add comment ] ( 44 views ) permalink
async, await and Promises 

JavaScript adding Promises greatly improved the use of callbacks, because callbacks can now be defined after calling the function instead of before. This allows the code to be cause then effect, rather than reversed as with callback functions.

await and async are boilerplate saving language constructs.

An async function always returns a Promise, but the function is written as if it returns the Promise resolve value. It also enables the use of await inside the function.

Putting await in front of calling a function that returns a Promise automatically waits for the Promise to resolve, and provides the resolving value.

These future language features can be used in current environments, such as NodeJS or web browsers, through the use of a transpiler, such as Babel.
[ add comment ] ( 109 views ) permalink
Closure and @export 

When using the Closure compiler, if you have specified --process_jquery_primitives then the @exports option cannot be used. You will get the error:
ERROR - Exports can only be generated if export symbol/property functions are set.

[ add comment ] ( 91 views ) permalink

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |