Cara tercepat mengetahui versi generator yang digunakan

Hi, ini catatan singkat cara tercepat untuk mengetahui versi generator-angular-fullstack yang digunakan untuk menghasilkan sumber kode aplikasi.

Untuk mengetahui versi generator yang digunakan untuk menghasilkan sumber kodenya, bisa dilakukan dengan mengikuti langkah umum berikut:

  1. Gunakan fitur pencari di editor untuk mencari berkas Gruntfile.js
  2. Lihat baris paling atas, akan terdapat komentar singkat yang menginformasikan kapan berkas tersebut dihasilkan dan versi generator-angular-fullstack yang digunakan
diff: Gruntfile.js antara kode yang lama dan yang baru

diff: Gruntfile.js antara kode yang lama dan yang baru

Cara terbaik untuk memperbarui sumber kode aplikasi yang lama

Semalam saya ragu bagaimana memperbarui sumber kode aplikasi yang lama. Singkat cerita, aplikasi ini adalah aplikasi web yang dihasilkan melalui generator-angular-fullstack. Saya sudah cukup lama menggunakan generator tersebut untuk membangun struktur aplikasi yang berbasis MEAN stack. Semalam merupakan titik dimana saya harus memperbaharui sumber kode aplikasi dengan versi generator yang baru (v2.x). Penyempurnaan yang dilakukan oleh kontributor generator tersebut cukup signifikan, terutama pada struktur aplikasi yang lebih modular. Jadi, alasannya cukup masuk akal, apalagi aplikasi yang sedang saya kerjakan akan memuat beberapa fitur baru.

Untuk memperbaharui ada beberapa cara yang sebelumnya sudah saya pikirkan sekaligus ditanyakan kepada kontributor. Berdasarkan issue (pertanyaan) yang saya buat tadi malam, berikut cara terbaik memperbaharui sumber kode yang dihasilkan melalui generator-angular-fullstack:

  • Jika sumber kode yang dihasilkan melalui generator v1.x, maka proses pembaharuan harus dilakukan secara manual dengan copy paste sebagian kode yang penting ke sumber kode aplikasi baru yang dihasilkan melalui generator v2.x. Konsekuensi penerapan cara ini mengharuskan saya untuk teliti dan menggunakan waktu yang relatif lebih banyak.
  • Jika sumber kode yang dihasilkan melalui generator v2.x, maka proses pembaharuan cukup mengulang proses pembuatan dengan mengeksekusi yo angular-fullstack pada direktori sumber kode aplikasi

Semoga teman-teman yang kebetulan juga menggunakan generator ini mendapatkan manfaat dari catatan saya ini.

Giliran TJ Fontaine memimpin Node.js project

Setelah berganti kepemimpinan sebanyak 1 kali, dari Ryan Dahl kepada Isaac Z. Schlueter, saat ini Node.js project kembali berganti pemimpin:

Over the last year, TJ Fontaine has become absolutely essential to the Node.js project. He’s been building releases, managing the test bots, fixing nasty bugs and making decisions for the project with constant focus on the needs of our users. He was responsible for an update to MDB to support running ::findjsobjects on Linux core dumps, and is working on a shim layer that will provide a stable C interface for Node binary addons. In partnership with Joyent and The Node Firm, he’s helped to create a path forward for scalable issue triaging. He’s become the primary point of contact keeping us all driving the project forward together.

Anyone who’s been close to the core project knows that he’s been effectively leading the project for a while now, so we’re making it official. Effective immediately, TJ Fontaine is the Node.js project lead. I will remain a Node core committer, and expect to continue to contribute to the project in that role. My primary focus, however, will be npm.

Dikutip dari blog resmi Node.js, The Next Phase of Node.js.

Selamat kepada TJ Fontaine!

How to enable the npm completion

How to Enable it

I believe every developers needs to work productively when using npm by enable the tab-completion so that we can use the npm without too much typing to complete the commands we want to use . Here are the command I used to enable the npm completion on my Ubuntu box:


npm completion >> ~/.bashrc

The above command will write some shell scripts into my .bashrc file.

Credits

  1. https://npmjs.org/doc/completion.html
  2. http://tobyho.com/2012/02/09/tour-of-npm/

The Future of Programming in Node.js by Isaac Schlueter

There’s been a lot of debates, theories, and requests about Node’s
core API patterns on this list lately. I’d like to clarify the actual
plans of the project on these points.

Callbacks will remain the de facto way to implement asynchrony.
Generators and Promises are interesting and will remain a userland
option.

There will be no changes to the module system. None. It’s finished.
It’s been finished for over a year. Any proposed changes must come
with a clear reproducible bug that cannot be worked around or
addressed with documentation.

We are done making breaking changes at the Node.js layer. If your
program runs today, we’re doing everything we can to make sure that it
will run next year, albeit faster and more reliably.

This is not a democracy. However, there’s plenty of room for
everyone’s opinion. If you want to make exciting dramatic breaking
changes to node-core, and you can’t find satisfaction by writing
userland npm modules, then please fork joyent/node, give it a new name
and logo, and go as completely crazy as you want.

Complete posts can be found on The Future of Programming in Node.js thread.

Bump a package version using `npm version`

Today’s interesting questions is how can I bump the package version on package.json automatically without have to write my own script to do it. We can do it manually by editing the package.json or write a script to do it, but I wonder if npm having this built-in command.

So, I asked Google first by query “how to update package.json version automatically”, read over some Stackoverflow discussions and finally lead to npm-version documentation. We can use`npm version` to bump package version. It also create a version commit and annotated tag automatically.

After I know this command, things just got more better…

Kalau ada yang bertanya apa itu Node.js

Terkadang setiap kali saya sedang mengerjakan sesuatu yang berkaitan dengan Node.js, mereka kebanyakan bertanya apa itu Node.js. Sepengalaman saya bertemu dengan orang-orang tertentu disini (Bandung atau mungkin di sekitaran seluruh Indonesia), banyak yang belum familiar dengan Node.js. Dulu saya pernah menulis blog post Bagaimana agar saya bisa dengan mudah menjawab apa itu NodeJS, tetapi rasanya masih kurang mudah untuk menjelaskan apa itu Node.js dengan mudah.

Dengan kondisi seperti itu, jika di masa yang akan datang ada teman saya yang menanyakan apa itu Node.js, maka jawaban saya kira-kira akan seperti kutipan di bawah ini:

Teman: Apa itu Node.js?

Ghanoz: Node.js adalah sebuah platform

Teman: Platform untuk apa?

Ghanoz: Untuk membuat fast, scalable network applications.

Teman: Bagaimana Node.js bisa mengklaim dengan menggunakan platform tersebut kita bisa dengan mudah membangun fast, scalable network applications?

Ghanoz: Karena Node.js menggunakan event-driven, non-blocking I/O model yang membuat platform ini ringan dan efisien.

Teman: Node.js itu cocoknya dipakai untuk membangun apa sih?

Ghanoz: Node.js itu cocok untuk membangun data-intensive real-time applications that run across distributed devices

Bagaimana? Kira-kira skenario tanya jawab di atas lebih mudah untuk dipahami nggak ya?

Catatan: Jawaban yang dipakai dalam tanya jawab dari skenario di atas saya kutip dari situs resmi Node.js.