[coffeescript] Cakefileで一括でcsonをjsonにコンパイルする

需要があるのかないのかよくわからないあ系記事。

Cakefileでフォルダ内にあるcsonファイルをjsonファイルに変換する機構が出来たので共有します。Cakefile以外でもnode.js系なら似たようなことは多分できると思います。

前提条件として、npm install cson はしておいてください。

そして今使ってるソースコードの一部です。

settings =
  asset: 'src/asset'
  destAsset: 'asset'

fs = require('fs')
path = require('path')
cson = require 'cson'

task 'asset', 'Compile CSON File', (options) -> compileCSON(settings.asset)

compileCSON = (base) ->
  for file in fs.readdirSync settings.asset
    path = "#{base}/#{file}"
    if path.endsWith '.cson'
      filename = file.substr(0, file.length - 5)
      obj = cson.load path
      json = cson.createJSONString(obj)
      fs.writeFileSync  "#{settings.destAsset}/#{filename}.json", json

スポンサーリンクです。

 

settings.asset フォルダ内の csonファイル を全て読み込んで順番に jsonにしていくだけの簡単なスクリプトです。gulpならもっと楽に出来る方法はあるんですがそれは置いといて。

これを作ったことによって、coffeescriptのコンパイルと同時にjsonに変換できるようになったので、大分楽になりました。

typescriptからいつのまにかcoffeescriptに鞍変えしたくろねこなのでした。