# cdn-builder Budowanie cdn na podstawie package.json Struktura folderu - `cdn-root\` - `package-name\` (z package.json) - `version\` (z package.json) - `package.json` - `README.md` (jeżeli istnieje) - `CHANGELOG.md` (jeżeli istnieje) - zawartość folderu `dist` lub `bin` (zależy, który istnieje, najpierw dist, potem bin) ## Parametry ## Uruchomienie `cdn-builder --source-path ... --destination-path ... - `-s` `--sourcsource-path` - folder, którego zawartość ma zostać umieszczona w cdn, MUSI zawierać `package.json` - `-d` `--destination-path` - folder `root` gdzie ma się znaleźć pakiet ## Struktura 1. Aplikacja ma stworzyć odpowiednią strukturę folderów dla zbudowanego pakietu. `http(s)://///` `nazwa-pakietu` oraz `wersja` są odczytywane z `package.json` - `nazwa-pakietu` - usuwane są elementy zaczynające się od `@` czyli: zamiast `@global\cdn-builder` w cdn będzie `cdn-builder` - `wersja` - jest w formie `major.minor.hotfix` lub `major.minor` - tworzona też jest 'wersja' `latest` zawierająca najnowszą wersję pakietu np.: ``` https://cdn.witkac.pl/forms-components/1.4.4/index.js https://cdn.witkac.pl/forms-components/1.4.4/styles.css https://cdn.witkac.pl/forms-components/1.4.4/package.json https://cdn.witkac.pl/forms-components/1.4.4/readme.md https://cdn.witkac.pl/forms-components/1.4.4/changelog.md ``` Oprócz plików znajdujacych się w `dist` aplikacja ma również skopiować pliki: - `package.json` - `README.md` (o ile istnieje) - `CHANGELOG.md` (o ile istnieje) 2. Oprócz utworzenia folderu dla konkretnej wersji aktualizowane są również: - wersja `major.minor` jeżeli wartość `hotfix` jest niższa niż w publikowanym pakiecie - wersja `latest` jeżeli `major.minor.hotfix` jest niższa niż w publikowanym pakiecie