1
0
Fork 0

Merge branch 'develop' into joost

This commit is contained in:
Joost De Cock 2023-07-28 08:37:06 +02:00
commit 78e8987951
104 changed files with 792 additions and 381 deletions

View file

@ -13,7 +13,7 @@ _types:
design: design:
prettier: "npx prettier --write 'src/*.mjs' 'tests/*.mjs'" prettier: "npx prettier --write 'src/*.mjs' 'tests/*.mjs'"
test: &test 'npx mocha tests/*.test.mjs' test: &test 'npx mocha tests/*.test.mjs'
testci: &testci 'npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js' testci: &testci 'NODE_OPTIONS="--conditions=internal" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js'
plugin: plugin:
prettier: "npx prettier --write 'src/*.mjs' 'tests/*.mjs'" prettier: "npx prettier --write 'src/*.mjs' 'tests/*.mjs'"
test: *test test: *test
@ -28,11 +28,11 @@ core:
models: models:
test: 'npx mocha tests/*.test.mjs' test: 'npx mocha tests/*.test.mjs'
new-design: new-design:
i18n-only: 'SITE="new-design/shared" node ../../sites/shared/prebuild/i18n-only.mjs' i18n-only: 'SITE="new-design/shared" node --conditions=internal ../../sites/shared/prebuild/i18n-only.mjs'
wbuild: '!' wbuild: '!'
lint: "npx eslint 'lib/*.mjs'" lint: "npx eslint 'lib/*.mjs'"
mbuild: '!' mbuild: '!'
prebuild: 'node ./prebuild.mjs' prebuild: 'node --conditions=internal ./prebuild.mjs'
test: '!' test: '!'
testci: '!' testci: '!'
vbuild: '!' vbuild: '!'
@ -69,10 +69,9 @@ dev:
clean: &nextClean 'rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*' clean: &nextClean 'rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*'
dev: &nextDev 'next dev -p 8000' dev: &nextDev 'next dev -p 8000'
develop: *nextDev develop: *nextDev
i18n: "SITE=dev node ../shared/prebuild/i18n-only.mjs" i18n: "SITE=dev node --conditions=internal ../shared/prebuild/i18n-only.mjs"
lint: &nextLint 'next lint' lint: &nextLint 'next lint'
prebuild: 'cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs' prebuild: &nextPrebuild 'node --conditions=internal --experimental-json-modules ./prebuild.mjs'
predev: 'node --experimental-json-modules ./prebuild.mjs'
serve: "pm2 start npm --name 'dev' -- run start" serve: "pm2 start npm --name 'dev' -- run start"
start: &nextStart 'yarn prebuild && yarn dev' start: &nextStart 'yarn prebuild && yarn dev'
@ -85,11 +84,10 @@ lab:
cibuild: 'yarn build' cibuild: 'yarn build'
dev: *nextDev dev: *nextDev
develop: *nextDev develop: *nextDev
i18n: 'SITE=lab node ../shared/prebuild/i18n-only.mjs' i18n: 'SITE=lab node --conditions=internal ../shared/prebuild/i18n-only.mjs'
e2e: &e2e 'yarn playwright test' e2e: &e2e 'yarn playwright test'
lint: *nextLint lint: *nextLint
prebuild: 'cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs' prebuild: *nextPrebuild
predev: 'node --experimental-json-modules ./prebuild.mjs'
start: *nextStart start: *nextStart
org: org:
@ -98,10 +96,9 @@ org:
clean: *nextClean clean: *nextClean
dev: *nextDev dev: *nextDev
develop: *nextDev develop: *nextDev
i18n: 'SITE=org node ../shared/prebuild/i18n-only.mjs' i18n: 'SITE=org node --conditions=internal ../shared/prebuild/i18n-only.mjs'
lint: *nextLint lint: *nextLint
prebuild: 'cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs' prebuild: *nextPrebuild
predev: 'node --experimental-json-modules ./prebuild.mjs'
start: *nextStart start: *nextStart
sanity: sanity:

View file

@ -14,7 +14,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"cibuild_step1": "node build.mjs", "cibuild_step1": "node build.mjs",

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -22,7 +22,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -36,7 +39,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -15,12 +15,6 @@
"wbuild": { "wbuild": {
"dependsOn": ["^wbuild", "prewbuild"] "dependsOn": ["^wbuild", "prewbuild"]
}, },
"testci": {
"dependsOn": ["^build"]
},
"lint": {
"dependsOn": []
},
"e2e": { "e2e": {
"dependsOn": ["prebuild"] "dependsOn": ["prebuild"]
} }

View file

@ -28,7 +28,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",

View file

@ -24,7 +24,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",

View file

@ -2,26 +2,26 @@
"author": "Autor", "author": "Autor",
"githubRepo": "GitHub-Repository", "githubRepo": "GitHub-Repository",
"packageManager": "Paket-Manager", "packageManager": "Paket-Manager",
"patternName": "Schnittmuster-Name", "designName": "Design name",
"patternType": "Schnittmuster-Art", "designType": "Design type",
"patternCreated": "Dein Schnittmusterskelett wurde erstellt in", "designCreated": "Your design skeleton has been created at",
"runTheseCommands": "Um loszulegen, führe diesen Befehl aus", "runTheseCommands": "Um loszulegen, führe diesen Befehl aus",
"startRollup": "In einem Terminal startest du den Rollup-Bundler im Beobachtungsmodus", "startRollup": "In einem Terminal startest du den Rollup-Bundler im Beobachtungsmodus",
"startWebpack": "Dadurch wird der 'example'-Ordner betreten und die Entwicklungsumgebung gestartet.", "startWebpack": "Dadurch wird der 'example'-Ordner betreten und die Entwicklungsumgebung gestartet.",
"devDocsAvailableAt": "Entwicklerdokumentation ist verfügbar auf", "devDocsAvailableAt": "Entwicklerdokumentation ist verfügbar auf",
"talkToUs": "Für Fragen, Feedback oder Anregungen trete unserem Discord-Server bei", "talkToUs": "Für Fragen, Feedback oder Anregungen trete unserem Discord-Server bei",
"draftYourPattern": "Zeichne dein Schnittmuster", "draftYourDesign": "Draft your design",
"testYourPattern": "Teste dein Schnittmuster", "testYourDesign": "Test your design",
"draftThing": "{thing} erstellen", "draftThing": "{thing} erstellen",
"testThing": "{thing} testen", "testThing": "{thing} testen",
"renderInBrowser": "Klicke unten, um dein Schnittmuster im Browser zu rendern.", "renderInBrowser": "Click below to render your design in the browser.",
"weWillReRender": "Wenn du Änderungen vornimmst, werden wir es erneut für dich rendern.", "weWillReRender": "Wenn du Änderungen vornimmst, werden wir es erneut für dich rendern.",
"youCan": "Du kannst", "youCan": "Du kannst",
"enterMeasurements": "Maße von Hand eingeben", "enterMeasurements": "Maße von Hand eingeben",
"preloadMeasurements": "Einen bestehenden Satz an Maßen einlesen", "preloadMeasurements": "Einen bestehenden Satz an Maßen einlesen",
"size": "Größe", "size": "Größe",
"noRequiredMeasurements": "Dieses Schnittmuster hat keine benötigten Maße", "noRequiredMeasurements": "This design has no required measurements",
"howtoAddMeasurements": "Um Maße als Anforderung zu definieren, füge sie der Sektion <b>measurements</b> in der Konfigurationsdatei des Schnittmusters hinzu.", "howtoAddMeasurements": "To require measurements, add them to the <b>measurements</b> section of the design's configuration file.",
"seeDocsAt": "Dokumentation zu diesem Thema ist verfügbar unter", "seeDocsAt": "Dokumentation zu diesem Thema ist verfügbar unter",
"clearDesignMode": "Designmodus leeren", "clearDesignMode": "Designmodus leeren",
"designMode": "Designmodus", "designMode": "Designmodus",
@ -30,5 +30,5 @@
"thingIsDisabled": "{thing} ist deaktiviert", "thingIsDisabled": "{thing} ist deaktiviert",
"turnOn": "Aktivieren", "turnOn": "Aktivieren",
"turnOff": "Deaktivieren", "turnOff": "Deaktivieren",
"validNameWarning": "Bitte wähle einen anderen Namen, da dieser Name Probleme verursachen würde.\nWir (wieder-)verwenden den Namen des Schnittmusters als NPM-Paketname.\nPaketnamen müssen in Kleinbuchstaben geschrieben sein und dürfen keine Sonderzeichen enthalten.\nBitte benenne dein Muster also entsprechend, wie in etwa:" "validNameWarning": "Please pick a different name as this name would cause problems.\nWe (re-)use the design name as the NPM package name.\nPackage names must be lowercase and cannot contain special characters.\nSo please name your design accordingly, like:"
} }

View file

@ -2,26 +2,26 @@
"author": "Autor", "author": "Autor",
"githubRepo": "Repositorio GitHub", "githubRepo": "Repositorio GitHub",
"packageManager": "Gestor de paquetes", "packageManager": "Gestor de paquetes",
"patternName": "Nombre del patrón", "designName": "Design name",
"patternType": "Tipo de patrón", "designType": "Design type",
"patternCreated": "Tu esqueleto de patrón ha sido creado en", "designCreated": "Your design skeleton has been created at",
"runTheseCommands": "Para empezar, ejecuta este comando", "runTheseCommands": "Para empezar, ejecuta este comando",
"startRollup": "En una terminal, inicia el paquete de rollup en modo reloj", "startRollup": "En una terminal, inicia el paquete de rollup en modo reloj",
"startWebpack": "Entrará en la carpeta \"ejemplo\" e iniciará el entorno de desarrollo.", "startWebpack": "Entrará en la carpeta \"ejemplo\" e iniciará el entorno de desarrollo.",
"devDocsAvailableAt": "Documentación para desarrolladores está disponible en", "devDocsAvailableAt": "Documentación para desarrolladores está disponible en",
"talkToUs": "Para preguntas, comentarios o sugerencias, únete a nuestro servidor de Discord", "talkToUs": "Para preguntas, comentarios o sugerencias, únete a nuestro servidor de Discord",
"draftYourPattern": "Traza tu patrón", "draftYourDesign": "Draft your design",
"testYourPattern": "Prueba tu patrón", "testYourDesign": "Test your design",
"draftThing": "Trazar {thing} ", "draftThing": "Trazar {thing} ",
"testThing": "Prueba {thing}", "testThing": "Prueba {thing}",
"renderInBrowser": "Haz clic abajo para mostrar el patrón en el navegador.", "renderInBrowser": "Click below to render your design in the browser.",
"weWillReRender": "Cuando realices cambios, lo volveremos a trazar para ti.", "weWillReRender": "Cuando realices cambios, lo volveremos a trazar para ti.",
"youCan": "Puedes", "youCan": "Puedes",
"enterMeasurements": "Introducir medidas a mano", "enterMeasurements": "Introducir medidas a mano",
"preloadMeasurements": "Precarga un conjunto de medidas", "preloadMeasurements": "Precarga un conjunto de medidas",
"size": "Tamaño", "size": "Tamaño",
"noRequiredMeasurements": "Este patrón no requiere tiene medidas", "noRequiredMeasurements": "This design has no required measurements",
"howtoAddMeasurements": "Para requerir mediciones, agrégalas a la sección de <b>mediciones</b> del archivo de configuración del patrón.", "howtoAddMeasurements": "To require measurements, add them to the <b>measurements</b> section of the design's configuration file.",
"seeDocsAt": "La documentación sobre este tema está disponible en", "seeDocsAt": "La documentación sobre este tema está disponible en",
"clearDesignMode": "Borrar modo de diseño", "clearDesignMode": "Borrar modo de diseño",
"designMode": "Modo de diseño", "designMode": "Modo de diseño",
@ -30,5 +30,5 @@
"thingIsDisabled": "{thing} está deshabilitado", "thingIsDisabled": "{thing} está deshabilitado",
"turnOn": "Encender", "turnOn": "Encender",
"turnOff": "Apagar", "turnOff": "Apagar",
"validNameWarning": "Por favor, elija un nombre diferente ya que este nombre podría causar problemas.\nNosotros (re)usamos el nombre del patrón como el nombre del paquete NPM.\nLos nombres de los paquetes deben ser minúsculas y no pueden contener caracteres especiales.\nAsí que por favor nombre su patrón en consecuencia, como:" "validNameWarning": "Please pick a different name as this name would cause problems.\nWe (re-)use the design name as the NPM package name.\nPackage names must be lowercase and cannot contain special characters.\nSo please name your design accordingly, like:"
} }

View file

@ -2,26 +2,26 @@
"author": "Auteur", "author": "Auteur",
"githubRepo": "Répertoire GitHub", "githubRepo": "Répertoire GitHub",
"packageManager": "Gestionnaire de package", "packageManager": "Gestionnaire de package",
"patternName": "Nom de patron", "designName": "Design name",
"patternType": "Type de patron", "designType": "Design type",
"patternCreated": "Le squelette de votre patron a été créé sur", "designCreated": "Your design skeleton has been created at",
"runTheseCommands": "Pour commencer, exécutez cette commande", "runTheseCommands": "Pour commencer, exécutez cette commande",
"startRollup": "Dans un terminal, démarrez le bundler rollup en mode watch", "startRollup": "Dans un terminal, démarrez le bundler rollup en mode watch",
"startWebpack": "Il entrera dans le dossier 'exemple' et démarrera l'environnement de développement.", "startWebpack": "Il entrera dans le dossier 'exemple' et démarrera l'environnement de développement.",
"devDocsAvailableAt": "La documentation pour développeur est disponible sur", "devDocsAvailableAt": "La documentation pour développeur est disponible sur",
"talkToUs": "Pour des questions, commentaires ou suggestions, rejoignez notre serveur Discord", "talkToUs": "Pour des questions, commentaires ou suggestions, rejoignez notre serveur Discord",
"draftYourPattern": "Dessiner votre patron", "draftYourDesign": "Draft your design",
"testYourPattern": "Tester votre patron", "testYourDesign": "Test your design",
"draftThing": "Ébauche de {thing}", "draftThing": "Ébauche de {thing}",
"testThing": "Tester {thing}", "testThing": "Tester {thing}",
"renderInBrowser": "Cliquer ci-dessous pour afficher votre patron dans votre navigateur.", "renderInBrowser": "Click below to render your design in the browser.",
"weWillReRender": "Lorsque vous effectuez des modifications, nous mettons à jour le rendu pour vous.", "weWillReRender": "Lorsque vous effectuez des modifications, nous mettons à jour le rendu pour vous.",
"youCan": "Vous pouvez", "youCan": "Vous pouvez",
"enterMeasurements": "Entrer des mesures manuellement", "enterMeasurements": "Entrer des mesures manuellement",
"preloadMeasurements": "Pré-charger un set de mesures", "preloadMeasurements": "Pré-charger un set de mesures",
"size": "Taille", "size": "Taille",
"noRequiredMeasurements": "Ce patron n'a pas de mesure requise", "noRequiredMeasurements": "This design has no required measurements",
"howtoAddMeasurements": "Pour rendre des mesures nécessaires, ajoutez-les à la section <b>measurements</b> du fichier de configuration du patron.", "howtoAddMeasurements": "To require measurements, add them to the <b>measurements</b> section of the design's configuration file.",
"seeDocsAt": "La documentation à ce sujet est disponible sur", "seeDocsAt": "La documentation à ce sujet est disponible sur",
"clearDesignMode": "Vider le mode design", "clearDesignMode": "Vider le mode design",
"designMode": "Mode design", "designMode": "Mode design",
@ -30,5 +30,5 @@
"thingIsDisabled": "{thing} est désactivé", "thingIsDisabled": "{thing} est désactivé",
"turnOn": "Activer", "turnOn": "Activer",
"turnOff": "Désactiver", "turnOff": "Désactiver",
"validNameWarning": "Veuillez choisir un nom différent car ce nom causerait des problèmes.\nNous (ré-)utilisons le nom du modèle comme nom de paquet NPM.\nLes noms de paquets doivent être en minuscule et ne peuvent pas contenir de caractères spéciaux.\nVeuillez donc nommer votre patron en conséquence, comme :" "validNameWarning": "Please pick a different name as this name would cause problems.\nWe (re-)use the design name as the NPM package name.\nPackage names must be lowercase and cannot contain special characters.\nSo please name your design accordingly, like:"
} }

View file

@ -2,16 +2,16 @@
"author": "Auteur", "author": "Auteur",
"githubRepo": "GitHub repository", "githubRepo": "GitHub repository",
"packageManager": "Pakketbeheerder", "packageManager": "Pakketbeheerder",
"patternName": "Patroon naam", "designName": "Design name",
"patternType": "Patroon type", "designType": "Design type",
"patternCreated": "Het skelet van je patroon is aangemaakt in", "designCreated": "Your design skeleton has been created at",
"runTheseCommands": "Voer dit commando uit om aan de slag te gaan", "runTheseCommands": "Voer dit commando uit om aan de slag te gaan",
"startRollup": "In één terminal, start de rollup bundler in de volgmodus", "startRollup": "In één terminal, start de rollup bundler in de volgmodus",
"startWebpack": "Het zal de map 'voorbeeld' invoeren en de ontwikkelingsomgeving starten.", "startWebpack": "Het zal de map 'voorbeeld' invoeren en de ontwikkelingsomgeving starten.",
"devDocsAvailableAt": "Documentatie voor ontwikkelaars is beschikbaar op", "devDocsAvailableAt": "Documentatie voor ontwikkelaars is beschikbaar op",
"talkToUs": "Voor vragen, feedback of suggesties, neem deel aan onze Discord server", "talkToUs": "Voor vragen, feedback of suggesties, neem deel aan onze Discord server",
"draftYourPattern": "Teken je patroon", "draftYourDesign": "Draft your design",
"testYourPattern": "Test je patroon", "testYourDesign": "Test your design",
"draftThing": "Teken {thing}", "draftThing": "Teken {thing}",
"testThing": "Test {thing}", "testThing": "Test {thing}",
"renderInBrowser": "Klik hieronder om je patroon in de browser te tonen.", "renderInBrowser": "Klik hieronder om je patroon in de browser te tonen.",

View file

@ -2,26 +2,26 @@
"author": "Автор", "author": "Автор",
"githubRepo": "Репозиторій GitHub", "githubRepo": "Репозиторій GitHub",
"packageManager": "Менеджер пакунків", "packageManager": "Менеджер пакунків",
"patternName": "Назва викрійки", "designName": "Design name",
"patternType": "Тип викрійки", "designType": "Design type",
"patternCreated": "Ваш каркас викрійки створено у", "designCreated": "Your design skeleton has been created at",
"runTheseCommands": "Щоб розпочати, запустіть цю команду", "runTheseCommands": "Щоб розпочати, запустіть цю команду",
"startRollup": "У одному терміналі запустіть ролап у режимі перегляду", "startRollup": "У одному терміналі запустіть ролап у режимі перегляду",
"startWebpack": "Це відкриє папку \"приклад\" та запустить девелопмент.", "startWebpack": "Це відкриє папку \"приклад\" та запустить девелопмент.",
"devDocsAvailableAt": "Документація для розробників доступна за адресою", "devDocsAvailableAt": "Документація для розробників доступна за адресою",
"talkToUs": "Для запитань, відгуків чи пропозицій, приєднуйтесь до нашого серверу в Discord", "talkToUs": "Для запитань, відгуків чи пропозицій, приєднуйтесь до нашого серверу в Discord",
"draftYourPattern": "Створіть Вашу викрійку", "draftYourDesign": "Draft your design",
"testYourPattern": "Протестувати Вашу викрійку", "testYourDesign": "Test your design",
"draftThing": "Створити {thing}", "draftThing": "Створити {thing}",
"testThing": "Протестувати {thing}", "testThing": "Протестувати {thing}",
"renderInBrowser": "Натисніть нижче, щоб відобразити Вашу викрійку у браузері.", "renderInBrowser": "Click below to render your design in the browser.",
"weWillReRender": "Коли Ви виконаєте зміни, ми перезавантажимо зображення для Вас.", "weWillReRender": "Коли Ви виконаєте зміни, ми перезавантажимо зображення для Вас.",
"youCan": "Ви можете", "youCan": "Ви можете",
"enterMeasurements": "Ввести вимірювання вручну", "enterMeasurements": "Ввести вимірювання вручну",
"preloadMeasurements": "Завантажити набір мірок", "preloadMeasurements": "Завантажити набір мірок",
"size": "Розмір", "size": "Розмір",
"noRequiredMeasurements": "Ця викрійка не потребує замірів", "noRequiredMeasurements": "This design has no required measurements",
"howtoAddMeasurements": "Щоб додати бажані мірки, додайте їх у секцію <b>заміри</b> у файлі конфігурації викрійки.", "howtoAddMeasurements": "To require measurements, add them to the <b>measurements</b> section of the design's configuration file.",
"seeDocsAt": "Документація по цій темі доступна за адресою", "seeDocsAt": "Документація по цій темі доступна за адресою",
"clearDesignMode": "Очистити режим дизайну", "clearDesignMode": "Очистити режим дизайну",
"designMode": "Режим дизайну", "designMode": "Режим дизайну",
@ -30,5 +30,5 @@
"thingIsDisabled": "{thing} вимкнено", "thingIsDisabled": "{thing} вимкнено",
"turnOn": "Увімкнути", "turnOn": "Увімкнути",
"turnOff": "Вимкнути", "turnOff": "Вимкнути",
"validNameWarning": "Будь ласка, оберіть іншу назву, бо дана назва може призвести до проблем.\nМи (повторно) використовуємо назву викрійки як NPM назву пакету.\nІмена пакунків повинні бути в нижньому регістрі та не можуть містити спеціальних символів.\nБудь ласка, назвіть викрійку згідно правил, наприклад:" "validNameWarning": "Please pick a different name as this name would cause problems.\nWe (re-)use the design name as the NPM package name.\nPackage names must be lowercase and cannot contain special characters.\nSo please name your design accordingly, like:"
} }

View file

@ -26,10 +26,10 @@
"lab": "cd ../../sites/lab && yarn start", "lab": "cd ../../sites/lab && yarn start",
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'lib/*.mjs'", "lint": "npx eslint 'lib/*.mjs'",
"i18n-only": "SITE=\"new-design/shared\" node ../../sites/shared/prebuild/i18n-only.mjs", "i18n-only": "SITE=\"new-design/shared\" node --conditions=internal ../../sites/shared/prebuild/i18n-only.mjs",
"prebuild": "node ./prebuild.mjs", "prebuild": "node --conditions=internal ./prebuild.mjs",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"prewbuild": "node ./prebuild.mjs", "prewbuild": "node --conditions=internal ./prebuild.mjs",
"wbuild:all": "yarn wbuild", "wbuild:all": "yarn wbuild",
"prebuild:all": "yarn prebuild", "prebuild:all": "yarn prebuild",
"prewbuild:all": "yarn prewbuild" "prewbuild:all": "yarn prewbuild"

View file

@ -20,7 +20,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",

View file

@ -20,7 +20,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"clean": "rimraf dist", "clean": "rimraf dist",

View file

@ -20,7 +20,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",

View file

