@qingwu-ui/holiday-data 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,63 @@
1
1
  {
2
2
  "name": "@qingwu-ui/holiday-data",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0",
4
+ "description": "中国年度放假调休 JSON 与附来源的节日资料,离线可用",
5
+ "type": "module",
6
+ "license": "Apache-2.0",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.mts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.cjs"
13
+ },
14
+ "./data.json": "./data.json",
15
+ "./festivals.json": "./festivals.json",
16
+ "./schema.json": "./schema.json",
17
+ "./package.json": "./package.json"
18
+ },
19
+ "main": "./dist/index.cjs",
20
+ "module": "./dist/index.mjs",
21
+ "types": "./dist/index.d.mts",
22
+ "files": [
23
+ "dist",
24
+ "years",
25
+ "data.json",
26
+ "festivals.json",
27
+ "schema.json",
28
+ "LICENSE",
29
+ "LICENSE-holiday-cn"
30
+ ],
31
+ "scripts": {
32
+ "build": "tsdown",
33
+ "typecheck": "tsc --noEmit",
34
+ "test": "vitest run",
35
+ "sync": "bun scripts/sync.ts"
36
+ },
37
+ "devDependencies": {
38
+ "@qingwu-ui/tsconfig": "workspace:*",
39
+ "@types/node": "^22.15.3",
40
+ "tsdown": "^0.22.14",
41
+ "typescript": "^7.0.2",
42
+ "vitest": "^4.1.12"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/apricotdream/qingwu-ui.git",
50
+ "directory": "packages/holiday-data"
51
+ },
52
+ "keywords": [
53
+ "holiday",
54
+ "china",
55
+ "calendar",
56
+ "json",
57
+ "festival",
58
+ "qingwu"
59
+ ],
60
+ "engines": {
61
+ "node": ">=20"
62
+ }
63
+ }
package/schema.json ADDED
@@ -0,0 +1,188 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "青梧节假日数据协议",
4
+ "oneOf": [
5
+ {
6
+ "$ref": "#/$defs/year"
7
+ },
8
+ {
9
+ "$ref": "#/$defs/data"
10
+ }
11
+ ],
12
+ "$defs": {
13
+ "source": {
14
+ "type": "object",
15
+ "properties": {
16
+ "title": {
17
+ "type": "string"
18
+ },
19
+ "publisher": {
20
+ "type": "string"
21
+ },
22
+ "url": {
23
+ "type": "string",
24
+ "format": "uri",
25
+ "pattern": "^https?://"
26
+ },
27
+ "accessedAt": {
28
+ "type": "string",
29
+ "format": "date"
30
+ }
31
+ },
32
+ "required": ["title", "publisher", "url", "accessedAt"]
33
+ },
34
+ "text": {
35
+ "type": "object",
36
+ "properties": {
37
+ "text": {
38
+ "type": "string"
39
+ },
40
+ "sources": {
41
+ "type": "array",
42
+ "items": {
43
+ "$ref": "#/$defs/source"
44
+ },
45
+ "minItems": 1
46
+ }
47
+ },
48
+ "required": ["text", "sources"]
49
+ },
50
+ "day": {
51
+ "type": "object",
52
+ "properties": {
53
+ "date": {
54
+ "type": "string",
55
+ "format": "date"
56
+ },
57
+ "name": {
58
+ "type": "string"
59
+ },
60
+ "isOffDay": {
61
+ "type": "boolean"
62
+ }
63
+ },
64
+ "required": ["date", "name", "isOffDay"]
65
+ },
66
+ "year": {
67
+ "type": "object",
68
+ "properties": {
69
+ "schemaVersion": {
70
+ "const": 1
71
+ },
72
+ "year": {
73
+ "type": "integer"
74
+ },
75
+ "updatedAt": {
76
+ "type": "string",
77
+ "format": "date"
78
+ },
79
+ "sources": {
80
+ "type": "array",
81
+ "items": {
82
+ "$ref": "#/$defs/source"
83
+ }
84
+ },
85
+ "days": {
86
+ "type": "array",
87
+ "items": {
88
+ "$ref": "#/$defs/day"
89
+ }
90
+ }
91
+ },
92
+ "required": ["schemaVersion", "year", "updatedAt", "sources", "days"]
93
+ },
94
+ "rule": {
95
+ "oneOf": [
96
+ {
97
+ "type": "object",
98
+ "properties": {
99
+ "calendar": {
100
+ "enum": ["lunar", "solar"]
101
+ },
102
+ "month": {
103
+ "type": "integer",
104
+ "minimum": 1,
105
+ "maximum": 12
106
+ },
107
+ "day": {
108
+ "type": "integer",
109
+ "minimum": 1,
110
+ "maximum": 31
111
+ }
112
+ },
113
+ "required": ["calendar", "month", "day"]
114
+ },
115
+ {
116
+ "type": "object",
117
+ "properties": {
118
+ "calendar": {
119
+ "const": "solar-term"
120
+ },
121
+ "term": {
122
+ "type": "string"
123
+ }
124
+ },
125
+ "required": ["calendar", "term"]
126
+ },
127
+ {
128
+ "type": "object",
129
+ "properties": {
130
+ "calendar": {
131
+ "const": "lunar-eve"
132
+ }
133
+ },
134
+ "required": ["calendar"]
135
+ }
136
+ ]
137
+ },
138
+ "festival": {
139
+ "type": "object",
140
+ "properties": {
141
+ "id": {
142
+ "type": "string"
143
+ },
144
+ "name": {
145
+ "type": "string"
146
+ },
147
+ "rule": {
148
+ "$ref": "#/$defs/rule"
149
+ },
150
+ "description": {
151
+ "$ref": "#/$defs/text"
152
+ },
153
+ "origin": {
154
+ "$ref": "#/$defs/text"
155
+ },
156
+ "customs": {
157
+ "$ref": "#/$defs/text"
158
+ }
159
+ },
160
+ "required": ["id", "name", "rule", "description", "origin", "customs"]
161
+ },
162
+ "data": {
163
+ "type": "object",
164
+ "properties": {
165
+ "schemaVersion": {
166
+ "const": 1
167
+ },
168
+ "updatedAt": {
169
+ "type": "string",
170
+ "format": "date"
171
+ },
172
+ "years": {
173
+ "type": "array",
174
+ "items": {
175
+ "$ref": "#/$defs/year"
176
+ }
177
+ },
178
+ "festivals": {
179
+ "type": "array",
180
+ "items": {
181
+ "$ref": "#/$defs/festival"
182
+ }
183
+ }
184
+ },
185
+ "required": ["schemaVersion", "updatedAt", "years", "festivals"]
186
+ }
187
+ }
188
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "year": 2024,
4
+ "updatedAt": "2026-10-25",
5
+ "sources": [
6
+ {
7
+ "title": "2024 年部分节假日安排公告",
8
+ "publisher": "国务院办公厅",
9
+ "url": "https://www.gov.cn/zhengce/zhengceku/202310/content_6911528.htm",
10
+ "accessedAt": "2026-10-25"
11
+ }
12
+ ],
13
+ "days": [
14
+ {
15
+ "name": "元旦",
16
+ "date": "2024-01-01",
17
+ "isOffDay": true
18
+ },
19
+ {
20
+ "name": "春节",
21
+ "date": "2024-02-04",
22
+ "isOffDay": false
23
+ },
24
+ {
25
+ "name": "春节",
26
+ "date": "2024-02-10",
27
+ "isOffDay": true
28
+ },
29
+ {
30
+ "name": "春节",
31
+ "date": "2024-02-11",
32
+ "isOffDay": true
33
+ },
34
+ {
35
+ "name": "春节",
36
+ "date": "2024-02-12",
37
+ "isOffDay": true
38
+ },
39
+ {
40
+ "name": "春节",
41
+ "date": "2024-02-13",
42
+ "isOffDay": true
43
+ },
44
+ {
45
+ "name": "春节",
46
+ "date": "2024-02-14",
47
+ "isOffDay": true
48
+ },
49
+ {
50
+ "name": "春节",
51
+ "date": "2024-02-15",
52
+ "isOffDay": true
53
+ },
54
+ {
55
+ "name": "春节",
56
+ "date": "2024-02-16",
57
+ "isOffDay": true
58
+ },
59
+ {
60
+ "name": "春节",
61
+ "date": "2024-02-17",
62
+ "isOffDay": true
63
+ },
64
+ {
65
+ "name": "春节",
66
+ "date": "2024-02-18",
67
+ "isOffDay": false
68
+ },
69
+ {
70
+ "name": "清明节",
71
+ "date": "2024-04-04",
72
+ "isOffDay": true
73
+ },
74
+ {
75
+ "name": "清明节",
76
+ "date": "2024-04-05",
77
+ "isOffDay": true
78
+ },
79
+ {
80
+ "name": "清明节",
81
+ "date": "2024-04-06",
82
+ "isOffDay": true
83
+ },
84
+ {
85
+ "name": "清明节",
86
+ "date": "2024-04-07",
87
+ "isOffDay": false
88
+ },
89
+ {
90
+ "name": "劳动节",
91
+ "date": "2024-04-28",
92
+ "isOffDay": false
93
+ },
94
+ {
95
+ "name": "劳动节",
96
+ "date": "2024-05-01",
97
+ "isOffDay": true
98
+ },
99
+ {
100
+ "name": "劳动节",
101
+ "date": "2024-05-02",
102
+ "isOffDay": true
103
+ },
104
+ {
105
+ "name": "劳动节",
106
+ "date": "2024-05-03",
107
+ "isOffDay": true
108
+ },
109
+ {
110
+ "name": "劳动节",
111
+ "date": "2024-05-04",
112
+ "isOffDay": true
113
+ },
114
+ {
115
+ "name": "劳动节",
116
+ "date": "2024-05-05",
117
+ "isOffDay": true
118
+ },
119
+ {
120
+ "name": "劳动节",
121
+ "date": "2024-05-11",
122
+ "isOffDay": false
123
+ },
124
+ {
125
+ "name": "端午节",
126
+ "date": "2024-06-10",
127
+ "isOffDay": true
128
+ },
129
+ {
130
+ "name": "中秋节",
131
+ "date": "2024-09-14",
132
+ "isOffDay": false
133
+ },
134
+ {
135
+ "name": "中秋节",
136
+ "date": "2024-09-15",
137
+ "isOffDay": true
138
+ },
139
+ {
140
+ "name": "中秋节",
141
+ "date": "2024-09-16",
142
+ "isOffDay": true
143
+ },
144
+ {
145
+ "name": "中秋节",
146
+ "date": "2024-09-17",
147
+ "isOffDay": true
148
+ },
149
+ {
150
+ "name": "国庆节",
151
+ "date": "2024-09-29",
152
+ "isOffDay": false
153
+ },
154
+ {
155
+ "name": "国庆节",
156
+ "date": "2024-10-01",
157
+ "isOffDay": true
158
+ },
159
+ {
160
+ "name": "国庆节",
161
+ "date": "2024-10-02",
162
+ "isOffDay": true
163
+ },
164
+ {
165
+ "name": "国庆节",
166
+ "date": "2024-10-03",
167
+ "isOffDay": true
168
+ },
169
+ {
170
+ "name": "国庆节",
171
+ "date": "2024-10-04",
172
+ "isOffDay": true
173
+ },
174
+ {
175
+ "name": "国庆节",
176
+ "date": "2024-10-05",
177
+ "isOffDay": true
178
+ },
179
+ {
180
+ "name": "国庆节",
181
+ "date": "2024-10-06",
182
+ "isOffDay": true
183
+ },
184
+ {
185
+ "name": "国庆节",
186
+ "date": "2024-10-07",
187
+ "isOffDay": true
188
+ },
189
+ {
190
+ "name": "国庆节",
191
+ "date": "2024-10-12",
192
+ "isOffDay": false
193
+ }
194
+ ]
195
+ }
@@ -0,0 +1,180 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "year": 2025,
4
+ "updatedAt": "2026-10-25",
5
+ "sources": [
6
+ {
7
+ "title": "2025 年部分节假日安排公告",
8
+ "publisher": "国务院办公厅",
9
+ "url": "https://www.gov.cn/zhengce/zhengceku/202411/content_6986383.htm",
10
+ "accessedAt": "2026-10-25"
11
+ }
12
+ ],
13
+ "days": [
14
+ {
15
+ "name": "元旦",
16
+ "date": "2025-01-01",
17
+ "isOffDay": true
18
+ },
19
+ {
20
+ "name": "春节",
21
+ "date": "2025-01-26",
22
+ "isOffDay": false
23
+ },
24
+ {
25
+ "name": "春节",
26
+ "date": "2025-01-28",
27
+ "isOffDay": true
28
+ },
29
+ {
30
+ "name": "春节",
31
+ "date": "2025-01-29",
32
+ "isOffDay": true
33
+ },
34
+ {
35
+ "name": "春节",
36
+ "date": "2025-01-30",
37
+ "isOffDay": true
38
+ },
39
+ {
40
+ "name": "春节",
41
+ "date": "2025-01-31",
42
+ "isOffDay": true
43
+ },
44
+ {
45
+ "name": "春节",
46
+ "date": "2025-02-01",
47
+ "isOffDay": true
48
+ },
49
+ {
50
+ "name": "春节",
51
+ "date": "2025-02-02",
52
+ "isOffDay": true
53
+ },
54
+ {
55
+ "name": "春节",
56
+ "date": "2025-02-03",
57
+ "isOffDay": true
58
+ },
59
+ {
60
+ "name": "春节",
61
+ "date": "2025-02-04",
62
+ "isOffDay": true
63
+ },
64
+ {
65
+ "name": "春节",
66
+ "date": "2025-02-08",
67
+ "isOffDay": false
68
+ },
69
+ {
70
+ "name": "清明节",
71
+ "date": "2025-04-04",
72
+ "isOffDay": true
73
+ },
74
+ {
75
+ "name": "清明节",
76
+ "date": "2025-04-05",
77
+ "isOffDay": true
78
+ },
79
+ {
80
+ "name": "清明节",
81
+ "date": "2025-04-06",
82
+ "isOffDay": true
83
+ },
84
+ {
85
+ "name": "劳动节",
86
+ "date": "2025-04-27",
87
+ "isOffDay": false
88
+ },
89
+ {
90
+ "name": "劳动节",
91
+ "date": "2025-05-01",
92
+ "isOffDay": true
93
+ },
94
+ {
95
+ "name": "劳动节",
96
+ "date": "2025-05-02",
97
+ "isOffDay": true
98
+ },
99
+ {
100
+ "name": "劳动节",
101
+ "date": "2025-05-03",
102
+ "isOffDay": true
103
+ },
104
+ {
105
+ "name": "劳动节",
106
+ "date": "2025-05-04",
107
+ "isOffDay": true
108
+ },
109
+ {
110
+ "name": "劳动节",
111
+ "date": "2025-05-05",
112
+ "isOffDay": true
113
+ },
114
+ {
115
+ "name": "端午节",
116
+ "date": "2025-05-31",
117
+ "isOffDay": true
118
+ },
119
+ {
120
+ "name": "端午节",
121
+ "date": "2025-06-01",
122
+ "isOffDay": true
123
+ },
124
+ {
125
+ "name": "端午节",
126
+ "date": "2025-06-02",
127
+ "isOffDay": true
128
+ },
129
+ {
130
+ "name": "国庆节、中秋节",
131
+ "date": "2025-09-28",
132
+ "isOffDay": false
133
+ },
134
+ {
135
+ "name": "国庆节、中秋节",
136
+ "date": "2025-10-01",
137
+ "isOffDay": true
138
+ },
139
+ {
140
+ "name": "国庆节、中秋节",
141
+ "date": "2025-10-02",
142
+ "isOffDay": true
143
+ },
144
+ {
145
+ "name": "国庆节、中秋节",
146
+ "date": "2025-10-03",
147
+ "isOffDay": true
148
+ },
149
+ {
150
+ "name": "国庆节、中秋节",
151
+ "date": "2025-10-04",
152
+ "isOffDay": true
153
+ },
154
+ {
155
+ "name": "国庆节、中秋节",
156
+ "date": "2025-10-05",
157
+ "isOffDay": true
158
+ },
159
+ {
160
+ "name": "国庆节、中秋节",
161
+ "date": "2025-10-06",
162
+ "isOffDay": true
163
+ },
164
+ {
165
+ "name": "国庆节、中秋节",
166
+ "date": "2025-10-07",
167
+ "isOffDay": true
168
+ },
169
+ {
170
+ "name": "国庆节、中秋节",
171
+ "date": "2025-10-08",
172
+ "isOffDay": true
173
+ },
174
+ {
175
+ "name": "国庆节、中秋节",
176
+ "date": "2025-10-11",
177
+ "isOffDay": false
178
+ }
179
+ ]
180
+ }