From 6dee7b31ab1ab9bfe306e0015f8d53bf7069473d Mon Sep 17 00:00:00 2001 From: Jonathan Greenemeier Date: Fri, 17 Sep 2021 23:45:06 -0600 Subject: [PATCH] fix: move dayjs and just-throttle to dependencies --- index.js | 21 ------------ package-lock.json | 21 +++++++++--- package.json | 10 +++--- scripts/postpackage.js | 38 ++++++++++----------- src/lib/docs/examples/CustomTheme.svelte | 2 +- src/lib/docs/examples/CustomTrigger.svelte | 2 +- src/lib/docs/examples/DarkTheme.svelte | 2 +- src/lib/docs/examples/Formatting.svelte | 2 +- src/lib/docs/examples/InlineCalendar.svelte | 2 +- src/lib/docs/examples/Locale.svelte | 2 +- src/lib/docs/examples/QuickStart.svelte | 2 +- src/lib/docs/examples/StartAndEnd.svelte | 2 +- src/lib/docs/examples/Store.svelte | 2 +- src/lib/index.js | 21 ++++++++++++ 14 files changed, 72 insertions(+), 57 deletions(-) delete mode 100644 index.js create mode 100644 src/lib/index.js diff --git a/index.js b/index.js deleted file mode 100644 index 5eb8c3b..0000000 --- a/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import Datepicker from './src/lib/components/Datepicker.svelte'; -import InlineCalendar from './src/lib/components/InlineCalendar.svelte'; -import Popover from './src/lib/components/Popover.svelte'; -import Calendar from './src/lib/components/calendar/Calendar.svelte'; -import Crossfade from './src/lib/components/generic/crossfade/Crossfade.svelte'; -import CrossfadeProvider from './src/lib/components/generic/crossfade/CrossfadeProvider.svelte'; -import Swappable from './src/lib/components/generic/Swappable.svelte'; -import Scrollable from './src/lib/components/generic/Scrollable.svelte'; -import * as themes from './src/lib/config/theme'; - -export { - Datepicker, - InlineCalendar, - Popover, - Calendar, - Crossfade, - CrossfadeProvider, - Scrollable, - Swappable, - themes -}; diff --git a/package-lock.json b/package-lock.json index 2527b3b..763bb56 100644 --- a/package-lock.json +++ b/package-lock.json @@ -469,8 +469,7 @@ "dayjs": { "version": "1.10.6", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz", - "integrity": "sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw==", - "dev": true + "integrity": "sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw==" }, "debug": { "version": "4.3.2", @@ -1129,8 +1128,7 @@ "just-throttle": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/just-throttle/-/just-throttle-2.3.1.tgz", - "integrity": "sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==", - "dev": true + "integrity": "sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==" }, "kleur": { "version": "4.1.4", @@ -3443,6 +3441,15 @@ "word-wrap": "^1.2.3" } }, + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -4098,6 +4105,12 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true } } } diff --git a/package.json b/package.json index 485a7ec..5a3c3d4 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,10 @@ { "name": "svelte-calendar", "version": "3.0.17", - "main": "index.js", + "main": "src/lib/index.js", "scripts": { "dev": "svelte-kit dev", "package": "svelte-kit package", - "postpackage": "node scripts/postpackage", "prebuild": "rm -rf build", "build": "svelte-kit build", "postbuild": "touch docs/.nojekyll", @@ -14,17 +13,20 @@ "lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .", "format": "prettier --write --plugin-search-dir=. ." }, + "dependencies": { + "dayjs": "^1.10.6", + "just-throttle": "^2.3.1" + }, "devDependencies": { "@semantic-release/changelog": "^5.0.1", "@semantic-release/git": "^9.0.1", "@semantic-release/npm": "^7.1.3", "@sveltejs/adapter-static": "^1.0.0-next.19", "@sveltejs/kit": "^1.0.0-next.147", - "dayjs": "^1.10.6", "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-svelte3": "^3.2.0", - "just-throttle": "^2.3.1", + "p-limit": "^4.0.0", "prettier": "~2.2.1", "prettier-plugin-svelte": "^2.2.0", "prism-svelte": "^0.4.7", diff --git a/scripts/postpackage.js b/scripts/postpackage.js index e9cfe4a..6231be3 100644 --- a/scripts/postpackage.js +++ b/scripts/postpackage.js @@ -1,9 +1,12 @@ -import { promises as fs } from 'fs'; import path from 'path'; +import pLimit from 'p-limit'; +import { promises as fs } from 'fs'; const PACKAGE_FOLDER = process.env.PACKAGE_FOLDER || 'package'; const CWD = process.cwd(); +const limit = pLimit(10); + const getFolder = async (folder, depth = 0) => { const contents = await fs.readdir(path.join(CWD, folder), { withFileTypes: true @@ -14,31 +17,28 @@ const getFolder = async (folder, depth = 0) => { folders: await Promise.all( contents .filter((f) => f.isDirectory()) - .map((dir) => getFolder(`${folder}/${dir.name}`, depth + 1)) + .map((dir) => limit(() => getFolder(`${folder}/${dir.name}`, depth + 1))) ), files: contents.filter((f) => !f.isDirectory()).map(({ name }) => `${folder}/${name}`) }; }; -const transformFolder = async ({ folders, files, depth }) => { - await Promise.all( - files.map(async (f) => { - const filepath = path.join(CWD, f); - const contents = await fs.readFile(filepath, 'utf-8'); - const base = depth ? [...Array(depth).fill('..')].join('/') : './'; - const updated = contents - .replace(/from '\$lib(.*)'/g, `from '${base}$1'`) - .replace(/src\/lib\//g, ''); - await Promise.all( - [ - updated === contents ? null : fs.writeFile(filepath, updated), - ...folders.map(transformFolder) - ].filter(Boolean) - ); - }) - ); +const transformFile = async (file, depth) => { + const filepath = path.join(CWD, file); + const contents = await fs.readFile(filepath, 'utf-8'); + const base = depth ? [...Array(depth).fill('..')].join('/') : './'; + const updated = contents + .replace(/from '\$lib(.*)'/g, `from '${base}$1'`) + .replace(/src\/lib\//g, ''); + await fs.writeFile(filepath, updated); }; +const transformFolder = ({ folders, files, depth }) => + Promise.all([ + ...files.map((f) => limit(() => transformFile(f, depth))), + ...folders.map((f) => limit(() => transformFolder(f))) + ]); + getFolder(PACKAGE_FOLDER) .then(transformFolder) .catch(console.error) diff --git a/src/lib/docs/examples/CustomTheme.svelte b/src/lib/docs/examples/CustomTheme.svelte index 60243ad..2191e27 100644 --- a/src/lib/docs/examples/CustomTheme.svelte +++ b/src/lib/docs/examples/CustomTheme.svelte @@ -1,5 +1,5 @@ diff --git a/src/lib/docs/examples/DarkTheme.svelte b/src/lib/docs/examples/DarkTheme.svelte index 4166519..b02859d 100644 --- a/src/lib/docs/examples/DarkTheme.svelte +++ b/src/lib/docs/examples/DarkTheme.svelte @@ -1,6 +1,6 @@ diff --git a/src/lib/docs/examples/Formatting.svelte b/src/lib/docs/examples/Formatting.svelte index 22eba55..ce69fe6 100644 --- a/src/lib/docs/examples/Formatting.svelte +++ b/src/lib/docs/examples/Formatting.svelte @@ -1,5 +1,5 @@ diff --git a/src/lib/docs/examples/InlineCalendar.svelte b/src/lib/docs/examples/InlineCalendar.svelte index 5f5c5bd..6680e61 100644 --- a/src/lib/docs/examples/InlineCalendar.svelte +++ b/src/lib/docs/examples/InlineCalendar.svelte @@ -1,5 +1,5 @@ diff --git a/src/lib/docs/examples/StartAndEnd.svelte b/src/lib/docs/examples/StartAndEnd.svelte index 6a23bde..6751898 100644 --- a/src/lib/docs/examples/StartAndEnd.svelte +++ b/src/lib/docs/examples/StartAndEnd.svelte @@ -1,6 +1,6 @@