From bd156862d425eb87b9cf2ee301b09cf938528899 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Aug 2022 13:25:12 +0200 Subject: [PATCH] chore(plugin-measurements): Ported to v3 --- plugins/plugin-measurements/build.mjs | 2 +- plugins/plugin-measurements/package.json | 2 +- .../src/{index.js => index.mjs} | 14 ++++--- .../plugin-measurements/tests/plugin.test.mjs | 41 +++++++++++-------- .../plugin-measurements/tests/shared.test.mjs | 7 ++-- 5 files changed, 39 insertions(+), 27 deletions(-) rename plugins/plugin-measurements/src/{index.js => index.mjs} (86%) diff --git a/plugins/plugin-measurements/build.mjs b/plugins/plugin-measurements/build.mjs index 9d1da1994da..0f283af1c6d 100644 --- a/plugins/plugin-measurements/build.mjs +++ b/plugins/plugin-measurements/build.mjs @@ -14,7 +14,7 @@ const banner = `/** const options = { banner: { js: banner }, bundle: true, - entryPoints: ['src/index.js'], + entryPoints: ['src/index.mjs'], format: 'esm', outfile: 'dist/index.mjs', external: ["@freesewing"], diff --git a/plugins/plugin-measurements/package.json b/plugins/plugin-measurements/package.json index 2a1a2da28d2..0608c4943d3 100644 --- a/plugins/plugin-measurements/package.json +++ b/plugins/plugin-measurements/package.json @@ -38,7 +38,7 @@ "vbuild": "VERBOSE=1 node --experimental-json-modules build.mjs", "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", - "prettier": "npx prettier --write 'src/*.js' 'tests/*.mjs'", + "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "cibuild_step1": "node --experimental-json-modules build.mjs" }, diff --git a/plugins/plugin-measurements/src/index.js b/plugins/plugin-measurements/src/index.mjs similarity index 86% rename from plugins/plugin-measurements/src/index.js rename to plugins/plugin-measurements/src/index.mjs index 2479cbdb0c7..eabc014a640 100644 --- a/plugins/plugin-measurements/src/index.js +++ b/plugins/plugin-measurements/src/index.mjs @@ -1,10 +1,9 @@ -import pkg from '../package.json' +import { name, version } from '../package.json' -export default { - name: pkg.name, - version: pkg.version, +export const plugin = { + name, + version, hooks: { - preRender: (svg) => svg.attributes.setIfUnset('freesewing:plugin-measurements', pkg.version), preDraft: function ({ settings }) { if (settings.measurements) { if ( @@ -36,3 +35,8 @@ export default { }, }, } + +// More specifically named exports +export const measurementsPlugin = plugin +export const pluginMeasurements = plugin + diff --git a/plugins/plugin-measurements/tests/plugin.test.mjs b/plugins/plugin-measurements/tests/plugin.test.mjs index 3b740b2be15..0d8d01ebc9e 100644 --- a/plugins/plugin-measurements/tests/plugin.test.mjs +++ b/plugins/plugin-measurements/tests/plugin.test.mjs @@ -1,6 +1,6 @@ import chai from 'chai' -import freesewing from '@freesewing/core' -import plugin from '../dist/index.mjs' +import { Design, Pattern } from '@freesewing/core' +import { plugin } from './dist/index.mjs' const expect = chai.expect @@ -13,8 +13,8 @@ const measurements = { crossSeamFront: 42 } -const pattern = new freesewing.Pattern().use(plugin) -pattern.apply({ measurements }).draft().render() +const pattern = new Pattern().use(plugin) +pattern.apply({ measurements } ).draft() describe('Measurements Plugin Tests', () => { it('Should set the extra measurements', () => { @@ -27,20 +27,26 @@ describe('Measurements Plugin Tests', () => { }) it('Should calculate seatFront from seat and seatBack', function () { - let config = {measurements:{}} - const testPattern = new freesewing.Design(config,plugin) - let pattern = new testPattern() - let userMeasurements = {seat: 50, seatBack: 20} + const config = {measurements:{}} + const testPattern = new Design({ + measurements: {}, + plugins: [plugin] + }) + const pattern = new testPattern() + const userMeasurements = {seat: 50, seatBack: 20} pattern.settings.measurements = userMeasurements pattern.draft() expect(pattern.settings.measurements.seatFront).to.equal(30) }) it('Should calculate waistFrontArc and waistBackArc from waist and waistBack', function () { - let config = {measurements:{}} - const testPattern = new freesewing.Design(config,plugin) - let pattern = new testPattern() - let userMeasurements = {waist: 50, waistBack: 20} + const config = {measurements:{}} + const testPattern = new Design({ + measurements: {}, + plugins: [plugin] + }) + const pattern = new testPattern() + const userMeasurements = {waist: 50, waistBack: 20} pattern.settings.measurements = userMeasurements pattern.draft() expect(pattern.settings.measurements.waistFrontArc).to.equal(15) @@ -48,10 +54,13 @@ describe('Measurements Plugin Tests', () => { }) it('Should calculate crossSeamBack from crossSeam and crossSeamFront', function () { - let config = {measurements:{}} - const testPattern = new freesewing.Design(config,plugin) - let pattern = new testPattern() - let userMeasurements = {crossSeam: 50, crossSeamFront: 20} + const config = {measurements:{}} + const testPattern = new Design({ + measurements: {}, + plugins: [plugin] + }) + const pattern = new testPattern() + const userMeasurements = {crossSeam: 50, crossSeamFront: 20} pattern.settings.measurements = userMeasurements pattern.draft() expect(pattern.settings.measurements.crossSeamBack).to.equal(30) diff --git a/plugins/plugin-measurements/tests/shared.test.mjs b/plugins/plugin-measurements/tests/shared.test.mjs index 9638f75571e..fdf846844b0 100644 --- a/plugins/plugin-measurements/tests/shared.test.mjs +++ b/plugins/plugin-measurements/tests/shared.test.mjs @@ -1,8 +1,7 @@ -// This file is auto-generated. -// Changes you make will be overwritten. -import plugin from './dist/index.mjs' +// This file is auto-generated | Any changes you make will be overwritten. +import { plugin } from './dist/index.mjs' import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - // Run shared tests sharedPluginTests(plugin) +