@ -20,7 +20,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -28,7 +28,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -42,7 +45,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -27,7 +27,10 @@
"type": "module", "type": "module",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"exports": { "exports": {
".": "./dist/index.mjs" ".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
}
}, },
"scripts": { "scripts": {
"build": "node build.mjs", "build": "node build.mjs",
@ -41,7 +44,7 @@
"tips": "node ../../scripts/help.mjs", "tips": "node ../../scripts/help.mjs",
"lint": "npx eslint 'src/**' 'tests/*.mjs'", "lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
"wbuild": "node build.mjs", "wbuild": "node build.mjs",
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },

View file

@ -274,14 +274,7 @@ function packageJson(pkg) {
} }
pkgConf.keywords = pkgConf.keywords.concat(keywords(pkg)) pkgConf.keywords = pkgConf.keywords.concat(keywords(pkg))
pkgConf.scripts = scripts(pkg) pkgConf.scripts = scripts(pkg)
/*
* If we building a site simply override the module entry so that we don't have
* to build any dependencies, but instead can just load them from source
*/
if (SITEBUILD) {
pkgConf.module = 'src/index.mjs'
pkgConf.exports = { '.': './src/index.mjs' }
}
if (repo.exceptions.skipTests.indexOf(pkg.name) !== -1) { if (repo.exceptions.skipTests.indexOf(pkg.name) !== -1) {
pkgConf.scripts.test = `echo "skipping tests for ${pkg.name}"` pkgConf.scripts.test = `echo "skipping tests for ${pkg.name}"`
pkgConf.scripts.testci = `echo "skipping tests for ${pkg.name}"` pkgConf.scripts.testci = `echo "skipping tests for ${pkg.name}"`

View file

@ -19,14 +19,13 @@
"clean": "rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*", "clean": "rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*",
"dev": "next dev -p 8000", "dev": "next dev -p 8000",
"develop": "next dev -p 8000", "develop": "next dev -p 8000",
"i18n": "SITE=dev node ../shared/prebuild/i18n-only.mjs", "i18n": "SITE=dev node --conditions=internal ../shared/prebuild/i18n-only.mjs",
"lint": "next lint", "lint": "next lint",
"prebuild": "cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs", "prebuild": "node --conditions=internal --experimental-json-modules ./prebuild.mjs",
"predev": "node --experimental-json-modules ./prebuild.mjs",
"serve": "pm2 start npm --name 'dev' -- run start", "serve": "pm2 start npm --name 'dev' -- run start",
"start": "yarn prebuild && yarn dev", "start": "yarn prebuild && yarn dev",
"wbuild": "next build", "wbuild": "next build",
"prewbuild": "cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs" "prewbuild": "node --conditions=internal --experimental-json-modules ./prebuild.mjs"
}, },
"peerDependencies": {}, "peerDependencies": {},
"dependencies": { "dependencies": {

View file

@ -18,14 +18,13 @@
"cibuild": "yarn build", "cibuild": "yarn build",
"dev": "next dev -p 8000", "dev": "next dev -p 8000",
"develop": "next dev -p 8000", "develop": "next dev -p 8000",
"i18n": "SITE=lab node ../shared/prebuild/i18n-only.mjs", "i18n": "SITE=lab node --conditions=internal ../shared/prebuild/i18n-only.mjs",
"e2e": "yarn playwright test", "e2e": "yarn playwright test",
"lint": "next lint", "lint": "next lint",
"prebuild": "cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs", "prebuild": "node --conditions=internal --experimental-json-modules ./prebuild.mjs",
"predev": "node --experimental-json-modules ./prebuild.mjs",
"start": "yarn prebuild && yarn dev", "start": "yarn prebuild && yarn dev",
"wbuild": "next build", "wbuild": "next build",
"prewbuild": "cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs" "prewbuild": "node --conditions=internal --experimental-json-modules ./prebuild.mjs"
}, },
"peerDependencies": {}, "peerDependencies": {},
"dependencies": { "dependencies": {

View file

@ -19,13 +19,12 @@
"clean": "rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*", "clean": "rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*",
"dev": "next dev -p 8000", "dev": "next dev -p 8000",
"develop": "next dev -p 8000", "develop": "next dev -p 8000",
"i18n": "SITE=org node ../shared/prebuild/i18n-only.mjs", "i18n": "SITE=org node --conditions=internal ../shared/prebuild/i18n-only.mjs",
"lint": "next lint", "lint": "next lint",
"prebuild": "cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs", "prebuild": "node --conditions=internal --experimental-json-modules ./prebuild.mjs",
"predev": "node --experimental-json-modules ./prebuild.mjs",
"start": "yarn prebuild && yarn dev", "start": "yarn prebuild && yarn dev",
"wbuild": "next build", "wbuild": "next build",
"prewbuild": "cd ../../ && yarn sitebuildconfigure && cd - && node --experimental-json-modules ./prebuild.mjs" "prewbuild": "node --conditions=internal --experimental-json-modules ./prebuild.mjs"
}, },
"peerDependencies": {}, "peerDependencies": {},
"dependencies": { "dependencies": {

View file

@ -1,8 +1,9 @@
import { isDegreeMeasurement } from 'config/measurements.mjs' import { isDegreeMeasurement } from 'config/measurements.mjs'
import { measurementAsMm, formatMm } from 'shared/utils.mjs' import { measurementAsMm, formatMm, measurementAsUnits } from 'shared/utils.mjs'
import { Collapse } from 'shared/components/collapse.mjs' import { Collapse } from 'shared/components/collapse.mjs'
import { PlusIcon, EditIcon } from 'shared/components/icons.mjs' import { PlusIcon, EditIcon } from 'shared/components/icons.mjs'
import { useState } from 'react' import { NumberInput } from 'shared/components/workbench/menus/shared/inputs.mjs'
import { useState, useCallback } from 'react'
export const ns = ['account'] export const ns = ['account']
const Mval = ({ m, val = false, imperial = false, className = '' }) => const Mval = ({ m, val = false, imperial = false, className = '' }) =>
@ -100,35 +101,35 @@ export const MeasieInput = ({
stopLoading = () => null, stopLoading = () => null,
}) => { }) => {
const isDegree = isDegreeMeasurement(m) const isDegree = isDegreeMeasurement(m)
const factor = isDegree ? 1 : mset.imperial ? 25.4 : 10 const units = mset.imperial ? 'imperial' : 'metric'
const [val, setVal] = useState(() => {
const measie = mset.measies?.[m]
if (!measie) return ''
if (isDegree) return measie
return measurementAsUnits(measie, units)
})
const isValValid = (val) => const [valid, setValid] = useState(null)
typeof val === 'undefined' || val === '' ? null : val != false && !isNaN(val)
const isValid = (newVal) => (typeof newVal === 'undefined' ? isValValid(val) : isValValid(newVal))
const [val, setVal] = useState(mset.measies?.[m] / factor || '')
const [valid, setValid] = useState(isValid(mset.measies?.[m] / factor || ''))
// Update onChange // Update onChange
const update = (evt) => { const update = useCallback(
setVal(evt.target.value) (validVal, rawVal) => {
setValid(validVal)
setVal(validVal || rawVal)
const useVal = isDegree if (validVal && typeof onUpdate === 'function') {
? evt.target.value const useVal = isDegree ? validVal : measurementAsMm(validVal, units)
: measurementAsMm(evt.target.value, mset.imperial ? 'imperial' : 'metric') onUpdate(m, useVal)
const validUpdate = isValid(useVal) }
setValid(validUpdate) },
[isDegree, setValid, setVal, onUpdate, units, m]
if (validUpdate && typeof onUpdate === 'function') { )
onUpdate(m, useVal)
}
}
const save = async () => { const save = async () => {
// FIXME // FIXME
startLoading() startLoading()
const measies = {} const measies = {}
measies[m] = val * factor measies[m] = isDegree ? val : measurementAsMm(val, units)
const result = await backend.updateSet(mset.id, { measies }) const result = await backend.updateSet(mset.id, { measies })
if (result.success) { if (result.success) {
refresh() refresh()
@ -137,7 +138,7 @@ export const MeasieInput = ({
stopLoading() stopLoading()
} }
const fraction = (i, base) => update({ target: { value: Math.floor(val) + i / base } }) const fraction = (i, base) => update(Math.floor(('' + val).split(/[\s.]/)[0]) + i / base)
if (!m) return null if (!m) return null
@ -147,48 +148,41 @@ export const MeasieInput = ({
<label className="shrink-0 grow max-w-full"> <label className="shrink-0 grow max-w-full">
{children} {children}
<span className="input-group"> <span className="input-group">
<input <NumberInput
type="number" className={`border-r-0 w-full`}
step={mset.imperial && !isDegree ? 0.03125 : 0.1}
className={`
input input-bordered text-base-content border-r-0 w-full
${valid === false && 'input-error'}
${valid === true && 'input-success'}
`}
value={val} value={val}
onChange={update} onUpdate={update}
onMount={setValid}
/> />
{mset.imperial ? ( <span
<span className={`bg-transparent border-y w-20
className={`bg-transparent border-y w-20 ${valid === false && 'border-error text-neutral-content'}
${valid === false && 'border-error text-neutral-content'} ${valid && 'border-success text-neutral-content'}
${valid === true && 'border-success text-neutral-content'} ${valid === null && 'border-base-200 text-base-content'}
${valid === null && 'border-base-200 text-base-content'} `}
`} >
> <Mval
<Mval imperial={mset.imperial}
imperial={true} val={isDegree ? val : measurementAsMm(val, units)}
val={val * 25.4} m={m}
m={m} className="text-base-content bg-transparent text-success text-xs font-bold p-0"
className="text-base-content bg-transparent text-success text-xs font-bold p-0" />
/> </span>
</span>
) : null}
<span <span
role="img" role="img"
className={`bg-transparent border-y className={`bg-transparent border-y
${valid === false && 'border-error text-neutral-content'} ${valid === false && 'border-error text-neutral-content'}
${valid === true && 'border-success text-neutral-content'} ${valid && 'border-success text-neutral-content'}
${valid === null && 'border-base-200 text-base-content'} ${valid === null && 'border-base-200 text-base-content'}
`} `}
> >
{valid === true && '👍'} {valid && '👍'}
{valid === false && '🤔'} {valid === false && '🤔'}
</span> </span>
<span <span
className={`w-14 text-center className={`w-14 text-center
${valid === false && 'bg-error text-neutral-content'} ${valid === false && 'bg-error text-neutral-content'}
${valid === true && 'bg-success text-neutral-content'} ${valid && 'bg-success text-neutral-content'}
${valid === null && 'bg-base-200 text-base-content'} ${valid === null && 'bg-base-200 text-base-content'}
`} `}
> >

View file

@ -35,10 +35,14 @@ saveYourPattern: Speichere dein Muster
giveItAName: Gib ihm einen Namen giveItAName: Gib ihm einen Namen
changeMeasies: Muster ändern Messungen changeMeasies: Muster ändern Messungen
editCurrentMeasies: Aktuelle Messwerte bearbeiten editCurrentMeasies: Aktuelle Messwerte bearbeiten
editCurrentMeasiesHeader: Edit Pattern Measurements
editCurrentMeasiesDesc: Changes you make here will not be saved to your measurements sets, and will only affect this pattern.
chooseNewSet: Wähle ein neues Maßnahmeset chooseNewSet: Wähle ein neues Maßnahmeset
weLackSomeMeasies: Uns fehlen { nr } Messungen, um dieses Muster zu erstellen weLackSomeMeasies: Uns fehlen { nr } Messungen, um dieses Muster zu erstellen
youCanPickOrEnter: Du kannst entweder einen Satz Messungen auswählen oder sie von Hand eingeben, aber ohne diese Messungen können wir nicht weitermachen. youCanPickOrEnter: Du kannst entweder einen Satz Messungen auswählen oder sie von Hand eingeben, aber ohne diese Messungen können wir nicht weitermachen.
measiesOk: Wir haben alle erforderlichen Maße, um dieses Muster zu erstellen. measiesOk: Wir haben alle erforderlichen Maße, um dieses Muster zu erstellen.
seeMissingMeasies: See missing measurements
appliedMeasies: We applied a new measurements set to this pattern.
exportForPrinting: Für den Druck exportieren exportForPrinting: Für den Druck exportieren
exportForEditing: Für die Bearbeitung exportieren exportForEditing: Für die Bearbeitung exportieren
exportAsData: Als Daten exportieren exportAsData: Als Daten exportieren

View file

@ -35,10 +35,14 @@ saveYourPattern: Save your pattern
giveItAName: Give it a name giveItAName: Give it a name
changeMeasies: Change Pattern Measurements changeMeasies: Change Pattern Measurements
editCurrentMeasies: Edit Current Measurements editCurrentMeasies: Edit Current Measurements
editCurrentMeasiesHeader: Edit Pattern Measurements
editCurrentMeasiesDesc: Changes you make here will not be saved to your measurements sets, and will only affect this pattern.
chooseNewSet: Choose a New Measurements Set chooseNewSet: Choose a New Measurements Set
weLackSomeMeasies: We lack { nr } measurements to create this pattern weLackSomeMeasies: We lack { nr } measurements to create this pattern
youCanPickOrEnter: You can either pick a measurements set, or enter them by hand, but we cannot proceed without these measurements. youCanPickOrEnter: You can either pick a measurements set, or enter them by hand, but we cannot proceed without these measurements.
measiesOk: We have all required measurements to create this pattern. measiesOk: We have all required measurements to create this pattern.
seeMissingMeasies: See missing measurements
appliedMeasies: We applied a new measurements set to this pattern.
exportForPrinting: Export for printing exportForPrinting: Export for printing
exportForEditing: Export for editing exportForEditing: Export for editing
exportAsData: Export as data exportAsData: Export as data

View file

@ -35,10 +35,14 @@ saveYourPattern: Guarda tu patrón
giveItAName: Dale un nombre giveItAName: Dale un nombre
changeMeasies: Mediciones del patrón de cambio changeMeasies: Mediciones del patrón de cambio
editCurrentMeasies: Editar medidas actuales editCurrentMeasies: Editar medidas actuales
editCurrentMeasiesHeader: Edit Pattern Measurements
editCurrentMeasiesDesc: Changes you make here will not be saved to your measurements sets, and will only affect this pattern.
chooseNewSet: Elegir un nuevo conjunto de medidas chooseNewSet: Elegir un nuevo conjunto de medidas
weLackSomeMeasies: Nos faltan las medidas de { nr } para crear este patrón weLackSomeMeasies: Nos faltan las medidas de { nr } para crear este patrón
youCanPickOrEnter: Puedes elegir un conjunto de medidas o introducirlas a mano, pero no podemos proceder sin estas medidas. youCanPickOrEnter: Puedes elegir un conjunto de medidas o introducirlas a mano, pero no podemos proceder sin estas medidas.
measiesOk: Tenemos todas las medidas necesarias para crear este patrón. measiesOk: Tenemos todas las medidas necesarias para crear este patrón.
seeMissingMeasies: See missing measurements
appliedMeasies: We applied a new measurements set to this pattern.
exportForPrinting: Exportar para impresión exportForPrinting: Exportar para impresión
exportForEditing: Exportar para editar exportForEditing: Exportar para editar
exportAsData: Exportar como datos exportAsData: Exportar como datos

View file

@ -35,10 +35,14 @@ saveYourPattern: Sauvegarde ton modèle
giveItAName: Donne-lui un nom giveItAName: Donne-lui un nom
changeMeasies: Mesures du schéma de changement changeMeasies: Mesures du schéma de changement
editCurrentMeasies: Modifier les mesures actuelles editCurrentMeasies: Modifier les mesures actuelles
editCurrentMeasiesHeader: Edit Pattern Measurements
editCurrentMeasiesDesc: Changes you make here will not be saved to your measurements sets, and will only affect this pattern.
chooseNewSet: Choisis un nouvel ensemble de mesures chooseNewSet: Choisis un nouvel ensemble de mesures
weLackSomeMeasies: Il nous manque { nr } pour créer ce modèle weLackSomeMeasies: Il nous manque { nr } pour créer ce modèle
youCanPickOrEnter: Tu peux soit choisir un ensemble de mesures, soit les saisir à la main, mais nous ne pouvons pas procéder sans ces mesures. youCanPickOrEnter: Tu peux soit choisir un ensemble de mesures, soit les saisir à la main, mais nous ne pouvons pas procéder sans ces mesures.
measiesOk: Nous avons toutes les mesures requises pour créer ce modèle. measiesOk: Nous avons toutes les mesures requises pour créer ce modèle.
seeMissingMeasies: See missing measurements
appliedMeasies: We applied a new measurements set to this pattern.
exportForPrinting: Exporter pour l'impression exportForPrinting: Exporter pour l'impression
exportForEditing: Exporter pour édition exportForEditing: Exporter pour édition
exportAsData: Exporter en tant que données exportAsData: Exporter en tant que données

View file

@ -1,3 +1,4 @@
import { useCallback, useMemo } from 'react'
// Components // Components
import { OptionsIcon } from 'shared/components/icons.mjs' import { OptionsIcon } from 'shared/components/icons.mjs'
import { optionsMenuStructure, optionType } from 'shared/utils.mjs' import { optionsMenuStructure, optionType } from 'shared/utils.mjs'
@ -71,9 +72,17 @@ export const DesignOptions = ({
DynamicDocs = false, DynamicDocs = false,
}) => { }) => {
const menuNs = [`o_${design}`, ...ns] const menuNs = [`o_${design}`, ...ns]
const optionsMenu = optionsMenuStructure(patternConfig.options) const optionsMenu = useMemo(() => optionsMenuStructure(patternConfig.options), [patternConfig])
const getDocsPath = (option) => const updateFunc = useCallback(
`designs/${design}/options${option ? '/' + option.toLowerCase() : ''}` (name, value) => update.settings(['options', ...name], value),
[update]
)
// FIXME How do we find inherited docs?
const getDocsPath = useCallback(
(option) => `designs/${design}/options${option ? '/' + option.toLowerCase() : ''}`,
[design]
)
return ( return (
<WorkbenchMenu <WorkbenchMenu
@ -91,7 +100,7 @@ export const DesignOptions = ({
language, language,
ns: menuNs, ns: menuNs,
passProps: { settings, patternConfig }, passProps: { settings, patternConfig },
updateFunc: (name, value) => update.settings(['options', ...name], value), updateFunc,
}} }}
/> />
) )

View file

@ -1,5 +1,11 @@
import { useCallback, useMemo, useState, useEffect } from 'react' import { useCallback, useMemo, useState, useEffect, useRef } from 'react'
import { round, measurementAsMm, measurementAsUnits, formatFraction128 } from 'shared/utils.mjs' import {
round,
measurementAsMm,
measurementAsUnits,
formatFraction128,
fractionToDecimal,
} from 'shared/utils.mjs'
import { ChoiceButton } from 'shared/components/choice-button.mjs' import { ChoiceButton } from 'shared/components/choice-button.mjs'
import debounce from 'lodash.debounce' import debounce from 'lodash.debounce'
@ -12,27 +18,142 @@ import debounce from 'lodash.debounce'
* Inputs that deal with more specific use cases should wrap one of the above base inputs * Inputs that deal with more specific use cases should wrap one of the above base inputs
*******************************************************************************************/ *******************************************************************************************/
/** Regex to validate that an input is a number */
const numberInputMatchers = {
0: /^-?[0-9]*[.,eE]?[0-9]+$/, // match a single decimal separator
1: /^-?[0-9]*(\s?[0-9]+\/|[.,eE])?[0-9]+$/, // match a single decimal separator or fraction
}
/**
* Validate and parse a value that should be a number
* @param {any} val the value to validate
* @param {Boolean} allowFractions should fractions be considered valid input?
* @param {Number} min the minimum allowable value
* @param {Number} max the maximum allowable value
* @return {null|false|Number} null if the value is empty,
* false if the value is invalid,
* or the value parsed to a number if it is valid
*/
const validateVal = (val, allowFractions = true, min = -Infinity, max = Infinity) => {
// if it's empty, we're neutral
if (typeof val === 'undefined' || val === '') return null
// make sure it's a string
val = ('' + val).trim()
// get the appropriate match pattern and check for a match
const matchPattern = numberInputMatchers[Number(allowFractions)]
if (!val.match(matchPattern)) return false
// replace comma with period
const parsedVal = val.replace(',', '.')
// if fractions are allowed, parse for fractions, otherwise use the number as a value
const useVal = allowFractions ? fractionToDecimal(parsedVal) : parsedVal
// check that it's a number and it's in the range
if (isNaN(useVal) || useVal > max || useVal < min) return false
// all checks passed. return the parsed value
return useVal
}
/**
* A number input that accepts comma or period decimal separators.
* Because our use case is almost never going to include thousands, we're using a very simple way of accepting commas:
* The validator checks for the presence of a single comma or period followed by numbers
* The parser replaces a single comma with a period
*
* optionally accepts fractions
* @param {Number} options.val the value of the input
* @param {Function} options.onUpdate a function to handle when the value is updated to a valid value
* @param {Boolean} options.fractions should the input allow fractional input
*/
export const NumberInput = ({
value,
onUpdate,
onMount,
className,
fractions = true,
min = -Infinity,
max = Infinity,
}) => {
const valid = useRef(validateVal(value, fractions, min, max))
// this is the change handler that will be debounced by the debounce handler
// we check validity inside this debounced function because
// we need to call the debounce handler on change regardless of validity
// if we don't, the displayed value won't update
const handleChange = useCallback(
(newVal) => {
// only actually update if the value is valid
if (typeof onUpdate === 'function') {
onUpdate(valid.current, newVal)
}
},
[onUpdate, valid]
)
// get a debounce handler
const { debouncedHandleChange, displayVal } = useDebouncedHandlers({ handleChange, val: value })
// onChange
const onChange = useCallback(
(evt) => {
const newVal = evt.target.value
// set validity so it will display
valid.current = validateVal(newVal, fractions, min, max)
// handle the change
debouncedHandleChange(newVal)
},
[debouncedHandleChange, fractions, min, max, valid]
)
useEffect(() => {
if (typeof onMount === 'function') {
console.log('mount', valid.current)
onMount(valid)
}
}, [onMount])
return (
<input
type="text"
inputMode="number"
className={`input ${className || 'input-sm input-bordered grow text-base-content'}
${valid.current === false && 'input-error'}
${valid.current && 'input-success'}
`}
value={displayVal}
onChange={onChange}
/>
)
}
/** A component that shows a number input to edit a value */ /** A component that shows a number input to edit a value */
const EditCount = (props) => ( const EditCount = (props) => {
<div className="form-control mb-2 w-full"> const { handleChange } = props
<label className="label"> const onUpdate = useCallback(
<span className="label-text text-base-content">{props.min}</span> (validVal) => {
<span className="label-text font-bold text-base-content">{props.current}</span> if (validVal !== null && validVal !== false) handleChange(validVal)
<span className="label-text text-base-content">{props.max}</span> },
</label> [handleChange]
<label className="input-group input-group-sm"> )
<input
type="number" return (
className={` <div className="form-control mb-2 w-full">
input input-sm input-bordered grow text-base-content <label className="label">
`} <span className="label-text text-base-content">{props.min}</span>
value={props.current} <span className="label-text font-bold text-base-content">{props.current}</span>
onChange={props.handleChange} <span className="label-text text-base-content">{props.max}</span>
/> </label>
<span className="text-base-content font-bold">#</span> <label className="input-group input-group-sm">
</label> <NumberInput value={props.current} onUpdate={onUpdate} min={props.min} max={props.max} />
</div> <span className="text-base-content font-bold">#</span>
) </label>
</div>
)
}
/** /**
* A hook to get the change handler for an input. * A hook to get the change handler for an input.
@ -138,12 +259,12 @@ export const BoolInput = (props) => {
return <ListInput {...props} config={boolConfig} /> return <ListInput {...props} config={boolConfig} />
} }
export const useDebouncedHandlers = ({ handleChange, changed, current, config }) => { export const useDebouncedHandlers = ({ handleChange = () => {}, val }) => {
// hold onto what we're showing as the value so that the input doesn't look unresponsive // hold onto what we're showing as the value so that the input doesn't look unresponsive
const [displayVal, setDisplayVal] = useState(changed ? current : config.dflt) const [displayVal, setDisplayVal] = useState(val)
// the debounce function needs to be it's own memoized value so we can flush it on unmount // the debounce function needs to be it's own memoized value so we can flush it on unmount
const debouncer = useMemo(() => debounce(handleChange, 200), [handleChange]) const debouncer = useMemo(() => debounce(handleChange, 300), [handleChange])
// this is the change handler // this is the change handler
const debouncedHandleChange = useCallback( const debouncedHandleChange = useCallback(
@ -161,8 +282,8 @@ export const useDebouncedHandlers = ({ handleChange, changed, current, config })
// set the display val to the current value when it gets changed // set the display val to the current value when it gets changed
useEffect(() => { useEffect(() => {
setDisplayVal(changed ? current : config.dflt) setDisplayVal(val)
}, [changed, current, config]) }, [val])
return { debouncedHandleChange, displayVal } return { debouncedHandleChange, displayVal }
} }
@ -203,9 +324,7 @@ export const SliderInput = ({
const { debouncedHandleChange, displayVal } = useDebouncedHandlers({ const { debouncedHandleChange, displayVal } = useDebouncedHandlers({
handleChange, handleChange,
current, val: changed ? current : config.dflt,
changed,
config,
}) })
return ( return (
@ -216,7 +335,7 @@ export const SliderInput = ({
<EditCount <EditCount
{...{ {...{
current: displayVal, current: displayVal,
handleChange: (evt) => debouncedHandleChange(evt.target.value), handleChange,
min, min,
max, max,
t, t,
@ -254,20 +373,44 @@ export const SliderInput = ({
) )
} }
/**
* round a value to the correct number of decimal places to display all supplied digits after multiplication
* this is a workaround for floating point errors
* examples:
* roundPct(0.72, 100) === 72
* roundPct(7.5, 0.01) === 0.075
* roundPct(7.50, 0.01) === 0.0750
* @param {Number} num the number to be operated on
* @param {Number} factor the number to multiply by
* @return {Number} the given num multiplied by the factor, rounded appropriately
*/
const roundPct = (num, factor) => {
// stringify
const str = '' + num
// get the index of the decimal point in the number
const decimalIndex = str.indexOf('.')
// get the number of places the factor moves the decimal point
const factorPlaces = factor > 0 ? Math.ceil(Math.log10(factor)) : Math.floor(Math.log10(factor))
// the number of places needed is the number of digits that exist after the decimal minus the number of places the decimal point is being moved
const numPlaces = Math.max(0, str.length - (decimalIndex + factorPlaces))
return round(num * factor, numPlaces)
}
/** A {@see SliderInput} to handle percentage values */ /** A {@see SliderInput} to handle percentage values */
export const PctInput = ({ current, changed, updateFunc, config, ...rest }) => { export const PctInput = ({ current, changed, updateFunc, config, ...rest }) => {
const factor = 100 const factor = 100
let pctCurrent = changed ? current * factor : current let pctCurrent = changed ? roundPct(current, factor) : current
const pctUpdateFunc = useCallback( const pctUpdateFunc = useCallback(
(path, newVal) => updateFunc(path, newVal === undefined ? undefined : newVal / factor), (path, newVal) =>
[updateFunc, factor] updateFunc(path, newVal === undefined ? undefined : roundPct(newVal, 1 / factor)),
[updateFunc]
) )
return ( return (
<SliderInput <SliderInput
{...{ {...{
...rest, ...rest,
config: { ...config, dflt: config.dflt * factor }, config: { ...config, dflt: roundPct(config.dflt, factor) },
current: pctCurrent, current: pctCurrent,
updateFunc: pctUpdateFunc, updateFunc: pctUpdateFunc,
suffix: '%', suffix: '%',
@ -279,7 +422,16 @@ export const PctInput = ({ current, changed, updateFunc, config, ...rest }) => {
} }
/** A {@see SliderInput} to handle degree values */ /** A {@see SliderInput} to handle degree values */
export const DegInput = (props) => <SliderInput {...props} suffix="°" valFormatter={round} /> export const DegInput = (props) => {
const { updateFunc } = props
const degUpdateFunc = useCallback(
(path, newVal) => {
updateFunc(path, newVal === undefined ? undefined : Number(newVal))
},
[updateFunc]
)
return <SliderInput {...props} suffix="°" valFormatter={round} updateFunc={degUpdateFunc} />
}
export const MmInput = (props) => { export const MmInput = (props) => {
const { units, updateFunc, current, config } = props const { units, updateFunc, current, config } = props

View file

@ -1,5 +1,5 @@
// Hooks // Hooks
import { useEffect, useState, useCallback } from 'react' import { useEffect, useState, useCallback, useMemo } from 'react'
import { useTranslation } from 'next-i18next' import { useTranslation } from 'next-i18next'
import { useView } from 'shared/hooks/use-view.mjs' import { useView } from 'shared/hooks/use-view.mjs'
import { usePatternSettings } from 'shared/hooks/use-pattern-settings.mjs' import { usePatternSettings } from 'shared/hooks/use-pattern-settings.mjs'
@ -103,32 +103,34 @@ export const Workbench = ({ design, Design, DynamicDocs }) => {
}, [Design, settings.measurements, mounted, view, setView]) }, [Design, settings.measurements, mounted, view, setView])
// Helper methods for settings/ui updates // Helper methods for settings/ui updates
const update = { const update = useMemo(
settings: (path, val) => setSettings(objUpdate({ ...settings }, path, val)), () => ({
ui: (path, val) => setUi(objUpdate({ ...ui }, path, val)), settings: (path, val) =>
toggleSa: () => { setSettings((curSettings) => objUpdate({ ...curSettings }, path, val)),
const sa = settings.samm || (account.imperial ? 15.3125 : 10) ui: (path, val) => setUi((curUi) => objUpdate({ ...curUi }, path, val)),
if (settings.sabool) toggleSa: () => {
setSettings( setSettings((curSettings) => {
objUpdate({ ...settings }, [ const sa = curSettings.samm || (account.imperial ? 15.3125 : 10)
[['sabool'], 0],
[['sa'], 0], if (curSettings.sabool)
[['samm'], sa], return objUpdate({ ...curSettings }, [
]) [['sabool'], 0],
) [['sa'], 0],
else { [['samm'], sa],
const sa = settings.samm || (account.imperial ? 15.3125 : 10) ])
setSettings( else {
objUpdate({ ...settings }, [ return objUpdate({ ...curSettings }, [
[['sabool'], 1], [['sabool'], 1],
[['sa'], sa], [['sa'], sa],
[['samm'], sa], [['samm'], sa],
]) ])
) }
} })
}, },
setControl: controlState.update, setControl: controlState.update,
} }),
[setSettings, setUi, account, controlState]
)
// wait for mount. this helps prevent hydration issues // wait for mount. this helps prevent hydration issues
if (!mounted) return <ModalSpinner /> if (!mounted) return <ModalSpinner />

View file

@ -35,10 +35,14 @@ saveYourPattern: Je patroon opslaan
giveItAName: Geef het een naam giveItAName: Geef het een naam
changeMeasies: Verander patroon metingen changeMeasies: Verander patroon metingen
editCurrentMeasies: Huidige metingen bewerken editCurrentMeasies: Huidige metingen bewerken
editCurrentMeasiesHeader: Edit Pattern Measurements
editCurrentMeasiesDesc: Changes you make here will not be saved to your measurements sets, and will only affect this pattern.
chooseNewSet: Kies een nieuwe meetset chooseNewSet: Kies een nieuwe meetset
weLackSomeMeasies: We missen { nr } metingen om dit patroon te maken weLackSomeMeasies: We missen { nr } metingen om dit patroon te maken
youCanPickOrEnter: Je kunt een meetset kiezen of ze met de hand invoeren, maar zonder deze metingen kunnen we niet verder. youCanPickOrEnter: Je kunt een meetset kiezen of ze met de hand invoeren, maar zonder deze metingen kunnen we niet verder.
measiesOk: We hebben alle benodigde afmetingen om dit patroon te maken. measiesOk: We hebben alle benodigde afmetingen om dit patroon te maken.
seeMissingMeasies: See missing measurements
appliedMeasies: We applied a new measurements set to this pattern.
exportForPrinting: Exporteren om te printen exportForPrinting: Exporteren om te printen
exportForEditing: Exporteren om te bewerken exportForEditing: Exporteren om te bewerken
exportAsData: Exporteer als data exportAsData: Exporteer als data

View file

@ -35,10 +35,14 @@ saveYourPattern: Збережіть свій шаблон
giveItAName: Дайте йому ім'я. giveItAName: Дайте йому ім'я.
changeMeasies: Вимірювання зміни шаблону changeMeasies: Вимірювання зміни шаблону
editCurrentMeasies: Редагувати поточні вимірювання editCurrentMeasies: Редагувати поточні вимірювання
editCurrentMeasiesHeader: Edit Pattern Measurements
editCurrentMeasiesDesc: Changes you make here will not be saved to your measurements sets, and will only affect this pattern.
chooseNewSet: Виберіть новий набір вимірювань chooseNewSet: Виберіть новий набір вимірювань
weLackSomeMeasies: Нам не вистачає { nr } вимірів для створення цього шаблону weLackSomeMeasies: Нам не вистачає { nr } вимірів для створення цього шаблону
youCanPickOrEnter: Ви можете вибрати набір вимірів або ввести їх вручну, але без цих вимірів ми не зможемо продовжити роботу. youCanPickOrEnter: Ви можете вибрати набір вимірів або ввести їх вручну, але без цих вимірів ми не зможемо продовжити роботу.
measiesOk: У нас є всі необхідні виміри для створення цієї моделі. measiesOk: У нас є всі необхідні виміри для створення цієї моделі.
seeMissingMeasies: See missing measurements
appliedMeasies: We applied a new measurements set to this pattern.
exportForPrinting: Експортувати для друку exportForPrinting: Експортувати для друку
exportForEditing: Експортувати для коригування exportForEditing: Експортувати для коригування
exportAsData: Експорт даних exportAsData: Експорт даних

View file

@ -1,8 +1,12 @@
import { useTranslation } from 'next-i18next' import { useTranslation } from 'next-i18next'
import { analyzeDraftLogLine } from './errors.mjs' import { analyzeDraftLogLine } from './errors.mjs'
import Markdown from 'react-markdown' import Markdown from 'react-markdown'
import {
ClearAllButton,
ns as coreMenuNs,
} from 'shared/components/workbench/menus/core-settings/index.mjs'
export const ns = ['logs'] export const ns = ['logs', ...coreMenuNs]
const colors = { const colors = {
error: 'error', error: 'error',
@ -68,7 +72,7 @@ const extractLogs = (pattern) => {
return logs return logs
} }
export const LogView = ({ pattern, settings }) => { export const LogView = ({ pattern, settings, setSettings }) => {
const { t } = useTranslation(ns) const { t } = useTranslation(ns)
try { try {
@ -80,7 +84,10 @@ export const LogView = ({ pattern, settings }) => {
return ( return (
<div className="max-w-4xl mx-auto px-4 pb-8"> <div className="max-w-4xl mx-auto px-4 pb-8">
<h1>{t('logs')}</h1> <div className="flex">
<h1 className="grow">{t('logs')}</h1>
<ClearAllButton setSettings={setSettings} />
</div>
{Object.entries(logs).map(([type, lines], key) => ( {Object.entries(logs).map(([type, lines], key) => (
<DraftLogs key={key} {...{ type, lines, t }} /> <DraftLogs key={key} {...{ type, lines, t }} />
))} ))}

View file

@ -1,7 +1,7 @@
import { MeasieInput, ns as inputNs } from 'shared/components/sets/measie-input.mjs' import { MeasieInput, ns as inputNs } from 'shared/components/sets/measie-input.mjs'
import { useTranslation } from 'next-i18next' import { useTranslation } from 'next-i18next'
export const ns = ['wbmeasies', ...inputNs] export const ns = ['workbench', ...inputNs]
export const MeasiesEditor = ({ Design, settings, update }) => { export const MeasiesEditor = ({ Design, settings, update }) => {
const { t } = useTranslation(ns) const { t } = useTranslation(ns)
@ -13,6 +13,8 @@ export const MeasiesEditor = ({ Design, settings, update }) => {
return ( return (
<div> <div>
<h2>{t('editCurrentMeasiesHeader')}</h2>
<p>{t('editCurrentMeasiesDesc')}</p>
{Design.patternConfig.measurements.map((m) => ( {Design.patternConfig.measurements.map((m) => (
<MeasieInput {...{ t, m, mset, onUpdate }} key={m}> <MeasieInput {...{ t, m, mset, onUpdate }} key={m}>
<span className="label">{t(m)}</span> <span className="label">{t(m)}</span>

View file

@ -8,11 +8,11 @@ import { designMeasurements } from 'shared/utils.mjs'
import { useTranslation } from 'next-i18next' import { useTranslation } from 'next-i18next'
import { useToast } from 'shared/hooks/use-toast.mjs' import { useToast } from 'shared/hooks/use-toast.mjs'
export const ns = ['wbmeasies', ...authNs, setsNs] export const ns = [...authNs, setsNs]
const tabNames = ['chooseNew', 'editCurrent'] const tabNames = ['chooseNewSet', 'editCurrentMeasies']
export const MeasiesView = ({ design, Design, settings, update, missingMeasurements, setView }) => { export const MeasiesView = ({ design, Design, settings, update, missingMeasurements, setView }) => {
const { t } = useTranslation(['wbmeasies']) const { t } = useTranslation(['workbench'])
const toast = useToast() const toast = useToast()
const tabs = tabNames.map((n) => t(n)).join(',') const tabs = tabNames.map((n) => t(n)).join(',')
@ -23,7 +23,7 @@ export const MeasiesView = ({ design, Design, settings, update, missingMeasureme
[['units'], set.imperial ? 'imperial' : 'metric'], [['units'], set.imperial ? 'imperial' : 'metric'],
]) ])
setView('draft') setView('draft')
toast.success(t('updatedMeasurements')) toast.success(t('appliedMeasies'))
} }
return ( return (

View file

@ -1,5 +1,5 @@
authRequired: Authentifizierung erforderlich authRequired: Authentifizierung erforderlich
membersOnly: Dieser Inhalt ist nur für FreeSewing-Mitglieder zugänglich. membersOnly: This functionality requires a FreeSewing account.
signUp: Anmelden signUp: Anmelden
signIn: Eintragen signIn: Eintragen
statusUnknown: Warnung zum Kontostatus statusUnknown: Warnung zum Kontostatus

View file

@ -1,5 +1,5 @@
authRequired: Autenticación necesaria authRequired: Autenticación necesaria
membersOnly: Este contenido sólo es accesible para los miembros de FreeSewing. membersOnly: This functionality requires a FreeSewing account.
signUp: Inscríbete signUp: Inscríbete
signIn: Regístrate signIn: Regístrate
statusUnknown: Advertencia sobre el estado de la cuenta statusUnknown: Advertencia sobre el estado de la cuenta

Some files were not shown because too many files have changed in this diff Show more