From f9e3236253e5fa977ec15bd71cd3a8108b0b7bbf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 12 Jul 2022 20:09:17 +0200 Subject: [PATCH] chore: Fixing linter warnings --- designs/hi/src/body.js | 2 +- designs/noble/src/backPoints.js | 2 +- designs/noble/src/frontInside.js | 6 +- designs/noble/src/frontOutside.js | 7 +- designs/noble/src/frontPoints.js | 11 +- designs/sandy/config/index.js | 1 - designs/shin/config/index.js | 1 - designs/trayvon/config/index.js | 1 - designs/unice/src/back.js | 270 +----------------- designs/unice/src/gusset.js | 80 +----- designs/ursula/src/back2.js | 10 +- designs/ursula/src/front2.js | 9 +- designs/ursula/src/gusset2.js | 14 +- packages/new-design/lib/cli.mjs | 32 +-- packages/new-design/lib/utils.mjs | 2 +- .../shared/lab/components/header.js | 2 - .../shared/lab/components/layouts/bare.js | 52 ---- .../shared/lab/components/layouts/docs.js | 2 - .../new-design/shared/lab/hooks/useApp.js | 3 - packages/new-design/shared/pages/index.js | 11 +- packages/new-design/shared/pages/support.js | 30 +- scripts/add-software.mjs | 3 - scripts/reconfigure.mjs | 46 +-- scripts/strapi-assign-authors.mjs | 6 +- scripts/strapi-en-to-other.mjs | 1 - sites/dev/components/footer.js | 3 - sites/dev/components/layouts/bare.js | 52 ---- sites/dev/components/layouts/docs.js | 5 +- sites/dev/components/wrappers/layout.js | 1 - sites/dev/components/wrappers/page.js | 4 - sites/dev/next.config.mjs | 8 +- sites/dev/pages/blog/[slug].js | 4 - sites/dev/pages/index.js | 3 +- sites/dev/scripts/algolia.mjs | 2 +- sites/lab/components/footer.js | 2 - sites/lab/components/header.js | 1 - sites/lab/components/layouts/bare.js | 51 ---- 37 files changed, 46 insertions(+), 694 deletions(-) diff --git a/designs/hi/src/body.js b/designs/hi/src/body.js index 76d014d5d7f..772664287e0 100644 --- a/designs/hi/src/body.js +++ b/designs/hi/src/body.js @@ -34,7 +34,7 @@ export default function (part) { let body16_17d = 152.51537318250902 * options.size let body17_18d = 255.15294373571314 * options.size let body18_19d = 71.90453921693678 * options.size - let body19_01d = 61.33021195137026 * options.size + //let body19_01d = 61.33021195137026 * options.size let body01cp1d = 32.13103487929059 * options.size let body01cp2d = 23.72518967258217 * options.size diff --git a/designs/noble/src/backPoints.js b/designs/noble/src/backPoints.js index e4844d0dbab..3931c0dab63 100644 --- a/designs/noble/src/backPoints.js +++ b/designs/noble/src/backPoints.js @@ -56,7 +56,7 @@ export default function (part) { let diff = 0 let angle = 0 do { - if (length?.o) angle = diff*( length.o > length.i ? -.1 : .1 ) + if (length.o) angle = diff*( length.o > length.i ? -.1 : .1 ) points.dartBottomRight = points.dartBottomRight.rotate( angle, points.waistSide ) diff --git a/designs/noble/src/frontInside.js b/designs/noble/src/frontInside.js index 949e417321c..a8e9c77b721 100644 --- a/designs/noble/src/frontInside.js +++ b/designs/noble/src/frontInside.js @@ -1,6 +1,5 @@ export default function (part) { - let { - utils, + const { store, sa, Point, @@ -10,7 +9,6 @@ export default function (part) { Snippet, snippets, options, - measurements, complete, paperless, macro, @@ -171,7 +169,7 @@ export default function (part) { to: points.hps, y: points.hps.y - sa - 15, }) - } + } } return part diff --git a/designs/noble/src/frontOutside.js b/designs/noble/src/frontOutside.js index c94d12fb6dc..2fceb131ec8 100644 --- a/designs/noble/src/frontOutside.js +++ b/designs/noble/src/frontOutside.js @@ -1,16 +1,13 @@ export default function (part) { - let { - utils, + const { store, sa, - Point, points, Path, paths, Snippet, snippets, options, - measurements, complete, paperless, macro, @@ -154,7 +151,7 @@ export default function (part) { to: points.shoulderDartOutside, x: pLeft.x -sa - 15, }) - + let pArmholeLeft = paths.armhole.edge('left') macro('hd', { from: points.waistDartRight, diff --git a/designs/noble/src/frontPoints.js b/designs/noble/src/frontPoints.js index 3fe20c60e9c..a232edccc53 100644 --- a/designs/noble/src/frontPoints.js +++ b/designs/noble/src/frontPoints.js @@ -1,18 +1,10 @@ export default function (part) { - let { - utils, - store, - sa, - Point, + const { points, Path, paths, - Snippet, snippets, options, - measurements, - complete, - paperless, macro, } = part.shorthand() @@ -227,7 +219,6 @@ export default function (part) { .rotate(-2.5, points.shoulderDartOutside) .shiftFractionTowards(points.shoulderDartOutside, 0.2) - let lInside = shoulderInsideSeam.length() let iteration = 1 let diff = 0 do { diff --git a/designs/sandy/config/index.js b/designs/sandy/config/index.js index 68fa5051729..7895acea059 100644 --- a/designs/sandy/config/index.js +++ b/designs/sandy/config/index.js @@ -1,5 +1,4 @@ import { version } from '../package.json' -import freesewing from '@freesewing/core' import configHelpers from '@freesewing/config-helpers' const { elastics, pctBasedOn } = configHelpers diff --git a/designs/shin/config/index.js b/designs/shin/config/index.js index 6fc17724ab6..1db9cac7995 100644 --- a/designs/shin/config/index.js +++ b/designs/shin/config/index.js @@ -1,5 +1,4 @@ import { version } from '../package.json' -import freesewing from '@freesewing/core' import configHelpers from '@freesewing/config-helpers' const { elastics, pctBasedOn } = configHelpers diff --git a/designs/trayvon/config/index.js b/designs/trayvon/config/index.js index 887e8e796b3..7889b4abe4d 100644 --- a/designs/trayvon/config/index.js +++ b/designs/trayvon/config/index.js @@ -1,5 +1,4 @@ import { version } from '../package.json' -import freesewing from '@freesewing/core' import configHelpers from '@freesewing/config-helpers' const { smallsteps, pctBasedOn } = configHelpers diff --git a/designs/unice/src/back.js b/designs/unice/src/back.js index b271747b41e..39b86acb13d 100644 --- a/designs/unice/src/back.js +++ b/designs/unice/src/back.js @@ -1,270 +1,4 @@ -export default function (part) { - const { - options, - Point, - Path, - points, - paths, - measurements, - // Snippet, - // snippets, - store, - utils, - complete, - sa, - paperless, - macro, - } = part.shorthand() +const method = part => part - // Design pattern here +export default method - // Create points -return part - points.backWaistMid = new Point(measurements.seat / 4, 0) - points.backWaistBandLeft = new Point( - store.get('sideSeamWaist').x / options.backToFrontWidth, - store.get('sideSeamWaist').y - ) - points.backLegOpeningLeft = new Point( - store.get('sideSeamHip').x / options.backToFrontWidth, - store.get('sideSeamHip').y - ) - - // back height is given by (estimated) cross seam, minus front and gusset lengths - // this does not account for vertical stretch yet - const backHeight = store.get('crossSeam') - store.get('frontHeight') - options.gussetLength * measurements.seat - - // calculate the actual back height, using yScale above and yScaleReduced below leg opening - const backHeightAbove = store.get('frontHeightAbove') // part above has same height front and back - - let backHeightBelow - backHeightBelow = store.get('yScale')*(backHeight - backHeightAbove/store.get('yScaleReduced')) - - const backHeightReduced = backHeightBelow + backHeightAbove - - points.backGussetLeft = new Point( - measurements.seat / 4 - - ((measurements.waist * options.gussetWidth * store.get('xScale')) / options.gussetRatio) * - options.backToFrontWidth, - backHeightReduced - ) - points.backGussetMid = new Point( - measurements.seat / 4, - backHeightReduced - ) - - points.backGussetRight = points.backGussetLeft.flipX(points.backWaistMid) - points.backLegOpeningRight = points.backLegOpeningLeft.flipX(points.backWaistMid) - points.backWaistBandRight = points.backWaistBandLeft.flipX(points.backWaistMid) - - points.backWaistBandMid = points.backWaistBandLeft - .shiftFractionTowards(points.backWaistBandRight, 0.5) - .shift(270, measurements.waistToUpperLeg * options.backDip) - - /* Middle point for label */ - points.backMidMid = points.backLegOpeningLeft.shiftFractionTowards( - points.backLegOpeningRight, - 0.5 - ) - - // Create control points - - /* Control point for waistband dip */ - points.backWaistBandLeftCp1 = points.backWaistBandMid.shift(0,points.backWaistBandMid.dx(points.backWaistBandLeft) / 3 ) - - /* Flip points to right side */ - points.backWaistBandRightCp1 = points.backWaistBandLeftCp1.flipX(points.backWaistMid) - - // Shape back coverage - - /* Only have to do this on one side */ - points.backLegOpeningCorner = utils.beamsIntersect( - points.backLegOpeningLeft, - points.backLegOpeningLeft.shift(180, points.backGussetLeft.dy(points.backLegOpeningLeft)), - points.backGussetLeft, - points.backGussetLeft.shift(270, points.backGussetLeft.dy(points.backLegOpeningLeft)) - ) - - if (options.backExposure >= 0) { - /* If back exposure is high, like a thong style */ - /* This controls the hip bit */ - points.backLegOpeningLeftCp1 = points.backLegOpeningLeft.shiftFractionTowards( - points.backLegOpeningCorner, - options.backExposure - ) - /* This controls the center bit */ - points.backGussetLeftCp1 = points.backGussetLeft.shiftFractionTowards( - points.backWaistBandMid, - options.backExposure - ) - points.backGussetLeft = points.backGussetLeft.shiftFractionTowards( - points.backGussetMid, - options.backExposure - ) // This narrows the back of the gusset - points.backGussetRight = points.backGussetLeft.flipX(points.backWaistMid) - } else { - /* If back exposure is low and flares out to cover more */ - store.set('adjustedBackExposure',options.backExposure * store.get('adjustedLegOpening')) // flare depends on leg opening - /* This controls the hip bit */ - points.backLegOpeningLeftCp1 = points.backLegOpeningLeft.shift( - -45,store.get('adjustedBackExposure') * points.backWaistBandMid.dx(points.backWaistBandLeft)) - /* This controls the taper to gusset */ - points.backGussetLeftCp1 = points.backGussetLeft.shift(115, store.get('adjustedBackExposure') * points.backWaistBandMid.dx(points.backWaistBandLeft)) - - /* center of the flare and its control points are on a line parallel to the backGussetLeft to backLegOpeningLeft line - * first, define the points on that line */ - points.backFlare = points.backGussetLeft.shiftFractionTowards(points.backLegOpeningLeft, 0.5) - // points.backFlareCp1 = points.backGussetLeft.shiftFractionTowards(points.backLegOpeningLeft, 0.5 - store.get('adjustedBackExposure')) - points.backFlareCp1 = points.backGussetLeft.shiftFractionTowards(points.backLegOpeningLeft, 0.7) - points.backFlareCp2 = points.backGussetLeft.shiftFractionTowards(points.backLegOpeningLeft, 0.3) - /* then shift all three points outward */ - points.backFlareLeft = points.backFlare.shift( - 215,(points.backWaistBandMid.dx(points.backWaistBandLeft)) * store.get('adjustedBackExposure') * 2 ) - points.backFlareLeftCp1 = points.backFlareCp1.shift( - 215,(points.backWaistBandMid.dx(points.backWaistBandLeft)) * store.get('adjustedBackExposure') * 2 ) - points.backFlareLeftCp2 = points.backFlareCp2.shift( - 215,(points.backWaistBandMid.dx(points.backWaistBandLeft)) * store.get('adjustedBackExposure') * 2 ) - - - /* Flip points to the right */ - - points.backFlareRight = points.backFlareLeft.flipX(points.backWaistBandMid) - points.backFlareRightCp1 = points.backFlareLeftCp1.flipX(points.backWaistMid) - points.backFlareRightCp2 = points.backFlareLeftCp2.flipX(points.backWaistMid) - } - - /* Flip points to the right */ - - points.backLegOpeningRightCp1 = points.backLegOpeningLeftCp1.flipX(points.backWaistMid) - points.backGussetRightCp1 = points.backGussetLeftCp1.flipX(points.backWaistMid) - - // Draw paths - - if (options.backExposure >= 0) { - paths.seam = new Path() - .move(points.backWaistBandMid) - .curve(points.backWaistBandLeftCp1, points.backWaistBandLeft, points.backWaistBandLeft) // Waist band dip - .line(points.backLegOpeningLeft) - .curve(points.backLegOpeningLeftCp1, points.backGussetLeftCp1, points.backGussetLeft) - .line(points.backGussetMid) - .line(points.backGussetRight) - .curve(points.backGussetRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight) - .line(points.backWaistBandRight) - .curve(points.backWaistBandRight, points.backWaistBandRightCp1, points.backWaistBandMid) // Waist band dip - .close() - .attr('class', 'fabric') - } else { - paths.seam = new Path() - .move(points.backWaistBandMid) - .curve(points.backWaistBandLeftCp1, points.backWaistBandLeft, points.backWaistBandLeft) // Waist band dip - .line(points.backLegOpeningLeft) - .curve(points.backLegOpeningLeftCp1, points.backFlareLeftCp1, points.backFlareLeft) - .curve(points.backFlareLeftCp2, points.backGussetLeftCp1, points.backGussetLeft) - .line(points.backGussetMid) - .line(points.backGussetRight) - .curve(points.backGussetRightCp1, points.backFlareRightCp2, points.backFlareRight) - .curve(points.backFlareRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight) - .line(points.backWaistBandRight) - .curve(points.backWaistBandRight, points.backWaistBandRightCp1, points.backWaistBandMid) // Waist band dip - .close() - .attr('class', 'fabric') - } - - // Store points for use in other parts - - /* Store gusset points for use in gusset */ - - store.set('backGussetLeft', points.backGussetLeft) - store.set('backGussetRight', points.backGussetRight) - - /* Store lengths for use in elastic */ - - paths.backLegOpening = (options.backExposure >= 0) - ? new Path() - .move(points.backGussetRight) - .curve(points.backGussetRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight) - .setRender(false) - : new Path() - .move(points.backGussetRight) - .curve(points.backGussetRightCp1, points.backFlareRightCp2, points.backFlareRight) - .curve(points.backFlareRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight) - .setRender(false) - store.set('backLegOpeningLength',paths.backLegOpening.length()) - - paths.backWaistBand = new Path() - .move(points.backWaistBandRight) - .curve(points.backWaistBandRightCp1, points.backWaistBandLeftCp1, points.backWaistBandLeft) - .setRender(false) - store.set('backWaistBandLength',paths.backWaistBand.length()) - - // Complete? - if (complete) { - if (sa) { - paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') - } - } - - macro('title', { - at: points.backMidMid, - nr: 2, - title: 'back', - }) - - macro('grainline', { - from: points.backGussetMid, - to: points.backGussetMid.shiftFractionTowards(points.backWaistBandMid, 0.4), - }) - - points.scaleboxAnchor = points.scalebox = points.backMidMid.shift(90, -50) - macro('miniscale', { at: points.scalebox }) - - // Paperless? - if (paperless) { - macro('hd', { - from: points.backWaistBandRight, - to: points.backWaistBandLeft, - y: points.backWaistBandRight.y + sa - 15, - }) - macro('hd', { - from: points.backLegOpeningRight, - to: points.backLegOpeningLeft, - y: points.backLegOpeningRight.y + sa - 15, - }) - macro('hd', { - from: points.backGussetLeft, - to: points.backGussetRight, - y: points.backGussetLeft.y + sa + 15, - }) - macro('vd', { - from: points.backWaistBandMid, - to: points.backGussetMid, - x: points.backWaistBandMid.x + sa + 15, - }) - if (options.backExposure >= 0) { - macro('pd', { - path: new Path() - .move(points.backGussetRight) - .curve( - points.backGussetRightCp1, - points.backLegOpeningRightCp1, - points.backLegOpeningRight - ), - d: 15, - }) - } else { - macro('pd', { - path: new Path() - .move(points.backGussetRight) - .curve(points.backGussetRightCp1, points.backFlareRightCp2, points.backFlareRight) - .curve( - points.backFlareRightCp1, - points.backLegOpeningRightCp1, - points.backLegOpeningRight - ), - d: 15, - }) - } - } - - return part -} diff --git a/designs/unice/src/gusset.js b/designs/unice/src/gusset.js index b4860a01cdc..39b86acb13d 100644 --- a/designs/unice/src/gusset.js +++ b/designs/unice/src/gusset.js @@ -1,80 +1,4 @@ -export default function (part) { - let { options, Point, Path, points, paths, measurements, store, complete, sa, paperless, macro } = - part.shorthand() -return part - var yScaleDoubleLayer - yScaleDoubleLayer = (1 + store.get('yScale'))/2 // double layer of fabric stretches half as much +const method = part => part - // Create points - points.frontGussetLeft = new Point(store.get('frontGussetLeft').x, 0) - points.backGussetLeft = new Point( - store.get('backGussetLeft').x, - measurements.seat * options.gussetLength * yScaleDoubleLayer - ) - points.frontGussetRight = new Point(store.get('frontGussetRight').x, 0) - points.backGussetRight = new Point( - store.get('backGussetRight').x, - measurements.seat * options.gussetLength * yScaleDoubleLayer - ) +export default method - // Create control points - points.gussetCp1 = points.frontGussetLeft - .shiftFractionTowards(points.backGussetLeft, 0.5) - .shift(180, points.frontGussetRight.x / -15) - - // Flip points to right side - points.gussetCp2 = points.gussetCp1.flipX(store.get('frontGussetMid')) - - // Create point for title - points.frontMidMid = points.gussetCp1.shiftFractionTowards(points.gussetCp2, 0.5) - - /* Store lengths for use in elastic */ - paths.gussetLegOpening = new Path() - .move(points.backGussetRight) - .curve(points.backGussetRight, points.gussetCp2, points.frontGussetRight) - .setRender(false) - store.set('gussetSideLength', paths.gussetLegOpening.length()) - - // Draw paths - paths.seam = new Path() - .move(points.frontGussetLeft) - .curve(points.gussetCp1, points.backGussetLeft, points.backGussetLeft) - .line(points.backGussetRight) - .curve(points.backGussetRight, points.gussetCp2, points.frontGussetRight) - .line(points.frontGussetLeft) // Without this, doesn't generate seam allowance - .close() - .attr('class', 'fabric') - - // Complete? - if (complete) { - if (sa) { - paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') - } - macro('title', { - at: points.frontMidMid, - nr: 3, - title: 'gusset', - }) - } - - // Paperless? - if (paperless) { - macro('hd', { - from: points.frontGussetLeft, - to: points.frontGussetRight, - y: points.frontGussetLeft.y + sa + 15, - }) - macro('hd', { - from: points.backGussetLeft, - to: points.backGussetRight, - y: points.backGussetLeft.y + sa + 15, - }) - macro('vd', { - from: points.frontGussetRight, - to: points.backGussetRight, - x: points.frontGussetRight.x + sa + 15, - }) - } - - return part -} diff --git a/designs/ursula/src/back2.js b/designs/ursula/src/back2.js index 0b1d4c1d69f..0cc97d4757c 100644 --- a/designs/ursula/src/back2.js +++ b/designs/ursula/src/back2.js @@ -1,19 +1,11 @@ export default function (part) { - let { - options, - Point, - Path, + const { points, paths, - measurements, Snippet, snippets, store, utils, - complete, - sa, - paperless, - macro, } = part.shorthand() points.waist2 = points.backWaistBandMid diff --git a/designs/ursula/src/front2.js b/designs/ursula/src/front2.js index b9aaeeaf12b..5eb94b06fe9 100644 --- a/designs/ursula/src/front2.js +++ b/designs/ursula/src/front2.js @@ -1,17 +1,10 @@ export default function (part) { - let { - options, - Point, - Path, + const { points, paths, - measurements, Snippet, snippets, store, - utils, - complete, - sa, paperless, macro, } = part.shorthand() diff --git a/designs/ursula/src/gusset2.js b/designs/ursula/src/gusset2.js index e99992e6f37..6c193d6eb53 100644 --- a/designs/ursula/src/gusset2.js +++ b/designs/ursula/src/gusset2.js @@ -1,23 +1,17 @@ export default function (part) { - let { - options, + const { Point, Path, points, paths, - measurements, Snippet, snippets, store, utils, - complete, - sa, - paperless, - macro, } = part.shorthand() // draw markers to indicate elastic distribution - if ((store.get('numLegMarkersFront') < 1) & (store.get('numLegMarkersGusset') > 0)) { + if ((store.get('numLegMarkersFront') < 1) && (store.get('numLegMarkersGusset') > 0)) { // draw first marker, on gusset // use (1 - frac) because the path is drawn from back to front points.leg1L = paths.gussetLegOpening.shiftFractionAlong(1 - store.get('legMarker1Frac')) @@ -27,7 +21,7 @@ export default function (part) { snippets.leg1R = new Snippet('notch', points.leg1R) } if ( - (store.get('numLegMarkersFront') < 2) & + (store.get('numLegMarkersFront') < 2) && (store.get('numLegMarkersFront') + store.get('numLegMarkersGusset') > 1) ) { // draw second marker, on gusset @@ -39,7 +33,7 @@ export default function (part) { snippets.leg2R = new Snippet('notch', points.leg2R) } if ( - (store.get('numLegMarkersFront') < 3) & + (store.get('numLegMarkersFront') < 3) && (store.get('numLegMarkersFront') + store.get('numLegMarkersGusset') > 3) ) { // draw third marker, on gusset diff --git a/packages/new-design/lib/cli.mjs b/packages/new-design/lib/cli.mjs index 9f5e99e747f..1920e09c4a4 100644 --- a/packages/new-design/lib/cli.mjs +++ b/packages/new-design/lib/cli.mjs @@ -1,5 +1,3 @@ -import path from 'path' -import chalk from 'chalk' import { banner } from './banner.mjs' import { checkNodeVersion, @@ -20,34 +18,6 @@ export const cli = async () => { const choices = await getChoices() // Create environment from template - const result = createEnvironment(choices) + createEnvironment(choices) } -/* - - - const dest = await createLibrary(params) - - console.log(` -🎉 ${strings[params.language]['cfp.patternCreated']} ${chalk.bold(dest)} - -${strings[params.language]['cfp.runTheseCommands']}: - - 👉 ${chalk.cyan(`cd ${path.join(params.shortName, 'example')} && ${params.manager} start`)} - -${strings[params.language]['cfp.startWebpack']} - -${strings[params.language]['cfp.devDocsAvailableAt']} - ${chalk.bold('https://freesewing.dev/')} - -${strings[params.language]['cfp.talkToUs']} - ${chalk.bold('https://discord.freesewing.org/')} - -` - ) - - return dest -} - - -*/ diff --git a/packages/new-design/lib/utils.mjs b/packages/new-design/lib/utils.mjs index 2b9ed474b46..25e7c273df9 100644 --- a/packages/new-design/lib/utils.mjs +++ b/packages/new-design/lib/utils.mjs @@ -1,6 +1,6 @@ import { config } from './config.mjs' import { mkdir, readFile, writeFile, copyFile } from 'node:fs/promises' -import { join, resolve, dirname, extname } from 'path' +import { join, dirname } from 'path' import mustache from 'mustache' import rdir from 'recursive-readdir' import chalk from 'chalk' diff --git a/packages/new-design/shared/lab/components/header.js b/packages/new-design/shared/lab/components/header.js index 9730bd9b8b9..f69f304ff6f 100644 --- a/packages/new-design/shared/lab/components/header.js +++ b/packages/new-design/shared/lab/components/header.js @@ -1,12 +1,10 @@ import { useState, useEffect } from 'react' -import Logo from 'shared/components/logos/freesewing.js' import Link from 'next/link' import ThemePicker from 'shared/components/theme-picker.js' import LocalePicker from 'shared/components/locale-picker.js' import CloseIcon from 'shared/components/icons/close.js' import MenuIcon from 'shared/components/icons/menu.js' import DocsIcon from 'shared/components/icons/docs.js' -import HelpIcon from 'shared/components/icons/help.js' import { useTranslation } from 'next-i18next' const Right = props => ( diff --git a/packages/new-design/shared/lab/components/layouts/bare.js b/packages/new-design/shared/lab/components/layouts/bare.js index f7a390a90eb..b21c698c6cc 100644 --- a/packages/new-design/shared/lab/components/layouts/bare.js +++ b/packages/new-design/shared/lab/components/layouts/bare.js @@ -1,59 +1,7 @@ -import React from 'react' import { useRouter } from 'next/router' -import Link from 'next/link' -// Shared components -import Logo from 'shared/components/logos/freesewing.js' import Aside from 'shared/components/navigation/aside' -import get from 'lodash.get' import { BeforeNav } from './lab' -const PageTitle = ({ app, slug, title }) => { - if (title) return

{title}

- if (slug) return

{get(app.navigation, slug.split('/')).__title}

- - return

FIXME: This page has no title

-} - -const Breadcrumbs = ({ app, slug=false, title }) => { - if (!slug) return null - const crumbs = [] - const chunks = slug.split('/') - for (const i in chunks) { - const j = parseInt(i)+parseInt(1) - const page = get(app.navigation, chunks.slice(0,j)) - if (page) crumbs.push([page.__linktitle, '/'+chunks.slice(0,j).join('/'), (j < chunks.length)]) - } - - return ( - - ) -} - const DefaultLayout = ({ app, title=false, children=[] }) => { const router = useRouter() const slug = router.asPath.slice(1) diff --git a/packages/new-design/shared/lab/components/layouts/docs.js b/packages/new-design/shared/lab/components/layouts/docs.js index 3c239c4d118..ef923b1bb4b 100644 --- a/packages/new-design/shared/lab/components/layouts/docs.js +++ b/packages/new-design/shared/lab/components/layouts/docs.js @@ -1,6 +1,4 @@ import React from 'react' -import { useRouter } from 'next/router' -import Link from 'next/link' import Aside from 'shared/components/navigation/aside' const DocsLayout = ({ app, title=false, children=[] }) => ( diff --git a/packages/new-design/shared/lab/hooks/useApp.js b/packages/new-design/shared/lab/hooks/useApp.js index d46f09c9c04..64be9796987 100644 --- a/packages/new-design/shared/lab/hooks/useApp.js +++ b/packages/new-design/shared/lab/hooks/useApp.js @@ -3,15 +3,12 @@ import { useState } from 'react' import useLocalStorage from 'shared/hooks/useLocalStorage.js' // Locale and translation import { useRouter } from 'next/router' -import { useTranslation } from 'next-i18next' -import { capitalize } from 'shared/utils.mjs' import useTheme from 'shared/hooks/useTheme' function useApp(full = true) { // Load translation method const locale = useRouter().locale - const { t } = useTranslation(['app']) // Persistent state const [account, setAccount] = useLocalStorage('account', { username: false }) diff --git a/packages/new-design/shared/pages/index.js b/packages/new-design/shared/pages/index.js index 688eea976ee..6f89e89c98a 100644 --- a/packages/new-design/shared/pages/index.js +++ b/packages/new-design/shared/pages/index.js @@ -3,9 +3,6 @@ import useApp from 'site/hooks/useApp.js' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import Layout from 'site/components/layouts/docs' import { useTranslation } from 'next-i18next' -import ConfigIcon from 'shared/components/icons/settings' -import CogIcon from 'shared/components/icons/cog' -import HeartIcon from 'shared/components/icons/heart' import FsIcon from 'shared/components/icons/freesewing' import Link from 'next/link' import Popout from 'shared/components/popout' @@ -13,9 +10,7 @@ import LocaleIcon from 'shared/components/icons/i18n.js' import { useRouter } from 'next/router' import themes from 'shared/themes/index.js' -const gh = `freesewing/freesewing` -const fsd = `freesewing.dev` const translations = { @@ -83,8 +78,8 @@ const HomePage = (props) => {

{t('patrons:supportFreesewing')}

-

{t('patrons:patronLead')}

-

{t('patrons:patronPitch')}

+

{t('patrons:patronLead')}

+

{t('patrons:patronPitch')}

🥰 diff --git a/packages/new-design/shared/pages/support.js b/packages/new-design/shared/pages/support.js index 160fe7e85c7..45a0d2ca68c 100644 --- a/packages/new-design/shared/pages/support.js +++ b/packages/new-design/shared/pages/support.js @@ -4,15 +4,14 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import Layout from 'site/components/layouts/docs' import { useTranslation } from 'next-i18next' import DiscordIcon from 'shared/components/icons/discord' -import Popout from 'shared/components/popout' import GithubIcon from 'shared/components/icons/github' import CcIcon from 'shared/components/icons/community' import HeartIcon from 'shared/components/icons/heart' import DocsIcon from 'shared/components/icons/docs' -const gh = `freesewing/freesewing` -const fsd = `freesewing.dev` const translations = { @@ -23,9 +22,9 @@ const translations = { of gewoon een leuke tijd te spenderen met andere leden van de FreeSewing gemeenschap.`, }, github: { - en: `For bug reports, please create an issue in the ${gh} repository on Github. + en: `For bug reports, please create an issue in the ${gh} repository on Github. This is also where you'll find all our source code.`, - nl: `Een bug gevonden? Maak dan een issue aan in de ${gh} repository op Github. + nl: `Een bug gevonden? Maak dan een issue aan in de ${gh} repository op Github. Dit is ook waar je al de FreeSewing broncode kan vinden.`, }, cc: { @@ -35,16 +34,9 @@ const translations = { vrijwilligers de lopende zaken bespreken. Ook de plannen voor de toekomst en groot en klein nieuws over FreeSewing en de gemeenschap komen aan bod.` }, - cc: { - en: `Every two weeks, there's the FreeSewing contributor call, which is when we discuss - ongoing issues, future plans, and news big and small about FreeSewing and its community.`, - nl: `Elke twee weken is er de FreeSewing contributor call (Engelstalig), waar de FreeSewing - vrijwilligers de lopende zaken bespreken. Ook de plannen voor de toekomst en groot en klein - nieuws over FreeSewing en de gemeenschap komen aan bod.` - }, docs: { - en: `Our documentation for developers hosted on ${fsd}. You can find guides and how-to's - there, as well as reference documantation for FreeSewing's core API. + en: `Our documentation for developers hosted on ${fsd}. You can find guides and how-to's + there, as well as reference documantation for FreeSewing's core API.

We stive to provide excellent documentation. So if something is not clear please, let us know.`, nl: `Onze documentatie voor ontwikkelaars is beschikbaar op ${fsd}. Je vindt er guides en how-to's, @@ -75,7 +67,7 @@ const SupportPage = (props) => {

Github

-

@@ -86,7 +78,7 @@ const SupportPage = (props) => {

{t('docs')}

-

@@ -97,7 +89,7 @@ const SupportPage = (props) => {

Contributor Calls

-

@@ -111,8 +103,8 @@ const SupportPage = (props) => {

{t('patrons:supportFreesewing')}

-

{t('patrons:patronLead')}

-

{t('patrons:patronPitch')}

+

{t('patrons:patronLead')}

+

{t('patrons:patronPitch')}

diff --git a/scripts/add-software.mjs b/scripts/add-software.mjs index fd9881fa1d9..aecb2d8b832 100644 --- a/scripts/add-software.mjs +++ b/scripts/add-software.mjs @@ -7,9 +7,6 @@ import mustache from 'mustache' import { execSync } from 'child_process' // Software import designs from '../config/software/designs.json' -import packages from '../config/software//packages.json' -import plugins from '../config/software//plugins.json' -import sites from '../config/software//sites.json' const type = process.argv[2] diff --git a/scripts/reconfigure.mjs b/scripts/reconfigure.mjs index 0d3ec04d5e1..3a9045512be 100644 --- a/scripts/reconfigure.mjs +++ b/scripts/reconfigure.mjs @@ -4,7 +4,6 @@ import glob from 'glob' import yaml from 'js-yaml' import chalk from 'chalk' import mustache from 'mustache' -import { capitalize } from '../sites/shared/utils.mjs' import conf from '../lerna.json' const { version } = conf import { @@ -81,18 +80,18 @@ for (const pkg of Object.values(software)) { } fs.writeFileSync( path.join(cwd, pkg.folder, pkg.name, 'CHANGELOG.md'), - changelog(pkg, repo) + changelog(pkg) ) } log.write(chalk.green(" Done\n")) -// Step 3: Generate overall CHANGELOG.md +// Step 4: Generate overall CHANGELOG.md fs.writeFileSync( path.join(repo.path, 'CHANGELOG.md'), - changelog('global', repo) + changelog('global') ) -// Step 6: Generate build script for published software +// Step 5: Generate build script for published software log.write(chalk.blueBright('Generating buildall node script...')) const buildSteps = buildOrder.map((step, i) => `lerna run cibuild_step${i}`); const buildAllCommand = buildSteps.join(' && '); @@ -104,7 +103,7 @@ fs.writeFileSync( ) log.write(chalk.green(" Done\n")) -// Step 7: Generate tests for designs and plugins +// Step 6: Generate tests for designs and plugins @@ -435,38 +434,3 @@ function validate() { return true } -/** - * Puts a package.json, build.js, README.md, and CHANGELOG.md - * into every subdirectory under the packages directory. - * Also adds unit tests for patterns, and writes the global CHANGELOG.md. - */ -function reconfigure(pkgs, repo) { - for (const pkg of pkgs) { - console.log(chalk.blueBright(`Reconfiguring ${pkg}`)) - //if (repo.exceptions.customPackageJson.indexOf(pkg) === -1) { - // const pkgConfig = packageConfig(pkg, repo) - // fs.writeFileSync( - // path.join(repo.path, 'packages', pkg, 'package.json'), - // JSON.stringify(pkgConfig, null, 2) + '\n' - // ) - //} - //if (repo.exceptions.customBuild.indexOf(pkg) === -1) { - // fs.writeFileSync( - // path.join(repo.path, 'packages', pkg, 'build.js'), - // repo.templates.build - // ) - //} - //if (repo.exceptions.customReadme.indexOf(pkg) === -1) { - // fs.writeFileSync(path.join(repo.path, 'packages', pkg, 'README.md'), readme(pkg, repo)) - //} - if (repo.exceptions.customChangelog.indexOf(pkg) === -1) { - fs.writeFileSync( - path.join(repo.path, 'packages', pkg, 'CHANGELOG.md'), - changelog(pkg, repo) - ) - } - const type = packageType(pkg, repo) - } - fs.writeFileSync(path.join(repo.path, 'CHANGELOG.md'), changelog('global', repo)) - console.log(chalk.yellowBright.bold('All done.')) -} diff --git a/scripts/strapi-assign-authors.mjs b/scripts/strapi-assign-authors.mjs index 3fa7c0896d6..957ee196f09 100644 --- a/scripts/strapi-assign-authors.mjs +++ b/scripts/strapi-assign-authors.mjs @@ -66,7 +66,6 @@ const bearer = token => ({ * Exported because it's re-used by the Algolia indexing script */ const getContent = async (lang, type) => { - const items = {} let res try { res = await axios.get(`${uris[type]}&_locale=${lang}`) @@ -82,7 +81,7 @@ const getContent = async (lang, type) => { /* * Adds maker to showcase post */ -const addMaker = (content, lang, token, makers) => { +const addMaker = (content, token, makers) => { const promises = [] for (const item of content) { promises.push(axios.put( @@ -112,7 +111,7 @@ const addAuthors = async (type, token) => { for (const lang of languages) { const content = await getContent(lang, type) - if (type === 'showcaseposts') await addMaker(content, lang, token, makers) + if (type === 'showcaseposts') await addMaker(content, token, makers) } return false @@ -133,7 +132,6 @@ const getToWork = async () => { console.log('Failed to login to strapi') process.exit() } - const translations = languages.length - 1 for (const type of Object.keys(uris)) { console.log(`Loading ${type} from Strapi`) await addAuthors(type, token) diff --git a/scripts/strapi-en-to-other.mjs b/scripts/strapi-en-to-other.mjs index 66076ec9650..3e4c8b119ec 100644 --- a/scripts/strapi-en-to-other.mjs +++ b/scripts/strapi-en-to-other.mjs @@ -246,7 +246,6 @@ const getToWork = async () => { process.exit() } const content = {} - const translations = languages.length - 1 for (const type of Object.keys(uris)) { console.log(`Loading ${type} from Strapi`) content[type] = await getContent(type) diff --git a/sites/dev/components/footer.js b/sites/dev/components/footer.js index 8a5f9f8698b..441478f573f 100644 --- a/sites/dev/components/footer.js +++ b/sites/dev/components/footer.js @@ -3,10 +3,7 @@ import OsiLogo from 'shared/components/logos/osi.js' import CreativeCommonsLogo from 'shared/components/logos/cc.js' import CcByLogo from 'shared/components/logos/cc-by.js' import { useTranslation } from 'next-i18next' -import PageLink from 'shared/components/page-link' -import DocsLink from 'shared/components/docs-link' import PinkedRibbon from 'shared/components/pinked-ribbon.js' -import Worm from 'shared/components/worm.js' import Link from 'next/link' import DiscordIcon from 'shared/components/icons/discord.js' diff --git a/sites/dev/components/layouts/bare.js b/sites/dev/components/layouts/bare.js index 22a17e2be89..6a23f84dcc0 100644 --- a/sites/dev/components/layouts/bare.js +++ b/sites/dev/components/layouts/bare.js @@ -1,59 +1,7 @@ -import React from 'react' import { useRouter } from 'next/router' -import Link from 'next/link' -// Shared components -import Logo from 'shared/components/logos/freesewing.js' import Aside from 'shared/components/navigation/aside' -import get from 'lodash.get' import ThemePicker from 'shared/components/theme-picker' -const PageTitle = ({ app, slug, title }) => { - if (title) return

{title}

- if (slug) return

{get(app.navigation, slug.split('/')).__title}

- - return

FIXME: This page has no title

-} - -const Breadcrumbs = ({ app, slug=false, title }) => { - if (!slug) return null - const crumbs = [] - const chunks = slug.split('/') - for (const i in chunks) { - const j = parseInt(i)+parseInt(1) - const page = get(app.navigation, chunks.slice(0,j)) - if (page) crumbs.push([page.__linktitle, '/'+chunks.slice(0,j).join('/'), (j < chunks.length)]) - } - - return ( -
- ) -} - const DefaultLayout = ({ app, title=false, children=[] }) => { const router = useRouter() const slug = router.asPath.slice(1) diff --git a/sites/dev/components/layouts/docs.js b/sites/dev/components/layouts/docs.js index 5b0cf25e1d9..f20c0b1ec26 100644 --- a/sites/dev/components/layouts/docs.js +++ b/sites/dev/components/layouts/docs.js @@ -20,10 +20,7 @@ const DefaultLayout = ({ app, title=false, crumbs=false, children=[] }) => { {title && ( <> - {title - ?

{title}

- :

{app.getTitle(slug)}

- } +

{title}

)} {children} diff --git a/sites/dev/components/wrappers/layout.js b/sites/dev/components/wrappers/layout.js index e60819d2ef8..8015a371e59 100644 --- a/sites/dev/components/wrappers/layout.js +++ b/sites/dev/components/wrappers/layout.js @@ -25,7 +25,6 @@ const LayoutWrapper = ({ const router = useRouter() router.events?.on('routeChangeStart', startNavigation) router.events?.on('routeChangeComplete', () => app.stopLoading()) - const slug = router.asPath.slice(1) const [collapsePrimaryNav, setCollapsePrimaryNav] = useState(workbench || false) const [collapseAltMenu, setCollapseAltMenu] = useState(false) diff --git a/sites/dev/components/wrappers/page.js b/sites/dev/components/wrappers/page.js index bd53d6ea597..f8bca2edf0d 100644 --- a/sites/dev/components/wrappers/page.js +++ b/sites/dev/components/wrappers/page.js @@ -8,10 +8,6 @@ import Docs from 'site/components/layouts/docs' // Add feeds import Feeds from 'site/components/feeds.js' -const layouts = { - docs: Docs, -} - /* This component should wrap all page content */ const PageWrapper= ({ title="FIXME: No title set", diff --git a/sites/dev/next.config.mjs b/sites/dev/next.config.mjs index 62279ac50f6..cea632099c0 100644 --- a/sites/dev/next.config.mjs +++ b/sites/dev/next.config.mjs @@ -4,11 +4,9 @@ import { banner } from '../../scripts/banner.mjs' const config = configBuilder('dev') config.i18n = i18nConfig.i18n -let greeting = false -if (!greeting) { - greeting = true - console.log(banner+"\n") -} + +// Say hi +console.log(banner+"\n") // Suppress warnings about importing version from package.json // We'll deal with it in v3 of FreeSewing diff --git a/sites/dev/pages/blog/[slug].js b/sites/dev/pages/blog/[slug].js index bc40e6fb6bb..21fe41531dc 100644 --- a/sites/dev/pages/blog/[slug].js +++ b/sites/dev/pages/blog/[slug].js @@ -3,16 +3,12 @@ import useApp from 'site/hooks/useApp.js' import TimeAgo from 'react-timeago' import MdxWrapper from 'shared/components/wrappers/mdx' import mdxCompiler from 'shared/mdx/compiler' -import Markdown from 'react-markdown' import Head from 'next/head' import Lightbox from 'shared/components/lightbox.js' import ImageWrapper from 'shared/components/wrappers/img.js' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { strapiHost } from 'shared/config/freesewing.mjs' import { strapiImage } from 'shared/utils' -import { useTranslation } from 'next-i18next' - -const strapi = "https://posts.freesewing.org" const Author = ({ author }) => (
diff --git a/sites/dev/pages/index.js b/sites/dev/pages/index.js index 2a19e97eb9a..2e683c49923 100644 --- a/sites/dev/pages/index.js +++ b/sites/dev/pages/index.js @@ -2,10 +2,9 @@ import Page from 'site/components/wrappers/page.js' import useApp from 'site/hooks/useApp.js' import Head from 'next/head' import HelpUs from 'site/components/help-us.js' -import Link from 'next/link' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import Layout from 'site/components/layouts/bare' -import Navigation, { Icons } from 'shared/components/navigation/primary' +import { Icons } from 'shared/components/navigation/primary' import Highlight from 'shared/components/mdx/highlight' import Popout from 'shared/components/popout' import WebLink from 'shared/components/web-link' diff --git a/sites/dev/scripts/algolia.mjs b/sites/dev/scripts/algolia.mjs index 83a89e3ad2a..e0217123567 100644 --- a/sites/dev/scripts/algolia.mjs +++ b/sites/dev/scripts/algolia.mjs @@ -142,7 +142,7 @@ const indexMarkdownContent = async () => { const run = async () => { if ( - (process.env.NETLIFY && process.env.CONTEXT === 'production' && false) // disabled for now + (process.env.NETLIFY && process.env.CONTEXT === 'production') || process.env.FORCE_ALGOLIA ) { await indexMarkdownContent() diff --git a/sites/lab/components/footer.js b/sites/lab/components/footer.js index f366bcc294b..f64c920e13f 100644 --- a/sites/lab/components/footer.js +++ b/sites/lab/components/footer.js @@ -15,8 +15,6 @@ import TwitterIcon from 'shared/components/icons/twitter.js' // Classes const link = "text-secondary font-bold hover:pointer hover:underline px-1" -const accent = "text-accent font-bold text-lg px-1 block sm:inline" -const freesewing = "px-1 text-lg font-bold block sm:inline" // Keep these translations in the component because they're only used here const translations = { diff --git a/sites/lab/components/header.js b/sites/lab/components/header.js index 4cb25362947..704eb5fa79f 100644 --- a/sites/lab/components/header.js +++ b/sites/lab/components/header.js @@ -1,5 +1,4 @@ import { useState, useEffect } from 'react' -import Logo from 'shared/components/logos/freesewing.js' import Link from 'next/link' import ThemePicker from 'shared/components/theme-picker.js' import LocalePicker from 'shared/components/locale-picker.js' diff --git a/sites/lab/components/layouts/bare.js b/sites/lab/components/layouts/bare.js index f7a390a90eb..3151d184da2 100644 --- a/sites/lab/components/layouts/bare.js +++ b/sites/lab/components/layouts/bare.js @@ -1,58 +1,7 @@ -import React from 'react' import { useRouter } from 'next/router' -import Link from 'next/link' -// Shared components -import Logo from 'shared/components/logos/freesewing.js' import Aside from 'shared/components/navigation/aside' -import get from 'lodash.get' import { BeforeNav } from './lab' -const PageTitle = ({ app, slug, title }) => { - if (title) return

{title}

- if (slug) return

{get(app.navigation, slug.split('/')).__title}

- - return

FIXME: This page has no title

-} - -const Breadcrumbs = ({ app, slug=false, title }) => { - if (!slug) return null - const crumbs = [] - const chunks = slug.split('/') - for (const i in chunks) { - const j = parseInt(i)+parseInt(1) - const page = get(app.navigation, chunks.slice(0,j)) - if (page) crumbs.push([page.__linktitle, '/'+chunks.slice(0,j).join('/'), (j < chunks.length)]) - } - - return ( -
    -
  • - - - - - -
  • - {crumbs.map(crumb => ( - -
  • »
  • -
  • - {crumb[2] - ? ( - - - {crumb[0]} - - - ) - : {crumb[0]} - } -
  • -
    - ))} -
- ) -} const DefaultLayout = ({ app, title=false, children=[] }) => { const router = useRouter()