Package layout conventions

패키지 구성 방법에 대해 설명하고 있다.

pub 패키지를 빌드할 때 파일과 디렉토리를 어떻게 배치하고 네이밍 하는지 설명한다.

다음은 enchilada라는 이름의 예시프로젝트의 파일 구조를 보여준다.

enchilada/
  .dart_tool/ *
  .packages *
  pubspec.yaml
  pubspec.lock **
  LICENSE
  README.md
  CHANGELOG.md
  benchmark/
    make_lunch.dart
  bin/
    enchilada
  doc/
    api/ ***
    getting_started.md
  example/
    main.dart
  lib/
    enchilada.dart
    tortilla.dart
    guacamole.css
    src/
      beans.dart
      queso.dart
  test/
    enchilada_test.dart
    tortilla_test.dart
  tool/
    generate_docs.dart
  web/
    index.html
    main.dart
    style.css

.dart_tool 디렉토리와 packages 디렉토리는 pub get을 하면 자동으로 생성되므로, 커밋하지 않도록 주의하자.

pubspec.lock 파일은 pub get하면 자동으로 생긴다. 어플용 패키지가 아니면 커밋하지 말자.

doc/api 디렉토리는 dartdoc을 실행하면 로컬로 존재하게 된다. api디렉토리는 커밋하지 않도록 주의하자.

pubspec

pubspec.yamlpubspec.lock는 모든 패키지를 관리한다.

pubspec.lock는 어플 프로젝트가 아니면 커밋하지 말자.

license

라이선스를 명시한다.

README.md

아주 중요하다.

publish하면 뜨는 소개 페이지이기 때문이다.