Script insert comment vào đầu mỗi file trong project bằng Nodejs

Tram Ho

Khởi tạo thư mục, file

Ở bài viết này, mình sẽ create-react-app một project để có một vài file để test. Các bạn cũng có thể npm init rồi tạo một vài file bất kỳ gì cũng được.

Tiếp theo chúng ta sẽ tạo 1 file gencomment.js và thêm script vào file package.json để test 1 xíu trước khi vào code nhé. Thành quả ban đầu:

Chúng ta hãy run npm run gencomment để đảm bảo code chạy được trước khi qua phần tiếp theo nhé. Kết quả mong muốn là sẽ log ra được message ‘BEGIN’ mọi người nhé :v

Code

OK, vào phần chính thôi nào.

Thuật toán mình nghĩ cũng đơn giản thôi:

  1. Đầu tiên chúng ta sẽ đọc folder để lặp qua các file và folder con (sử dụng thư viện fspath có sẵn)
  2. Tiếp đến là check xem đó là một file hay là folder, nếu folder thì lặp lại Bước 1
  3. Nếu là file thì đọc dòng đầu tiên của file xem có comment chưa .Nếu chưa thì insert comment vào. Ở bước này, để chỉ đọc dòng đầu tiên của file mà không cần phải đọc toàn bộ file mình sẽ sử dụng package firstline. Package này dùng read stream khá là nhanh, và chỉ có 30 dòng code thôi, mọi người có thể xem qua nhé.

Sau một hồi search google, xem document các thứ thì đây là phần code của mình:

Vậy trường hợp chúng ta muốn xóa tất cả comment vừa insert vào thì sao 😕

Đối với trường hợp này chúng ta sẽ có 2 cách, một là tạo thêm một file removecomment.js xong rồi add thêm 1 script npm removecomment nữa hoặc là mở rộng script hiện tại sao cho nó có thể nhận tham số add hoặc remove kiểu như sau:

Cách thứ 2 có vẻ OK hơn nhỉ, vậy chúng ta sẽ làm theo cách này xem nhé.

Đối với trường hợp này, mình sẽ sử dụng process.argv để parse command line argument.

Kết quả

Toàn bộ code của chúng ta sẽ như sau, mình có update lại 1 xíu nhé :v

Chúc mọi người thành công !!

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo