0.0.7 • Published 1 year ago

@macropygia/pug-graph v0.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@macropygia/pug-graph

npm version MIT TypeScript Pug

English | 日本語

Pugの includeextends を解析して依存関係を取得する

  • このパッケージは不安定版です
    • パッチリリースを含め予告なく破壊的変更が行われる可能性があります
    • 変更点は CHANGELOG をご覧ください
  • 実行前にPrettierの @prettier/plugin-pug を使用してフォーマットすることを推奨
  • 半角スペースのみインデントとして認識する

インストール

npm install @macropygia/pug-graph

使用方法

import fg from 'fast-glob'
import PugGraph from '@macropygia/pug-graph'

// 初期化
const graph = new PugGraph({ baseDir: 'src' })

// 追加
await graph.parse('src/foo.pug')

// 再帰的に追加
await graph.parse('src/foo.pug', { recursive: true })

// 更新
await graph.parse('src/foo.pug')

// 削除
graph.unlink('src/foo.pug')

// 複数ファイルの処理
const files = fg.sync('src/**/[^_]*.pug')
await Promise.all(
  files.map((file) =>
    graph.parse(file, { recursive: true })
  )
)

// 依存関係を取得
const fooDependsOn = graph.getImportedFiles('src/foo.pug')
const barIsImportedBy = graph.getImporters('src/templates/mixins/_bar.pug', {
  ignorePartial: true,
})

// 終了
graph.exit()

API

constructor(options)

ParameterTypeDefaultRequired
options.baseDirstring""No
options.useAbsPathbooleanfalseNo
  • options.baseDir
    • Pugの同名オプションと同一
  • options.useAbsPath
    • 絶対パスを使用する

parse(filepath, options)

ParameterTypeDefaultRequired
filepathstringYes
options.insertOnlybooleanfalseNo
options.recursivebooleanfalseNo
options.updateDescendantsbooleanfalseNo
  • 非同期
  • options.insertOnly
    • データベース上に存在する場合はスキップする
  • options.recursive
    • 再帰的に実行する
    • データベース上に存在する子孫はスキップする
  • options.updateDescendants
    • データベース上に存在する子孫も更新する

getImportedFiles(filepath)

ParameterTypeDefaultRequired
filepathstringYes
  • Returns: Set<string>

getImporters(filepath, ignorePartial)

ParameterTypeDefaultRequired
filepathstringYes
ignorePartialbooleanfalseNo
  • Returns: Set<string>

unlink(filepath)

ParameterTypeDefaultRequired
filepathstringYes

getRawData()

  • Returns: object[]
  • データベースの全レコードのオブジェクト配列を返す

exit()

  • データベースを閉じて終了する
0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago