Skip to content

Commit 6dee7b3

Browse files
committed
fix: move dayjs and just-throttle to dependencies
1 parent 0d74e75 commit 6dee7b3

14 files changed

+72
-57
lines changed

index.js

-21
This file was deleted.

package-lock.json

+17-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
{
22
"name": "svelte-calendar",
33
"version": "3.0.17",
4-
"main": "index.js",
4+
"main": "src/lib/index.js",
55
"scripts": {
66
"dev": "svelte-kit dev",
77
"package": "svelte-kit package",
8-
"postpackage": "node scripts/postpackage",
98
"prebuild": "rm -rf build",
109
"build": "svelte-kit build",
1110
"postbuild": "touch docs/.nojekyll",
@@ -14,17 +13,20 @@
1413
"lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
1514
"format": "prettier --write --plugin-search-dir=. ."
1615
},
16+
"dependencies": {
17+
"dayjs": "^1.10.6",
18+
"just-throttle": "^2.3.1"
19+
},
1720
"devDependencies": {
1821
"@semantic-release/changelog": "^5.0.1",
1922
"@semantic-release/git": "^9.0.1",
2023
"@semantic-release/npm": "^7.1.3",
2124
"@sveltejs/adapter-static": "^1.0.0-next.19",
2225
"@sveltejs/kit": "^1.0.0-next.147",
23-
"dayjs": "^1.10.6",
2426
"eslint": "^7.22.0",
2527
"eslint-config-prettier": "^8.1.0",
2628
"eslint-plugin-svelte3": "^3.2.0",
27-
"just-throttle": "^2.3.1",
29+
"p-limit": "^4.0.0",
2830
"prettier": "~2.2.1",
2931
"prettier-plugin-svelte": "^2.2.0",
3032
"prism-svelte": "^0.4.7",

scripts/postpackage.js

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import { promises as fs } from 'fs';
21
import path from 'path';
2+
import pLimit from 'p-limit';
3+
import { promises as fs } from 'fs';
34

45
const PACKAGE_FOLDER = process.env.PACKAGE_FOLDER || 'package';
56
const CWD = process.cwd();
67

8+
const limit = pLimit(10);
9+
710
const getFolder = async (folder, depth = 0) => {
811
const contents = await fs.readdir(path.join(CWD, folder), {
912
withFileTypes: true
@@ -14,31 +17,28 @@ const getFolder = async (folder, depth = 0) => {
1417
folders: await Promise.all(
1518
contents
1619
.filter((f) => f.isDirectory())
17-
.map((dir) => getFolder(`${folder}/${dir.name}`, depth + 1))
20+
.map((dir) => limit(() => getFolder(`${folder}/${dir.name}`, depth + 1)))
1821
),
1922
files: contents.filter((f) => !f.isDirectory()).map(({ name }) => `${folder}/${name}`)
2023
};
2124
};
2225

23-
const transformFolder = async ({ folders, files, depth }) => {
24-
await Promise.all(
25-
files.map(async (f) => {
26-
const filepath = path.join(CWD, f);
27-
const contents = await fs.readFile(filepath, 'utf-8');
28-
const base = depth ? [...Array(depth).fill('..')].join('/') : './';
29-
const updated = contents
30-
.replace(/from '\$lib(.*)'/g, `from '${base}$1'`)
31-
.replace(/src\/lib\//g, '');
32-
await Promise.all(
33-
[
34-
updated === contents ? null : fs.writeFile(filepath, updated),
35-
...folders.map(transformFolder)
36-
].filter(Boolean)
37-
);
38-
})
39-
);
26+
const transformFile = async (file, depth) => {
27+
const filepath = path.join(CWD, file);
28+
const contents = await fs.readFile(filepath, 'utf-8');
29+
const base = depth ? [...Array(depth).fill('..')].join('/') : './';
30+
const updated = contents
31+
.replace(/from '\$lib(.*)'/g, `from '${base}$1'`)
32+
.replace(/src\/lib\//g, '');
33+
await fs.writeFile(filepath, updated);
4034
};
4135

36+
const transformFolder = ({ folders, files, depth }) =>
37+
Promise.all([
38+
...files.map((f) => limit(() => transformFile(f, depth))),
39+
...folders.map((f) => limit(() => transformFolder(f)))
40+
]);
41+
4242
getFolder(PACKAGE_FOLDER)
4343
.then(transformFolder)
4444
.catch(console.error)

src/lib/docs/examples/CustomTheme.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { InlineCalendar } from '../../../../index';
2+
import { InlineCalendar } from '../../index';
33
import { base } from '$app/paths';
44
55
const theme = {

src/lib/docs/examples/CustomTrigger.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script>
22
import dayjs from 'dayjs';
3-
import { Datepicker } from '../../../../index';
3+
import { Datepicker } from '../../index';
44
55
let store;
66
</script>

src/lib/docs/examples/DarkTheme.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script>
22
import { base } from '$app/paths';
3-
import { InlineCalendar, themes } from '../../../../index';
3+
import { InlineCalendar, themes } from '../../index';
44
const { dark: theme } = themes;
55
</script>
66

src/lib/docs/examples/Formatting.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { Datepicker } from '../../../../index';
2+
import { Datepicker } from '../../index';
33
44
let format = 'dddd, MMMM D, YYYY';
55
</script>

src/lib/docs/examples/InlineCalendar.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { InlineCalendar } from '../../../../index';
2+
import { InlineCalendar } from '../../index';
33
const theme = {
44
calendar: {
55
width: '600px',

src/lib/docs/examples/Locale.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import 'dayjs/locale/ar-dz.js';
55
import 'dayjs/locale/he.js';
66
import dayjs from 'dayjs';
7-
import { InlineCalendar, Swappable, themes } from '../../../../index.js';
7+
import { InlineCalendar, Swappable, themes } from '../../index.js';
88
import { onDestroy } from 'svelte';
99
1010
const locales = ['en', 'es', 'zh-cn', 'ar-dz', 'he'];
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { Datepicker } from '../../../../index';
2+
import { Datepicker } from '../../index';
33
</script>
44

55
<Datepicker />

src/lib/docs/examples/StartAndEnd.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script>
22
import dayjs from 'dayjs';
3-
import { Datepicker } from '../../../../index';
3+
import { Datepicker } from '../../index';
44
55
const today = new Date();
66
const tomorrow = dayjs().add(1, 'day').toDate();

src/lib/docs/examples/Store.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { InlineCalendar } from '../../../../index';
2+
import { InlineCalendar } from '../../index';
33
import dayjs from 'dayjs';
44
55
const theme = {

src/lib/index.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import Datepicker from './components/Datepicker.svelte';
2+
import InlineCalendar from './components/InlineCalendar.svelte';
3+
import Popover from './components/Popover.svelte';
4+
import Calendar from './components/calendar/Calendar.svelte';
5+
import Crossfade from './components/generic/crossfade/Crossfade.svelte';
6+
import CrossfadeProvider from './components/generic/crossfade/CrossfadeProvider.svelte';
7+
import Swappable from './components/generic/Swappable.svelte';
8+
import Scrollable from './components/generic/Scrollable.svelte';
9+
import * as themes from './config/theme';
10+
11+
export {
12+
Datepicker,
13+
InlineCalendar,
14+
Popover,
15+
Calendar,
16+
Crossfade,
17+
CrossfadeProvider,
18+
Scrollable,
19+
Swappable,
20+
themes
21+
};

0 commit comments

Comments
 (0)