diff --git a/packages/plugin-react/.babelrc b/packages/plugin-react/.babelrc
deleted file mode 100644
index 957cae3e64d..00000000000
--- a/packages/plugin-react/.babelrc
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "presets": [
- [
- "@babel/preset-env",
- {
- "useBuiltIns": "entry"
- }
- ]
- ]
-}
diff --git a/packages/plugin-react/.travis.yml b/packages/plugin-react/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/packages/plugin-react/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/packages/plugin-react/README.md b/packages/plugin-react/README.md
deleted file mode 100644
index 983cc3c67c0..00000000000
--- a/packages/plugin-react/README.md
+++ /dev/null
@@ -1,98 +0,0 @@
-> **Note**: This is part of version 2 of FreeSewing.
-> It is a work in progress, and not ready for prime-time yet
->
-> For all questions, please come say hello in [our chatroom on Gitter](https://gitter.im/).
-
-

-FreeSewing is a free and open source library for made-to-measure sewing patterns
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-react
-
-A FreeSewing plugin to turn your pattern into a React component
-
-
-
-## About FreeSewing 🤔
-
-Where the world of makers and developers collide, that's where you'll find FreeSewing.
-
-Our [core library](https://freesewing.dev/en/freesewing) is a *batteries-included* toolbox
-for parametric design of sewing patterns. It's a modular system (check our list
-of [plugins](https://freesewing.dev/en/plugins) and getting started is as simple as:
-
-```bash
-npm init freesewing-pattern
-```
-
-The [getting started] section on [freesewing.dev](https://freesewing.dev/) is a good
-entrypoint to our documentation, but you'll find a lot more there, including
-our [API documentation](https://freesewing.dev/en/freesewing/api),
-as well as [examples](https://freesewing.dev/en/freesewing/examples),
-and [best practices](https://freesewing.dev/en/do).
-
-If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
-our sewing patterns adapted to your measurements.
-
-## Support FreeSewing: Become a patron 🥰
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, you too
-should [become a patron](https://freesewing.org/patrons/join).
-
-## Links 👩💻
-
- - 💻 Makers website: [freesewing.org](https://freesewing.org)
- - 💻 Developers website: [freesewing.dev](https://freesewing.org)
- - 💬 Chat: [gitter.im/freesewing](https://gitter.im/freesewing/freesewing)
- - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## License: MIT 🤓
-
-© [Joost De Cock](https://github.com/joostdecock).
-See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details.
-
-## Where to get help 🤯
-
-Our [chatroom on Gitter](https://gitter.im) is the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json
deleted file mode 100644
index 250aa3f3bfc..00000000000
--- a/packages/plugin-react/package.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "@freesewing/plugin-react",
- "version": "2.0.0-alpha.19",
- "description": "A FreeSewing plugin to turn your pattern into a React component",
- "author": "Joost De Cock (https://github.com/joostdecock)",
- "homepage": "https://freesewing.org/",
- "repository": "github:freesewing/freesewing",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/freesewing/freesewing/issues"
- },
- "keywords": [
- "freesewing",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "main": "dist/index.js",
- "module": "dist/index.mjs",
- "scripts": {
- "clean": "rimraf dist",
- "nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
- "modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
- "build": "npm run clean && npm run nodebuild && npm run modulebuild",
- "test": "echo \"plugin-react: No tests configured. Perhaps you'd like to do this?\" && exit 0",
- "pubtest": "npm publish --registry http://localhost:6662",
- "pubforce": "npm publish",
- "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -"
- },
- "peerDependencies": {
- "@freesewing/core": "^2.0.0-alpha.18"
- },
- "files": [
- "dist/*",
- "README.md",
- "package.json"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "alpha"
- },
- "engines": {
- "node": ">=8.0.0",
- "npm": ">=5"
- }
-}
diff --git a/packages/plugin-react/rollup.config.js b/packages/plugin-react/rollup.config.js
deleted file mode 100644
index dbee92ea2c2..00000000000
--- a/packages/plugin-react/rollup.config.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import babel from "rollup-plugin-babel";
-import resolve from "rollup-plugin-node-resolve";
-import commonjs from "rollup-plugin-commonjs";
-import json from "rollup-plugin-json";
-import minify from "rollup-plugin-babel-minify";
-import yaml from "rollup-plugin-yaml";
-import url from "rollup-plugin-url";
-import postcss from "rollup-plugin-postcss";
-import svgr from "@svgr/rollup";
-import peerDepsExternal from "rollup-plugin-peer-deps-external";
-import { name, version, description, author, license } from "./package.json";
-
-export default {
- input: "src/index.js",
- output: [
- {
- file: "dist/index.js",
- format: "cjs",
- sourcemap: true
- },
- {
- file: "dist/index.mjs",
- format: "es",
- sourcemap: true
- }
- ],
- plugins: [
- peerDepsExternal(),
- resolve({ modulesOnly: true }),
- url(),
- commonjs(),
- json(),
- yaml(),
- svgr(),
- postcss({
- modules: true
- }),
- babel({
- exclude: "node_modules/**",
- plugins: ["@babel/plugin-proposal-object-rest-spread"]
- }),
- minify({
- comments: false,
- sourceMap: true,
- banner: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
- })
- ]
-};
diff --git a/packages/plugin-react/src/index.js b/packages/plugin-react/src/index.js
deleted file mode 100644
index 01b0e82445e..00000000000
--- a/packages/plugin-react/src/index.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import { version, name } from "../package.json";
-
-export default {
- name: name,
- version: version,
- hooks: {
- postDraft: function(pattern, props) {
- console.log("postDraft hook in react plugin");
- }
- }
-};
diff --git a/packages/plugin-react/tests/designer.test.js b/packages/plugin-react/tests/designer.test.js
deleted file mode 100644
index e63d1531305..00000000000
--- a/packages/plugin-react/tests/designer.test.js
+++ /dev/null
@@ -1,73 +0,0 @@
-import script from "../src/lib/script.js";
-import defs from "../src/lib/snippets.js";
-import freesewing from "freesewing";
-import { version } from "../package.json";
-
-let expect = require("chai").expect;
-let designerPlugin = require("../dist/index.js");
-
-let pattern = new freesewing.Pattern().with(designerPlugin);
-pattern.render();
-
-it("Should load script", () => {
- expect(pattern.svg.script).to.equal(script);
-});
-
-it("Should set load defs", () => {
- expect(pattern.svg.defs).to.equal(defs);
-});
-
-it("Should set the plugin name:version attribute", () => {
- expect(pattern.svg.attributes.get("freesewing:plugin-designer")).to.equal(
- version
- );
-});
-
-it("Should decorate a point", () => {
- pattern.parts.testPart = new pattern.Part();
- pattern.parts.testPart.points.testPoint = new freesewing.Point(10, 20);
- let a = pattern.parts.testPart.points.testPoint.attributes;
- pattern.render();
- expect(a.get("id")).to.equal("1");
- expect(a.get("data-point")).to.equal("testPoint");
- expect(a.get("data-part")).to.equal("testPart");
- let snippet = pattern.parts.testPart.snippets["snippet-testPoint"];
- expect(snippet.def).to.equal("point");
- expect(snippet.anchor).to.equal(pattern.parts.testPart.points.testPoint);
- let b = snippet.attributes;
- expect(b.get("onmouseover")).to.equal("pointHover(evt)");
- expect(b.get("id")).to.equal("snippet-testPoint");
- expect(b.get("data-point")).to.equal("testPoint");
- expect(b.get("data-part")).to.equal("testPart");
-});
-
-it("Should decorate a hidden point", () => {
- pattern.parts.testPart.points._hidden = new freesewing.Point(30, 40);
- let a = pattern.parts.testPart.points._hidden.attributes;
- pattern.render();
- expect(a.get("id")).to.equal("2");
- expect(a.get("data-point")).to.equal("_hidden");
- expect(a.get("data-part")).to.equal("testPart");
-});
-
-it("Should decorate a path point", () => {
- pattern.parts.testPart.points.from = new freesewing.Point(5, 60);
- pattern.parts.testPart.points.cp1 = new freesewing.Point(50, 60);
- pattern.parts.testPart.points.cp2 = new freesewing.Point(90, 10);
- pattern.parts.testPart.points.to = new freesewing.Point(10, 10);
- pattern.parts.testPart.paths.testPath = new freesewing.Path()
- .move(pattern.parts.testPart.points.from)
- .line(pattern.parts.testPart.points.testPoint)
- .curve(
- pattern.parts.testPart.points.cp1,
- pattern.parts.testPart.points.cp2,
- pattern.parts.testPart.points.to
- );
- pattern.render();
- let snippet = pattern.parts.testPart.snippets[7];
- expect(snippet.def).to.equal("path-move-point");
- expect(snippet.anchor).to.equal(pattern.parts.testPart.points.from);
- let b = snippet.attributes;
- expect(b.get("data-path")).to.equal("testPath");
- expect(b.get("data-part")).to.equal("testPart");
-});