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