-
Notifications
You must be signed in to change notification settings - Fork 20
日本語 Config
akameco edited this page Nov 8, 2017
·
2 revisions
s2s.config.js
をプロジェクトのルートに配置します。
基本的に必要となる項目は、watch
とplugins
とtemplates
の3つです。
module.exports = {
watch: './**/*.js', // string
plugins: [],
templates: [],
}
対象となるファイルをGlobパターンで指定します。
オブジェクトの配列を指定します。
必須項目は、test
とplugin
です。
test
は、対象とするファイルを正規表現で指定します。
plugin
は.babelrc
の指定方法と同様にプラグイン名、オプションが必要な場合は、配列で渡すことが可能です。
handler
については、後述します。
type EventType = 'add' | 'change' | 'unlink'
type Only = EventType[]
type PluginOpts = PluginName | [PluginName, Object]
export type Plugin = {|
test: RegExp,
plugin: PluginOpts,
handler?: HanlderFunc,
only?: Only,
input?: string,
output?: string,
|}
テンプレートからファイルをコピーします。
必要項目は、test
とinput
です。
test
は、pluginsと同様にファイルパスを正規表現で指定します。
inputはtemplates
ディレクトリにあるファイルを指定します。
type Template = {|
test: RegExp,
input: Path,
output?: Path,
|}
ハンドラーとは何かというと、プラグインを処理するパーサを指定することが出来ます。
webpackのloaderを思い浮かべていただくとわかりやすいでしょう。
デフォルトでは、Babelで処理しますが、代わりにtypescriptを使うことが出来ます。
詳しくは、Exampleを参照してください。
handlerはCodeを受け取ってCodeを返すHandlerFunc
型を取ります。
type Code = string
type Path = string
type HandlerOpts = {
eventPath: Path,
filename: Path,
plugin: Plugin,
}
type HanlderFunc = (code: Code, opts: HandlerOpts) => Code