diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml deleted file mode 100644 index 754e73828c4..00000000000 --- a/.github/workflows/commitlint.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: Commitlint -on: [pull_request] - -jobs: - lint: - runs-on: ubuntu-latest - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v1 - - uses: wagoid/commitlint-github-action@v1.1.0 diff --git a/.github/workflows/tests.aaron.yml b/.github/workflows/tests.aaron.yml index 1fcb4dff570..2c367445c67 100644 --- a/.github/workflows/tests.aaron.yml +++ b/.github/workflows/tests.aaron.yml @@ -1,7 +1,4 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Unit tests - aaron +name: Unit tests - Aaron on: push: @@ -11,7 +8,7 @@ on: - 'packages/aaron/rollup.config.js pull_request: paths: *files - + jobs: test: @@ -23,12 +20,12 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js $ uses: actions/setup-node@v1 with: - node-version: ${{ matrix.node-version }} + node-version: $ - run: npm ci - run: npm run build --if-present - - run: npm test + - run: npm testonly env: CI: true diff --git a/.github/workflows/tests.benjamin.yml b/.github/workflows/tests.benjamin.yml new file mode 100644 index 00000000000..c013d84adb4 --- /dev/null +++ b/.github/workflows/tests.benjamin.yml @@ -0,0 +1,31 @@ +name: Unit tests - Benjamin + +on: + push: + paths: &files + - 'packages/benjamin/src/**.js' + - 'packages/benjamin/config/**.js' + - 'packages/benjamin/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.bent.yml b/.github/workflows/tests.bent.yml new file mode 100644 index 00000000000..a91e652aca5 --- /dev/null +++ b/.github/workflows/tests.bent.yml @@ -0,0 +1,31 @@ +name: Unit tests - Bent + +on: + push: + paths: &files + - 'packages/bent/src/**.js' + - 'packages/bent/config/**.js' + - 'packages/bent/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.breanna.yml b/.github/workflows/tests.breanna.yml new file mode 100644 index 00000000000..6b9f90f6c3e --- /dev/null +++ b/.github/workflows/tests.breanna.yml @@ -0,0 +1,31 @@ +name: Unit tests - Breanna + +on: + push: + paths: &files + - 'packages/breanna/src/**.js' + - 'packages/breanna/config/**.js' + - 'packages/breanna/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.brian.yml b/.github/workflows/tests.brian.yml new file mode 100644 index 00000000000..6e8a0b9339d --- /dev/null +++ b/.github/workflows/tests.brian.yml @@ -0,0 +1,31 @@ +name: Unit tests - Brian + +on: + push: + paths: &files + - 'packages/brian/src/**.js' + - 'packages/brian/config/**.js' + - 'packages/brian/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.bruce.yml b/.github/workflows/tests.bruce.yml new file mode 100644 index 00000000000..e0af39c80b3 --- /dev/null +++ b/.github/workflows/tests.bruce.yml @@ -0,0 +1,31 @@ +name: Unit tests - Bruce + +on: + push: + paths: &files + - 'packages/bruce/src/**.js' + - 'packages/bruce/config/**.js' + - 'packages/bruce/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.carlita.yml b/.github/workflows/tests.carlita.yml new file mode 100644 index 00000000000..1b9ee361666 --- /dev/null +++ b/.github/workflows/tests.carlita.yml @@ -0,0 +1,31 @@ +name: Unit tests - Carlita + +on: + push: + paths: &files + - 'packages/carlita/src/**.js' + - 'packages/carlita/config/**.js' + - 'packages/carlita/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.carlton.yml b/.github/workflows/tests.carlton.yml new file mode 100644 index 00000000000..ced46abda94 --- /dev/null +++ b/.github/workflows/tests.carlton.yml @@ -0,0 +1,31 @@ +name: Unit tests - Carlton + +on: + push: + paths: &files + - 'packages/carlton/src/**.js' + - 'packages/carlton/config/**.js' + - 'packages/carlton/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.cathrin.yml b/.github/workflows/tests.cathrin.yml new file mode 100644 index 00000000000..bc03b2518c2 --- /dev/null +++ b/.github/workflows/tests.cathrin.yml @@ -0,0 +1,31 @@ +name: Unit tests - Cathrin + +on: + push: + paths: &files + - 'packages/cathrin/src/**.js' + - 'packages/cathrin/config/**.js' + - 'packages/cathrin/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.examples.yml b/.github/workflows/tests.examples.yml new file mode 100644 index 00000000000..fa7c5c5f775 --- /dev/null +++ b/.github/workflows/tests.examples.yml @@ -0,0 +1,31 @@ +name: Unit tests - Examples + +on: + push: + paths: &files + - 'packages/examples/src/**.js' + - 'packages/examples/config/**.js' + - 'packages/examples/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.florent.yml b/.github/workflows/tests.florent.yml new file mode 100644 index 00000000000..92af67077f7 --- /dev/null +++ b/.github/workflows/tests.florent.yml @@ -0,0 +1,31 @@ +name: Unit tests - Florent + +on: + push: + paths: &files + - 'packages/florent/src/**.js' + - 'packages/florent/config/**.js' + - 'packages/florent/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.fu.yml b/.github/workflows/tests.fu.yml new file mode 100644 index 00000000000..76325a4dc03 --- /dev/null +++ b/.github/workflows/tests.fu.yml @@ -0,0 +1,31 @@ +name: Unit tests - Fu + +on: + push: + paths: &files + - 'packages/fu/src/**.js' + - 'packages/fu/config/**.js' + - 'packages/fu/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.holmes.yml b/.github/workflows/tests.holmes.yml new file mode 100644 index 00000000000..60b593f30af --- /dev/null +++ b/.github/workflows/tests.holmes.yml @@ -0,0 +1,31 @@ +name: Unit tests - Holmes + +on: + push: + paths: &files + - 'packages/holmes/src/**.js' + - 'packages/holmes/config/**.js' + - 'packages/holmes/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.huey.yml b/.github/workflows/tests.huey.yml new file mode 100644 index 00000000000..66590d0b6e5 --- /dev/null +++ b/.github/workflows/tests.huey.yml @@ -0,0 +1,31 @@ +name: Unit tests - Huey + +on: + push: + paths: &files + - 'packages/huey/src/**.js' + - 'packages/huey/config/**.js' + - 'packages/huey/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.hugo.yml b/.github/workflows/tests.hugo.yml new file mode 100644 index 00000000000..cda810ea27c --- /dev/null +++ b/.github/workflows/tests.hugo.yml @@ -0,0 +1,31 @@ +name: Unit tests - Hugo + +on: + push: + paths: &files + - 'packages/hugo/src/**.js' + - 'packages/hugo/config/**.js' + - 'packages/hugo/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.jaeger.yml b/.github/workflows/tests.jaeger.yml new file mode 100644 index 00000000000..873863200b4 --- /dev/null +++ b/.github/workflows/tests.jaeger.yml @@ -0,0 +1,31 @@ +name: Unit tests - Jaeger + +on: + push: + paths: &files + - 'packages/jaeger/src/**.js' + - 'packages/jaeger/config/**.js' + - 'packages/jaeger/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.penelope.yml b/.github/workflows/tests.penelope.yml new file mode 100644 index 00000000000..da002caf6fe --- /dev/null +++ b/.github/workflows/tests.penelope.yml @@ -0,0 +1,31 @@ +name: Unit tests - Penelope + +on: + push: + paths: &files + - 'packages/penelope/src/**.js' + - 'packages/penelope/config/**.js' + - 'packages/penelope/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.rendertest.yml b/.github/workflows/tests.rendertest.yml new file mode 100644 index 00000000000..9dc30346671 --- /dev/null +++ b/.github/workflows/tests.rendertest.yml @@ -0,0 +1,31 @@ +name: Unit tests - Rendertest + +on: + push: + paths: &files + - 'packages/rendertest/src/**.js' + - 'packages/rendertest/config/**.js' + - 'packages/rendertest/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.sandy.yml b/.github/workflows/tests.sandy.yml new file mode 100644 index 00000000000..d67c212f8eb --- /dev/null +++ b/.github/workflows/tests.sandy.yml @@ -0,0 +1,31 @@ +name: Unit tests - Sandy + +on: + push: + paths: &files + - 'packages/sandy/src/**.js' + - 'packages/sandy/config/**.js' + - 'packages/sandy/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.shin.yml b/.github/workflows/tests.shin.yml new file mode 100644 index 00000000000..0a2c6e270c3 --- /dev/null +++ b/.github/workflows/tests.shin.yml @@ -0,0 +1,31 @@ +name: Unit tests - Shin + +on: + push: + paths: &files + - 'packages/shin/src/**.js' + - 'packages/shin/config/**.js' + - 'packages/shin/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.simon.yml b/.github/workflows/tests.simon.yml new file mode 100644 index 00000000000..cae3add7a36 --- /dev/null +++ b/.github/workflows/tests.simon.yml @@ -0,0 +1,31 @@ +name: Unit tests - Simon + +on: + push: + paths: &files + - 'packages/simon/src/**.js' + - 'packages/simon/config/**.js' + - 'packages/simon/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.simone.yml b/.github/workflows/tests.simone.yml new file mode 100644 index 00000000000..1afbf4fd3a6 --- /dev/null +++ b/.github/workflows/tests.simone.yml @@ -0,0 +1,31 @@ +name: Unit tests - Simone + +on: + push: + paths: &files + - 'packages/simone/src/**.js' + - 'packages/simone/config/**.js' + - 'packages/simone/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.sven.yml b/.github/workflows/tests.sven.yml new file mode 100644 index 00000000000..ae2e0f2e164 --- /dev/null +++ b/.github/workflows/tests.sven.yml @@ -0,0 +1,31 @@ +name: Unit tests - Sven + +on: + push: + paths: &files + - 'packages/sven/src/**.js' + - 'packages/sven/config/**.js' + - 'packages/sven/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.tamiko.yml b/.github/workflows/tests.tamiko.yml new file mode 100644 index 00000000000..0e9bf921c7b --- /dev/null +++ b/.github/workflows/tests.tamiko.yml @@ -0,0 +1,31 @@ +name: Unit tests - Tamiko + +on: + push: + paths: &files + - 'packages/tamiko/src/**.js' + - 'packages/tamiko/config/**.js' + - 'packages/tamiko/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.theo.yml b/.github/workflows/tests.theo.yml new file mode 100644 index 00000000000..4cb8c979d54 --- /dev/null +++ b/.github/workflows/tests.theo.yml @@ -0,0 +1,31 @@ +name: Unit tests - Theo + +on: + push: + paths: &files + - 'packages/theo/src/**.js' + - 'packages/theo/config/**.js' + - 'packages/theo/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.trayvon.yml b/.github/workflows/tests.trayvon.yml new file mode 100644 index 00000000000..43382036140 --- /dev/null +++ b/.github/workflows/tests.trayvon.yml @@ -0,0 +1,31 @@ +name: Unit tests - Trayvon + +on: + push: + paths: &files + - 'packages/trayvon/src/**.js' + - 'packages/trayvon/config/**.js' + - 'packages/trayvon/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.tutorial.yml b/.github/workflows/tests.tutorial.yml new file mode 100644 index 00000000000..4347d86677b --- /dev/null +++ b/.github/workflows/tests.tutorial.yml @@ -0,0 +1,31 @@ +name: Unit tests - Tutorial + +on: + push: + paths: &files + - 'packages/tutorial/src/**.js' + - 'packages/tutorial/config/**.js' + - 'packages/tutorial/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.wahid.yml b/.github/workflows/tests.wahid.yml new file mode 100644 index 00000000000..ad574a87237 --- /dev/null +++ b/.github/workflows/tests.wahid.yml @@ -0,0 +1,31 @@ +name: Unit tests - Wahid + +on: + push: + paths: &files + - 'packages/wahid/src/**.js' + - 'packages/wahid/config/**.js' + - 'packages/wahid/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/.github/workflows/tests.waralee.yml b/.github/workflows/tests.waralee.yml new file mode 100644 index 00000000000..69394fc3e4d --- /dev/null +++ b/.github/workflows/tests.waralee.yml @@ -0,0 +1,31 @@ +name: Unit tests - Waralee + +on: + push: + paths: &files + - 'packages/waralee/src/**.js' + - 'packages/waralee/config/**.js' + - 'packages/waralee/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js $ + uses: actions/setup-node@v1 + with: + node-version: $ + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/CHANGELOG.md b/CHANGELOG.md index b195875b4d4..03edbdf9b82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ ## Unreleased +### simon + +#### Fixed + + - The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default + +### simone + +#### Fixed + + - The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default + ## 2.4.3 (2020-03-12) diff --git a/config/changelog.yaml b/config/changelog.yaml index cc972531e68..54e78f0271a 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -4,6 +4,10 @@ Unreleased: Changed: Deprecated: Fixed: + simon: + - The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default + simone: + - The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default Removed: Security: diff --git a/config/scripts.yaml b/config/scripts.yaml index 1633e492afa..e40e7b8e3a5 100644 --- a/config/scripts.yaml +++ b/config/scripts.yaml @@ -9,6 +9,7 @@ _: _types: pattern: netlify: "echo \"Not configured yet\"" + testonly: "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" create-freesewing-pattern: clean: "!" nodebuild: "!" diff --git a/config/templates/package.dflt.json b/config/templates/package.dflt.json index da3d9bcaadf..8e41bc56ded 100644 --- a/config/templates/package.dflt.json +++ b/config/templates/package.dflt.json @@ -13,6 +13,7 @@ "watch": "rollup -c -w", "start": "rollup -c -w", "build": "rollup -c", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register", "publish": "npm run build && npm publish --access public" }, "peerDependencies": {}, diff --git a/config/templates/tests/patterns/config.test.js b/config/templates/tests/patterns/config.test.js new file mode 100644 index 00000000000..74a42f1df5b --- /dev/null +++ b/config/templates/tests/patterns/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const {{ Pattern }} = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = {{ metadata }} + +// Test config +testPatternConfig('{{ pattern }}', new {{ Pattern }}(), meta) diff --git a/config/templates/workflows/tests.pattern.yml b/config/templates/workflows/tests.pattern.yml new file mode 100644 index 00000000000..44da17b40da --- /dev/null +++ b/config/templates/workflows/tests.pattern.yml @@ -0,0 +1,31 @@ +name: Unit tests - {{ Pattern }} + +on: + push: + paths: &files + - 'packages/{{ pattern }}/src/**.js' + - 'packages/{{ pattern }}/config/**.js' + - 'packages/{{ pattern }}/rollup.config.js + pull_request: + paths: *files + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm ci + - run: npm run build --if-present + - run: npm testonly + env: + CI: true diff --git a/packages/aaron/example/src/App.js b/packages/aaron/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/aaron/example/src/App.js +++ b/packages/aaron/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/aaron/package.json b/packages/aaron/package.json index a49da58e619..840b101078c 100644 --- a/packages/aaron/package.json +++ b/packages/aaron/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -43,7 +44,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -58,7 +59,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/aaron/tests/config.test.js b/packages/aaron/tests/config.test.js new file mode 100644 index 00000000000..8ed0e26d947 --- /dev/null +++ b/packages/aaron/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Aaron = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('aaron', new Aaron(), meta) diff --git a/packages/benjamin/example/src/App.js b/packages/benjamin/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/benjamin/example/src/App.js +++ b/packages/benjamin/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/benjamin/package.json b/packages/benjamin/package.json index cc012705f86..46b95630593 100644 --- a/packages/benjamin/package.json +++ b/packages/benjamin/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/benjamin/tests/config.test.js b/packages/benjamin/tests/config.test.js new file mode 100644 index 00000000000..39b79d13946 --- /dev/null +++ b/packages/benjamin/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Benjamin = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('benjamin', new Benjamin(), meta) diff --git a/packages/bent/example/src/App.js b/packages/bent/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/bent/example/src/App.js +++ b/packages/bent/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/bent/package.json b/packages/bent/package.json index 47d8a942bf3..8adf46ab99d 100644 --- a/packages/bent/package.json +++ b/packages/bent/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -43,7 +44,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -58,7 +59,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/bent/tests/config.test.js b/packages/bent/tests/config.test.js new file mode 100644 index 00000000000..663ea913b6f --- /dev/null +++ b/packages/bent/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Bent = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('bent', new Bent(), meta) diff --git a/packages/breanna/example/src/App.js b/packages/breanna/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/breanna/example/src/App.js +++ b/packages/breanna/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/breanna/package.json b/packages/breanna/package.json index 69731a52c0a..92fe7c49d5c 100644 --- a/packages/breanna/package.json +++ b/packages/breanna/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/breanna/tests/config.test.js b/packages/breanna/tests/config.test.js new file mode 100644 index 00000000000..4629e529ddb --- /dev/null +++ b/packages/breanna/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Breanna = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('breanna', new Breanna(), meta) diff --git a/packages/brian/example/src/App.js b/packages/brian/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/brian/example/src/App.js +++ b/packages/brian/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/brian/package.json b/packages/brian/package.json index 40286250570..6c1d4384bf8 100644 --- a/packages/brian/package.json +++ b/packages/brian/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/brian/tests/config.test.js b/packages/brian/tests/config.test.js new file mode 100644 index 00000000000..47ca13ffb7c --- /dev/null +++ b/packages/brian/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Brian = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('brian', new Brian(), meta) diff --git a/packages/bruce/example/src/App.js b/packages/bruce/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/bruce/example/src/App.js +++ b/packages/bruce/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/bruce/package.json b/packages/bruce/package.json index 47edb202ac2..8bd8c122a13 100644 --- a/packages/bruce/package.json +++ b/packages/bruce/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/bruce/tests/config.test.js b/packages/bruce/tests/config.test.js new file mode 100644 index 00000000000..8e37ef6d584 --- /dev/null +++ b/packages/bruce/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Bruce = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('bruce', new Bruce(), meta) diff --git a/packages/carlita/example/src/App.js b/packages/carlita/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/carlita/example/src/App.js +++ b/packages/carlita/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/carlita/package.json b/packages/carlita/package.json index 41e6db7c24f..ba4823d1777 100644 --- a/packages/carlita/package.json +++ b/packages/carlita/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -46,7 +47,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -61,7 +62,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/carlita/tests/config.test.js b/packages/carlita/tests/config.test.js new file mode 100644 index 00000000000..d9b6b49ed1b --- /dev/null +++ b/packages/carlita/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Carlita = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('carlita', new Carlita(), meta) diff --git a/packages/carlton/example/src/App.js b/packages/carlton/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/carlton/example/src/App.js +++ b/packages/carlton/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/carlton/package.json b/packages/carlton/package.json index 8a8c638b746..2e017833c07 100644 --- a/packages/carlton/package.json +++ b/packages/carlton/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -44,7 +45,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -59,7 +60,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/carlton/tests/config.test.js b/packages/carlton/tests/config.test.js new file mode 100644 index 00000000000..a7ebc4c0de6 --- /dev/null +++ b/packages/carlton/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Carlton = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('carlton', new Carlton(), meta) diff --git a/packages/cathrin/example/src/App.js b/packages/cathrin/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/cathrin/example/src/App.js +++ b/packages/cathrin/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/cathrin/package.json b/packages/cathrin/package.json index 0f54be6fa94..5ea9e689cfe 100644 --- a/packages/cathrin/package.json +++ b/packages/cathrin/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/cathrin/tests/config.test.js b/packages/cathrin/tests/config.test.js new file mode 100644 index 00000000000..d6f77b95299 --- /dev/null +++ b/packages/cathrin/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Cathrin = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('cathrin', new Cathrin(), meta) diff --git a/packages/create-freesewing-pattern/package.json b/packages/create-freesewing-pattern/package.json index cc80797854d..3ffe882f6c9 100644 --- a/packages/create-freesewing-pattern/package.json +++ b/packages/create-freesewing-pattern/package.json @@ -31,7 +31,7 @@ "cp-file": "^6.0.0", "execa": "^1.0.0", "git-config-path": "^2.0.0", - "github-username": "^5.0.1", + "github-username": "^4.1.0", "globby": "^9.0.0", "handlebars": "^4.1.0", "inquirer": "^6.2.2", diff --git a/packages/examples/example/src/App.js b/packages/examples/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/examples/example/src/App.js +++ b/packages/examples/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/examples/package.json b/packages/examples/package.json index 4e0d3cfcbfb..52fc4b211cf 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -25,7 +25,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -37,7 +38,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -52,7 +53,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/examples/tests/config.test.js b/packages/examples/tests/config.test.js new file mode 100644 index 00000000000..4e5afc5e6f9 --- /dev/null +++ b/packages/examples/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Examples = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('examples', new Examples(), meta) diff --git a/packages/florent/example/src/App.js b/packages/florent/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/florent/example/src/App.js +++ b/packages/florent/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/florent/package.json b/packages/florent/package.json index 7237fc22ddd..328c9c0e346 100644 --- a/packages/florent/package.json +++ b/packages/florent/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/florent/tests/config.test.js b/packages/florent/tests/config.test.js new file mode 100644 index 00000000000..071e0cd6824 --- /dev/null +++ b/packages/florent/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Florent = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('florent', new Florent(), meta) diff --git a/packages/fu/example/src/App.js b/packages/fu/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/fu/example/src/App.js +++ b/packages/fu/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/fu/package.json b/packages/fu/package.json index 792cb33873a..6b2b528eadd 100644 --- a/packages/fu/package.json +++ b/packages/fu/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/fu/tests/config.test.js b/packages/fu/tests/config.test.js new file mode 100644 index 00000000000..2b8126c1ed9 --- /dev/null +++ b/packages/fu/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Fu = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('fu', new Fu(), meta) diff --git a/packages/holmes/example/src/App.js b/packages/holmes/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/holmes/example/src/App.js +++ b/packages/holmes/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/holmes/package.json b/packages/holmes/package.json index 6f586d4c337..45c6c912616 100644 --- a/packages/holmes/package.json +++ b/packages/holmes/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -43,7 +44,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -58,7 +59,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/holmes/tests/config.test.js b/packages/holmes/tests/config.test.js new file mode 100644 index 00000000000..a398a065b78 --- /dev/null +++ b/packages/holmes/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Holmes = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('holmes', new Holmes(), meta) diff --git a/packages/huey/example/src/App.js b/packages/huey/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/huey/example/src/App.js +++ b/packages/huey/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/huey/package.json b/packages/huey/package.json index 26e1e97f882..cb50b3a1dc6 100644 --- a/packages/huey/package.json +++ b/packages/huey/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/huey/tests/config.test.js b/packages/huey/tests/config.test.js new file mode 100644 index 00000000000..5b184c9d4aa --- /dev/null +++ b/packages/huey/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Huey = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('huey', new Huey(), meta) diff --git a/packages/hugo/example/src/App.js b/packages/hugo/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/hugo/example/src/App.js +++ b/packages/hugo/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/hugo/package.json b/packages/hugo/package.json index 20ac4e2e915..e7150d6f759 100644 --- a/packages/hugo/package.json +++ b/packages/hugo/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -43,7 +44,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -58,7 +59,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/hugo/tests/config.test.js b/packages/hugo/tests/config.test.js new file mode 100644 index 00000000000..6ff3eba9afc --- /dev/null +++ b/packages/hugo/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Hugo = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('hugo', new Hugo(), meta) diff --git a/packages/jaeger/example/src/App.js b/packages/jaeger/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/jaeger/example/src/App.js +++ b/packages/jaeger/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/jaeger/package.json b/packages/jaeger/package.json index 29254f88156..b2430431c80 100644 --- a/packages/jaeger/package.json +++ b/packages/jaeger/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -44,7 +45,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -59,7 +60,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/jaeger/tests/config.test.js b/packages/jaeger/tests/config.test.js new file mode 100644 index 00000000000..eaa989773ce --- /dev/null +++ b/packages/jaeger/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Jaeger = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('jaeger', new Jaeger(), meta) diff --git a/packages/penelope/example/src/App.js b/packages/penelope/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/penelope/example/src/App.js +++ b/packages/penelope/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/penelope/package.json b/packages/penelope/package.json index 62652de926b..6cbcc63f71a 100644 --- a/packages/penelope/package.json +++ b/packages/penelope/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/penelope/tests/config.test.js b/packages/penelope/tests/config.test.js new file mode 100644 index 00000000000..881f7a21f11 --- /dev/null +++ b/packages/penelope/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Penelope = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('penelope', new Penelope(), meta) diff --git a/packages/remark-jargon/package.json b/packages/remark-jargon/package.json index 218b109c9c1..79ca29ac46f 100644 --- a/packages/remark-jargon/package.json +++ b/packages/remark-jargon/package.json @@ -34,7 +34,7 @@ "remark-html": "^9.0.0" }, "dependencies": { - "unist-util-visit": "^2.0.2" + "unist-util-visit": "^1.4.0" }, "devDependencies": {}, "files": [ diff --git a/packages/rendertest/example/src/App.js b/packages/rendertest/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/rendertest/example/src/App.js +++ b/packages/rendertest/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/rendertest/package.json b/packages/rendertest/package.json index 1fd6b62b389..1d4f7e5b18e 100644 --- a/packages/rendertest/package.json +++ b/packages/rendertest/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/rendertest/tests/config.test.js b/packages/rendertest/tests/config.test.js new file mode 100644 index 00000000000..d9e4e870ff0 --- /dev/null +++ b/packages/rendertest/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Rendertest = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('rendertest', new Rendertest(), meta) diff --git a/packages/sandy/example/src/App.js b/packages/sandy/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/sandy/example/src/App.js +++ b/packages/sandy/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/sandy/package.json b/packages/sandy/package.json index ff200e85ecb..a587df6ad1c 100644 --- a/packages/sandy/package.json +++ b/packages/sandy/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/sandy/tests/config.test.js b/packages/sandy/tests/config.test.js new file mode 100644 index 00000000000..4bb44e012be --- /dev/null +++ b/packages/sandy/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Sandy = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('sandy', new Sandy(), meta) diff --git a/packages/shin/example/src/App.js b/packages/shin/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/shin/example/src/App.js +++ b/packages/shin/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/shin/package.json b/packages/shin/package.json index 48216aa7ff0..b9edd7d9eac 100644 --- a/packages/shin/package.json +++ b/packages/shin/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/shin/tests/config.test.js b/packages/shin/tests/config.test.js new file mode 100644 index 00000000000..d22fb68ac8e --- /dev/null +++ b/packages/shin/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Shin = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('shin', new Shin(), meta) diff --git a/packages/simon/CHANGELOG.md b/packages/simon/CHANGELOG.md index ce1e546fcbe..0fead0b77df 100644 --- a/packages/simon/CHANGELOG.md +++ b/packages/simon/CHANGELOG.md @@ -3,9 +3,9 @@ ## Unreleased -**Note:** Version bump only for package simon - +### Fixed + - The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default ## 2.4.3 (2020-03-12) **Note:** Version bump only for package simon diff --git a/packages/simon/config/index.js b/packages/simon/config/index.js index 6909bc2d47a..4b97e2a7c1f 100644 --- a/packages/simon/config/index.js +++ b/packages/simon/config/index.js @@ -221,9 +221,9 @@ export default { sleevecapTopFactorX: { pct: 50, min: 25, max: 75 }, sleevecapTopFactorY: { pct: 100, min: 35, max: 165 }, sleevecapBackFactorX: { pct: 60, min: 35, max: 65 }, - sleevecapBackFactorY: { pct: 33, min: 35, max: 65 }, + sleevecapBackFactorY: { pct: 33, min: 30, max: 65 }, sleevecapFrontFactorX: { pct: 55, min: 35, max: 65 }, - sleevecapFrontFactorY: { pct: 33, min: 35, max: 65 }, + sleevecapFrontFactorY: { pct: 33, min: 30, max: 65 }, sleevecapQ1Offset: { pct: 5, min: 3, max: 7 }, sleevecapQ2Offset: { pct: 5.5, min: 0, max: 7 }, sleevecapQ3Offset: { pct: 4.5, min: 0, max: 7 }, diff --git a/packages/simon/example/src/App.js b/packages/simon/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/simon/example/src/App.js +++ b/packages/simon/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/simon/package.json b/packages/simon/package.json index 4c4a0cdb62e..1e22af88786 100644 --- a/packages/simon/package.json +++ b/packages/simon/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -45,7 +46,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -60,7 +61,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/simon/tests/config.test.js b/packages/simon/tests/config.test.js new file mode 100644 index 00000000000..3dc3083b025 --- /dev/null +++ b/packages/simon/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Simon = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('simon', new Simon(), meta) diff --git a/packages/simone/CHANGELOG.md b/packages/simone/CHANGELOG.md index 6b9fa8bcf82..bea89bc1be0 100644 --- a/packages/simone/CHANGELOG.md +++ b/packages/simone/CHANGELOG.md @@ -3,9 +3,9 @@ ## Unreleased -**Note:** Version bump only for package simone - +### Fixed + - The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default ## 2.4.3 (2020-03-12) **Note:** Version bump only for package simone diff --git a/packages/simone/config/index.js b/packages/simone/config/index.js index f55543576d6..4ae26e1167f 100644 --- a/packages/simone/config/index.js +++ b/packages/simone/config/index.js @@ -234,9 +234,9 @@ export default { sleevecapTopFactorX: { pct: 50, min: 25, max: 75 }, sleevecapTopFactorY: { pct: 100, min: 35, max: 165 }, sleevecapBackFactorX: { pct: 60, min: 35, max: 65 }, - sleevecapBackFactorY: { pct: 33, min: 35, max: 65 }, + sleevecapBackFactorY: { pct: 33, min: 30, max: 65 }, sleevecapFrontFactorX: { pct: 55, min: 35, max: 65 }, - sleevecapFrontFactorY: { pct: 33, min: 35, max: 65 }, + sleevecapFrontFactorY: { pct: 33, min: 30, max: 65 }, sleevecapQ1Offset: { pct: 5, min: 3, max: 7 }, sleevecapQ2Offset: { pct: 5.5, min: 0, max: 7 }, sleevecapQ3Offset: { pct: 4.5, min: 0, max: 7 }, diff --git a/packages/simone/example/src/App.js b/packages/simone/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/simone/example/src/App.js +++ b/packages/simone/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/simone/package.json b/packages/simone/package.json index 64c05609317..d006464f0c6 100644 --- a/packages/simone/package.json +++ b/packages/simone/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -47,7 +48,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -62,7 +63,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/simone/tests/config.test.js b/packages/simone/tests/config.test.js new file mode 100644 index 00000000000..1c49e6337a0 --- /dev/null +++ b/packages/simone/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Simone = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('simone', new Simone(), meta) diff --git a/packages/sven/example/src/App.js b/packages/sven/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/sven/example/src/App.js +++ b/packages/sven/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/sven/package.json b/packages/sven/package.json index 9a61746f4d9..096dc23b44d 100644 --- a/packages/sven/package.json +++ b/packages/sven/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/sven/tests/config.test.js b/packages/sven/tests/config.test.js new file mode 100644 index 00000000000..f47f3baf485 --- /dev/null +++ b/packages/sven/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Sven = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('sven', new Sven(), meta) diff --git a/packages/tamiko/example/src/App.js b/packages/tamiko/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/tamiko/example/src/App.js +++ b/packages/tamiko/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/tamiko/package.json b/packages/tamiko/package.json index 922cac4e20d..d688fb75182 100644 --- a/packages/tamiko/package.json +++ b/packages/tamiko/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/tamiko/tests/config.test.js b/packages/tamiko/tests/config.test.js new file mode 100644 index 00000000000..b868716becd --- /dev/null +++ b/packages/tamiko/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Tamiko = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('tamiko', new Tamiko(), meta) diff --git a/packages/theo/example/src/App.js b/packages/theo/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/theo/example/src/App.js +++ b/packages/theo/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/theo/package.json b/packages/theo/package.json index da39e32df38..f925d149e94 100644 --- a/packages/theo/package.json +++ b/packages/theo/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/theo/tests/config.test.js b/packages/theo/tests/config.test.js new file mode 100644 index 00000000000..62c933efe06 --- /dev/null +++ b/packages/theo/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Theo = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('theo', new Theo(), meta) diff --git a/packages/trayvon/example/src/App.js b/packages/trayvon/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/trayvon/example/src/App.js +++ b/packages/trayvon/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/trayvon/package.json b/packages/trayvon/package.json index 33473444fa1..3cbb8907aab 100644 --- a/packages/trayvon/package.json +++ b/packages/trayvon/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/trayvon/tests/config.test.js b/packages/trayvon/tests/config.test.js new file mode 100644 index 00000000000..09945c6798d --- /dev/null +++ b/packages/trayvon/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Trayvon = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('trayvon', new Trayvon(), meta) diff --git a/packages/tutorial/example/src/App.js b/packages/tutorial/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/tutorial/example/src/App.js +++ b/packages/tutorial/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/tutorial/package.json b/packages/tutorial/package.json index 5b4359af4b9..ae9079e0e62 100644 --- a/packages/tutorial/package.json +++ b/packages/tutorial/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/tutorial/tests/config.test.js b/packages/tutorial/tests/config.test.js new file mode 100644 index 00000000000..5e5e916a821 --- /dev/null +++ b/packages/tutorial/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Tutorial = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('tutorial', new Tutorial(), meta) diff --git a/packages/wahid/example/src/App.js b/packages/wahid/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/wahid/example/src/App.js +++ b/packages/wahid/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/wahid/package.json b/packages/wahid/package.json index bbc336ca0e3..94ee89545b9 100644 --- a/packages/wahid/package.json +++ b/packages/wahid/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -45,7 +46,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -60,7 +61,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/wahid/tests/config.test.js b/packages/wahid/tests/config.test.js new file mode 100644 index 00000000000..bcd5dfe990b --- /dev/null +++ b/packages/wahid/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Wahid = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('wahid', new Wahid(), meta) diff --git a/packages/waralee/example/src/App.js b/packages/waralee/example/src/App.js index 3bad5ad72fb..7b300b39dd4 100644 --- a/packages/waralee/example/src/App.js +++ b/packages/waralee/example/src/App.js @@ -10,7 +10,14 @@ const App = props => { let instance = new Pattern() let config = instance.config - return + return ( + + ) } export default App diff --git a/packages/waralee/package.json b/packages/waralee/package.json index a7b9ad5058b..90c34873ca2 100644 --- a/packages/waralee/package.json +++ b/packages/waralee/package.json @@ -30,7 +30,8 @@ "pubforce": "npm publish", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "start": "rollup -c -w", - "netlify": "echo \"Not configured yet\"" + "netlify": "echo \"Not configured yet\"", + "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register" }, "peerDependencies": { "@freesewing/core": "^2.4.3", @@ -42,7 +43,7 @@ "react-dom": "^16.8", "@babel/plugin-proposal-class-properties": "^7.0.0", "babel-eslint": "10.0.1", - "eslint": "^6.8.0", + "eslint": "^5.16.0", "babel-jest": "24.7.1", "jest": "24.7.1", "@freesewing/components": "^2.4.3", @@ -57,7 +58,7 @@ "cross-env": "^5.1.4", "gh-pages": "^1.2.0", "react-scripts": "^3.0.0", - "webpack": "4.42.0", + "webpack": "4.29.6", "rollup": "^0.64.1", "rollup-plugin-babel": "^4.0.1", "rollup-plugin-babel-minify": "^7.0.0", diff --git a/packages/waralee/tests/config.test.js b/packages/waralee/tests/config.test.js new file mode 100644 index 00000000000..060b183092b --- /dev/null +++ b/packages/waralee/tests/config.test.js @@ -0,0 +1,10 @@ +// This file is auto-generated. +// Changes you make will be overwritten. +const Waralee = require('../dist') +const testPatternConfig = require('../../../tests/patterns/config') + +// The pattern's metadata from package.json +const meta = + +// Test config +testPatternConfig('waralee', new Waralee(), meta) diff --git a/scripts/reconfigure.js b/scripts/reconfigure.js index f8a682250a7..c77aa02e166 100644 --- a/scripts/reconfigure.js +++ b/scripts/reconfigure.js @@ -8,6 +8,7 @@ const chalk = require("chalk"); const handlebars = require("handlebars"); const Mustache = require("mustache"); const { version } = require("../lerna.json"); +const capitalize = require("@freesewing/utils/capitalize") const repoPath = process.cwd(); const config = { @@ -460,11 +461,55 @@ function configurePatternExample(pkg, config) { fs.writeFileSync(path.join(dest, "src", "App.js"), template(replace)); } +/** + * Adds unit tests for patterns + */ +function configurePatternUnitTests(pkg, config) { + // Create tests directory + let dest = path.join(config.repoPath, "packages", pkg, "tests"); + fse.ensureDirSync(dest) + let source = path.join( + config.repoPath, + "config", + "templates", + "tests", + "patterns" + ); + // Write templates + let replace = { + pattern: pkg, + Pattern: capitalize(pkg) + }; + for (let file of ["config.test.js"]) { + let template = handlebars.compile( + fs.readFileSync(path.join(source, file), "utf-8") + ); + fs.writeFileSync(path.join(dest, file), template(replace)); + } + // Add workflow file for Github actions + let template = handlebars.compile( + fs.readFileSync(path.join( + config.repoPath, + 'config', + 'templates', + 'workflows', + 'tests.pattern.yml' + ), "utf-8") + ); + fs.writeFileSync(path.join( + config.repoPath, + '.github', + 'workflows', + `tests.${pkg}.yml` + ), template(replace)); +} + /** * Puts a package.json, rollup.config.js, README.md, and CHANGELOG.md * into every subdirectory under the packages directory. * Also creates an example dir for pattern packages, and writes * the global CHANGELOG.md. + * New: Adds unit tests for patterns */ function reconfigure(pkgs, config) { for (let pkg of pkgs) { @@ -488,8 +533,10 @@ function reconfigure(pkgs, config) { path.join(config.repoPath, "packages", pkg, "CHANGELOG.md"), changelog(pkg, config) ); - if (packageType(pkg, config) === "pattern") + if (packageType(pkg, config) === "pattern") { configurePatternExample(pkg, config); + configurePatternUnitTests(pkg, config); + } } fs.writeFileSync( path.join(config.repoPath, "CHANGELOG.md"), diff --git a/tests/patterns/config.js b/tests/patterns/config.js new file mode 100644 index 00000000000..eb6cd442816 --- /dev/null +++ b/tests/patterns/config.js @@ -0,0 +1,204 @@ +/* + * This runs unit tests for the pattern configuration + * It expects the following: + * + * @param string me: Name of the pattern (eg 'aaron') + * @param object Pattern: Instantiated pattern object + * @param object meta: Object that holds pattern metadata eg: { + * name: 'aaron', + * version: '2.4.3', + * design: 'Joost De Cock', + * code: 'Joost De Cock', + * department: 'unisex', + * type: 'pattern', + * difficulty: 3, + * tags: [ 'underwear', 'top', 'basics' ], + * } + */ +const testPatternConfig = (design, pattern, meta) => { + const expect = require("chai").expect; + const models = require("@freesewing/models") + const patterns = require("@freesewing/pattern-info") + + it('Metadata:' , () => true) + it(` - 'name' should match package name`, () => { + expect(pattern.config.name).to.equal(design) + }) + it(` - 'version' should be set and be a non-empty string`, () => { + expect(typeof pattern.config.version).to.equal('string') + expect(pattern.config.version.length > 1).to.be.true + }) + for (let key of ['design', 'code', 'tags']) { + it(` - '${key}' should be a string or array of strings`, () => { + if (typeof pattern.config[key] === 'string') { + expect(pattern.config[key].length > 1).to.be.true + } else { + for (let d of pattern.config[key]) { + expect(typeof d).to.equal('string') + expect(d.length > 1).to.be.true + } + } + }) + } + it(` - 'type' should be 'pattern' or 'block'`, () => { + expect(['pattern', 'block'].indexOf(pattern.config.type)).to.not.equal(-1) + }) + it(` - 'department' should be one of menswear, womenswear, unisex, or accessories`, () => { + expect(['menswear', 'womenswear', 'unisex', 'accessories'].indexOf(pattern.config.department)).to.not.equal(-1) + }) + it(` - 'difficulty' should be a number between 1 and 5`, () => { + expect(typeof pattern.config.difficulty).to.equal('number') + expect(pattern.config.difficulty > 0).to.be.true + expect(pattern.config.difficulty < 6).to.be.true + }) + + + /* + * Ensure optiongroup structure and content + */ + it('Option groups:' , () => true) + for (let group in pattern.config.optionGroups) { + for (let option of pattern.config.optionGroups[group]) { + if (typeof option === 'string') { + it(` - '${option}' should be a valid option`, () => { + expect(pattern.config.options[option]).to.exist + }) + } else { + for (let subgroup in option) { + it(` Subgroup: ${subgroup}` , () => true) + for (let suboption of option[subgroup]) { + it(` - '${suboption}' should be a valid option`, () => { + expect(pattern.config.options[suboption]).to.exist + }) + } + } + } + } + } + + + /* + * Ensure pattern is listed as being for breasts or not + */ + let breasts = false + it('Pattern should be listed as with or without breasts', () => { + let result = false + if (patterns.withBreasts.indexOf(design) !== -1) { + breasts = true + result = true + } else { + if (patterns.withoutBreasts.indexOf(design) !== -1) result = true + } + expect(result).to.be.true + }) + + + /* + * Ensure required measurements are known measurements + */ + it('Required measurements:' , () => true) + for (let measurement of pattern.config.measurements) { + it(` - '${measurement}' should be a known measurement`, () => { + expect(models.measurements[breasts ? 'womenswear' : 'menswear'].indexOf(measurement)).to.not.equal(-1) + }) + } + + /* + * Test validity of the pattern's options + */ + it('Pattern options:' , () => true) + for (let name in pattern.config.options) { + let option = pattern.config.options[name] + let type = typeof option + let dflt + if (type === 'object' && typeof option.pct !== 'undefined') { + // Percentage option + it(` - '${name}' is a percentage option`, () => true) + dflt = option.pct + it(` - Should have a default value`, () => { + expect(typeof option.pct).to.equal('number') + }) + it(` - Should have a minimum <= the default value`, () => { + expect(option.min <= option.pct).to.be.true + }) + it(` - Should have a maximum >= the default value`, () => { + expect(option.max >= option.pct).to.be.true + }) + } + else if (type === 'object' && typeof option.deg !== 'undefined') { + // Degree option + it(` - '${name}' is a degree option`, () => true) + dflt = option.deg + it(` - Should have a default value`, () => { + expect(typeof option.deg).to.equal('number') + }) + it(` - Should have a minimum <= the default value`, () => { + expect(option.min <= option.deg).to.be.true + }) + it(` - Should have a maximum >= the default value`, () => { + expect(option.max >= option.deg).to.be.true + }) + } + else if (type === 'object' && typeof option.mm !== 'undefined') { + // Millimeter option + it(` - '${name}' is a distance (mm) option`, () => true) + dflt = option.mm + it(` - Should have a default value`, () => { + expect(typeof option.mm).to.equal('number') + }) + it(` - Should have a minimum <= the default value`, () => { + expect(option.min <= option.mm).to.be.true + }) + it(` - Should have a maximum >= the default value`, () => { + expect(option.max >= option.mm).to.be.true + }) + } + else if (type === 'object' && typeof option.bool !== 'undefined') { + // Boolean option + it(` - '${name}' is a boolean option`, () => true) + dflt = option.bool + it(` - Should have a default value`, () => { + expect(typeof option.bool).to.equal('boolean') + }) + it(` - Default value should be one of TRUE or FALSE`, () => { + expect([true, false].indexOf(option.bool)).to.not.equal(-1) + }) + } + else if (type === 'object' && typeof option.count !== 'undefined') { + // Count option + it(` - '${name}' is a count option`, () => true) + dflt = option.count + it(` - Should have a default value`, () => { + expect(typeof option.count).to.equal('number') + }) + it(` - Should have a minimum <= the default value`, () => { + expect(option.min <= option.count).to.be.true + }) + it(` - Should have a maximum >= the default value`, () => { + expect(option.max >= option.count).to.be.true + }) + } + else if (type === 'object' && typeof option.list !== 'undefined') { + // List option + it(` - '${name}' is a list option`, () => true) + dflt = option.dflt + it(` - Should have a default value`, () => { + expect(typeof option.dflt).to.not.equal('undefined') + }) + it(` - Its default value should be in the list of options`, () => { + expect(option.list.indexOf(option.dflt)).to.not.equal(-1) + }) + it(` - Its options should be an array of numbers or strings`, () => { + for (let o of option.list) expect(['number', 'string'].indexOf(typeof o)).to.not.equal(-1) + }) + } + else if (type === 'number') { + // Static number + } + else if (type === 'string') { + // Static string + } + } +} + +module.exports = testPatternConfig