diff --git a/packages/core/src/index.js b/packages/core/src/index.js index 1178d68e2df..56d84cc0f30 100644 --- a/packages/core/src/index.js +++ b/packages/core/src/index.js @@ -4,7 +4,9 @@ import Point from './point' import Path from './path' import Snippet from './snippet' import * as utils from './utils' -import { version } from '../package.json' +import pkg from '../package.json' assert { type: 'json' } + +const { version } = pkg /* * Named exports will become the default in FreeSewing v3 diff --git a/packages/core/tests/attributes.test.js b/packages/core/tests/attributes.test.mjs similarity index 96% rename from packages/core/tests/attributes.test.js rename to packages/core/tests/attributes.test.mjs index 8d84e1aa591..1144b0e8f4e 100644 --- a/packages/core/tests/attributes.test.js +++ b/packages/core/tests/attributes.test.mjs @@ -1,5 +1,7 @@ -const expect = require("chai").expect; -const Point = require("../dist/index.js").Point; +import chai from "chai" +import { Point } from "./dist/index.mjs" + +const expect = chai.expect const newAttr = () => new Point(0, 0).attributes; diff --git a/packages/core/tests/design.test.js b/packages/core/tests/design.test.mjs similarity index 98% rename from packages/core/tests/design.test.js rename to packages/core/tests/design.test.mjs index e367c5972ab..e54761acee4 100644 --- a/packages/core/tests/design.test.js +++ b/packages/core/tests/design.test.mjs @@ -1,5 +1,7 @@ -let expect = require("chai").expect; -let freesewing = require("../dist/index.js"); +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect it("Design constructor should return pattern constructor", () => { let design = new freesewing.Design({ diff --git a/packages/core/tests/fixtures/render.js b/packages/core/tests/fixtures/render.mjs similarity index 99% rename from packages/core/tests/fixtures/render.js rename to packages/core/tests/fixtures/render.mjs index c15a5db711b..776a20f6a7b 100644 --- a/packages/core/tests/fixtures/render.js +++ b/packages/core/tests/fixtures/render.mjs @@ -1,4 +1,6 @@ -var version = require('../../package.json').version +import pkg from '../../package.json' assert { type: 'json' } + +const { version } = pkg var render = { boilerplate: `` } -module.exports = render +export default render diff --git a/packages/core/tests/hooks.test.js b/packages/core/tests/hooks.test.mjs similarity index 68% rename from packages/core/tests/hooks.test.js rename to packages/core/tests/hooks.test.mjs index 9e1a243ed4b..bf4b8b82b1b 100644 --- a/packages/core/tests/hooks.test.js +++ b/packages/core/tests/hooks.test.mjs @@ -1,8 +1,10 @@ -let expect = require("chai").expect; -let freesewing = require("../dist/index.js"); +import chai from "chai" +import { Pattern } from "./dist/index.mjs" + +const expect = chai.expect it("Should contain all hooks", () => { - let pattern = new freesewing.Pattern(); + let pattern = new Pattern(); let h = pattern.hooks; let test = { preDraft: [], diff --git a/packages/core/tests/part.test.js b/packages/core/tests/part.test.mjs similarity index 98% rename from packages/core/tests/part.test.js rename to packages/core/tests/part.test.mjs index 2256b020d98..b19fea3bd82 100644 --- a/packages/core/tests/part.test.js +++ b/packages/core/tests/part.test.mjs @@ -1,5 +1,7 @@ -let expect = require("chai").expect; -let freesewing = require("../dist/index.js"); +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect describe('Part', () => { it("Svg constructor should initialize object", () => { @@ -122,7 +124,7 @@ it("Should raise a warning when setting a non-Point value in points", () => { const part = new pattern.Part(); const { points } = part.shorthand() points.a = 'banana' - expect(pattern.events.warning.length).to.equal(3) + expect(pattern.events.warning.length).to.equal(4) expect(pattern.events.warning[0]).to.equal('`points.a` was set with a value that is not a `Point` object') expect(pattern.events.warning[1]).to.equal('`points.a` was set with a `x` parameter that is not a `number`') expect(pattern.events.warning[2]).to.equal('`points.a` was set with a `y` parameter that is not a `number`') @@ -134,7 +136,7 @@ it("Should raise a warning when setting a non-Snippet value in snippets", () => const part = new pattern.Part(); const { snippets } = part.shorthand() snippets.a = 'banana' - expect(pattern.events.warning.length).to.equal(3) + expect(pattern.events.warning.length).to.equal(4) expect(pattern.events.warning[0]).to.equal('`snippets.a` was set with a value that is not a `Snippet` object') expect(pattern.events.warning[1]).to.equal('`snippets.a` was set with a `def` parameter that is not a `string`') expect(pattern.events.warning[2]).to.equal('`snippets.a` was set with an `anchor` parameter that is not a `Point`') diff --git a/packages/core/tests/path.test.js b/packages/core/tests/path.test.mjs similarity index 99% rename from packages/core/tests/path.test.js rename to packages/core/tests/path.test.mjs index 09181f93e41..3cbd2cbefcb 100644 --- a/packages/core/tests/path.test.js +++ b/packages/core/tests/path.test.mjs @@ -1,6 +1,8 @@ -const expect = require("chai").expect; -const freesewing = require("../dist/index.js"); -const round = freesewing.utils.round; +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect +const round = freesewing.utils.round it("Should offset a line", () => { let pattern = new freesewing.Pattern(); diff --git a/packages/core/tests/pattern.test.js b/packages/core/tests/pattern.test.mjs similarity index 99% rename from packages/core/tests/pattern.test.js rename to packages/core/tests/pattern.test.mjs index 5ba5ab34781..0655fc77b2d 100644 --- a/packages/core/tests/pattern.test.js +++ b/packages/core/tests/pattern.test.mjs @@ -1,5 +1,7 @@ -let expect = require("chai").expect; -let freesewing = require("../dist/index.js"); +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect it("Pattern constructor should initialize object", () => { let pattern = new freesewing.Pattern({ diff --git a/packages/core/tests/point.test.js b/packages/core/tests/point.test.mjs similarity index 98% rename from packages/core/tests/point.test.js rename to packages/core/tests/point.test.mjs index defaacac9d0..fddc72c138d 100644 --- a/packages/core/tests/point.test.js +++ b/packages/core/tests/point.test.mjs @@ -1,7 +1,9 @@ -const expect = require("chai").expect; -const freesewing = require("../dist/index.js"); -const Point = freesewing.Point; -const round = freesewing.utils.round; +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect +const Point = freesewing.Point +const round = freesewing.utils.round it("Should return point object", () => { let result = new Point(2, 4); diff --git a/packages/core/tests/snap-proposal.js b/packages/core/tests/snap-proposal.mjs similarity index 97% rename from packages/core/tests/snap-proposal.js rename to packages/core/tests/snap-proposal.mjs index aa4614450c4..6c9ca5e2988 100644 --- a/packages/core/tests/snap-proposal.js +++ b/packages/core/tests/snap-proposal.mjs @@ -1,5 +1,7 @@ -const expect = require("chai").expect; -const freesewing = require("../dist/index.js"); +import chai from "chai" +import freesewing from "../dist/index.js" + +const expect = chai.expect const measurements = { head: 400 } const toAbs = (val, { measurements }) => measurements.head * val diff --git a/packages/core/tests/snippet.test.js b/packages/core/tests/snippet.test.mjs similarity index 90% rename from packages/core/tests/snippet.test.js rename to packages/core/tests/snippet.test.mjs index dfd42385a0c..5d17bdc19c7 100644 --- a/packages/core/tests/snippet.test.js +++ b/packages/core/tests/snippet.test.mjs @@ -1,5 +1,7 @@ -let expect = require("chai").expect; -let freesewing = require("../dist/index.js"); +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect it("Should create a snippet", () => { let snip1 = new freesewing.Snippet("test", new freesewing.Point(12, 34)); diff --git a/packages/core/tests/store.test.js b/packages/core/tests/store.test.mjs similarity index 88% rename from packages/core/tests/store.test.js rename to packages/core/tests/store.test.mjs index 49a3e67100c..9c2ac76cca1 100644 --- a/packages/core/tests/store.test.js +++ b/packages/core/tests/store.test.mjs @@ -1,5 +1,7 @@ -let expect = require("chai").expect; -let freesewing = require("../dist/index.js"); +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const expect = chai.expect let pattern = new freesewing.Pattern(); let store = pattern.store; diff --git a/packages/core/tests/svg.test.js b/packages/core/tests/svg.test.mjs similarity index 96% rename from packages/core/tests/svg.test.js rename to packages/core/tests/svg.test.mjs index c247c8851dd..5baa5cc23a0 100644 --- a/packages/core/tests/svg.test.js +++ b/packages/core/tests/svg.test.mjs @@ -1,10 +1,13 @@ -const version = require("../package.json").version; -const render = require("./fixtures/render.js"); -const expect = require("chai").expect; -const chai = require("chai"); -chai.use(require("chai-string")); -const freesewing = require("../dist/index.js"); -const round = freesewing.utils.round; +import chai from "chai" +import chaiString from "chai-string" +import freesewing from "./dist/index.mjs" +import pkg from '../package.json' assert { type: 'json' } +import render from "./fixtures/render.mjs" + +chai.use(chaiString) +const expect = chai.expect +const { version } = pkg +const round = freesewing.utils.round it("Svg constructor should initialize object", () => { let pattern = new freesewing.Pattern(); diff --git a/packages/core/tests/utils.test.js b/packages/core/tests/utils.test.mjs similarity index 96% rename from packages/core/tests/utils.test.js rename to packages/core/tests/utils.test.mjs index c59a774e714..063376be823 100644 --- a/packages/core/tests/utils.test.js +++ b/packages/core/tests/utils.test.mjs @@ -1,7 +1,9 @@ -const expect = require("chai").expect; -const freesewing = require("../dist/index.js"); -const utils = freesewing.utils; -const round = utils.round; +import chai from "chai" +import freesewing from "./dist/index.mjs" + +const { expect } = chai +const utils = freesewing.utils +const round = utils.round it("Should return the correct macro name", () => { expect(utils.macroName("test")).to.equal("_macro_test"); @@ -377,8 +379,8 @@ it("Should not find intersections of this line and circle", () => { }); it("Should find intersections between circles", () => { - A = new freesewing.Point(10, 10).attr("data-circle", 15); - B = new freesewing.Point(30, 30).attr("data-circle", 35); + let A = new freesewing.Point(10, 10).attr("data-circle", 15); + let B = new freesewing.Point(30, 30).attr("data-circle", 35); let intersections1 = freesewing.utils.circlesIntersect( A, @@ -406,8 +408,8 @@ it("Should find intersections between circles", () => { }); it("Should not find intersections between non-overlapping circles", () => { - A = new freesewing.Point(10, 10).attr("data-circle", 15); - B = new freesewing.Point(90, 90).attr("data-circle", 35); + let A = new freesewing.Point(10, 10).attr("data-circle", 15); + let B = new freesewing.Point(90, 90).attr("data-circle", 35); let intersections = freesewing.utils.circlesIntersect( A, @@ -419,8 +421,8 @@ it("Should not find intersections between non-overlapping circles", () => { }); it("Should not find intersections between contained circles", () => { - A = new freesewing.Point(10, 10).attr("data-circle", 15); - B = new freesewing.Point(10, 10).attr("data-circle", 35); + let A = new freesewing.Point(10, 10).attr("data-circle", 15); + let B = new freesewing.Point(10, 10).attr("data-circle", 35); let intersections = freesewing.utils.circlesIntersect( A, @@ -432,8 +434,8 @@ it("Should not find intersections between contained circles", () => { }); it("Should not find intersections between identical circles", () => { - A = new freesewing.Point(10, 10).attr("data-circle", 35); - B = new freesewing.Point(10, 10).attr("data-circle", 35); + let A = new freesewing.Point(10, 10).attr("data-circle", 35); + let B = new freesewing.Point(10, 10).attr("data-circle", 35); let intersections = freesewing.utils.circlesIntersect( A,