@qingwu-ui/holiday-data 0.0.0-stage → 1.1.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.1.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,215 @@
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
+ "missingHolidays": {
92
+ "type": "array",
93
+ "items": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ },
97
+ "description": "非空表示该年度仅部分收录,列出尚未核实的节假日"
98
+ }
99
+ },
100
+ "required": ["schemaVersion", "year", "updatedAt", "sources", "days"]
101
+ },
102
+ "rule": {
103
+ "oneOf": [
104
+ {
105
+ "type": "object",
106
+ "properties": {
107
+ "calendar": {
108
+ "enum": ["lunar", "solar"]
109
+ },
110
+ "month": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 12
114
+ },
115
+ "day": {
116
+ "type": "integer",
117
+ "minimum": 1,
118
+ "maximum": 31
119
+ }
120
+ },
121
+ "required": ["calendar", "month", "day"]
122
+ },
123
+ {
124
+ "type": "object",
125
+ "properties": {
126
+ "calendar": {
127
+ "const": "solar-term"
128
+ },
129
+ "term": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "required": ["calendar", "term"]
134
+ },
135
+ {
136
+ "type": "object",
137
+ "properties": {
138
+ "calendar": {
139
+ "const": "lunar-eve"
140
+ }
141
+ },
142
+ "required": ["calendar"]
143
+ }
144
+ ]
145
+ },
146
+ "festival": {
147
+ "type": "object",
148
+ "properties": {
149
+ "id": {
150
+ "type": "string"
151
+ },
152
+ "name": {
153
+ "type": "string"
154
+ },
155
+ "rule": {
156
+ "$ref": "#/$defs/rule"
157
+ },
158
+ "description": {
159
+ "$ref": "#/$defs/text"
160
+ },
161
+ "origin": {
162
+ "$ref": "#/$defs/text"
163
+ },
164
+ "customs": {
165
+ "$ref": "#/$defs/text"
166
+ }
167
+ },
168
+ "required": ["id", "name", "rule", "description", "origin", "customs"]
169
+ },
170
+ "data": {
171
+ "type": "object",
172
+ "properties": {
173
+ "schemaVersion": {
174
+ "const": 1
175
+ },
176
+ "updatedAt": {
177
+ "type": "string",
178
+ "format": "date"
179
+ },
180
+ "years": {
181
+ "type": "array",
182
+ "items": {
183
+ "$ref": "#/$defs/year"
184
+ }
185
+ },
186
+ "festivals": {
187
+ "type": "array",
188
+ "items": {
189
+ "$ref": "#/$defs/festival"
190
+ }
191
+ },
192
+ "coverage": {
193
+ "type": "object",
194
+ "properties": {
195
+ "startYear": {
196
+ "type": "integer"
197
+ },
198
+ "endYear": {
199
+ "type": "integer"
200
+ },
201
+ "missingYears": {
202
+ "type": "array",
203
+ "items": {
204
+ "type": "integer"
205
+ },
206
+ "uniqueItems": true
207
+ }
208
+ },
209
+ "required": ["startYear", "endYear", "missingYears"]
210
+ }
211
+ },
212
+ "required": ["schemaVersion", "updatedAt", "years", "festivals"]
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,151 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "year": 2001,
4
+ "updatedAt": "2026-10-25",
5
+ "sources": [
6
+ {
7
+ "title": "转发国务院办公厅关于2001年春节、“五一”、“十一”放假安排的通知",
8
+ "publisher": "福建省人民政府办公厅",
9
+ "url": "https://zfgb.fj.gov.cn/945",
10
+ "accessedAt": "2026-10-25"
11
+ }
12
+ ],
13
+ "days": [
14
+ {
15
+ "date": "2001-01-20",
16
+ "name": "春节",
17
+ "isOffDay": false
18
+ },
19
+ {
20
+ "date": "2001-01-21",
21
+ "name": "春节",
22
+ "isOffDay": false
23
+ },
24
+ {
25
+ "date": "2001-01-24",
26
+ "name": "春节",
27
+ "isOffDay": true
28
+ },
29
+ {
30
+ "date": "2001-01-25",
31
+ "name": "春节",
32
+ "isOffDay": true
33
+ },
34
+ {
35
+ "date": "2001-01-26",
36
+ "name": "春节",
37
+ "isOffDay": true
38
+ },
39
+ {
40
+ "date": "2001-01-27",
41
+ "name": "春节",
42
+ "isOffDay": true
43
+ },
44
+ {
45
+ "date": "2001-01-28",
46
+ "name": "春节",
47
+ "isOffDay": true
48
+ },
49
+ {
50
+ "date": "2001-01-29",
51
+ "name": "春节",
52
+ "isOffDay": true
53
+ },
54
+ {
55
+ "date": "2001-01-30",
56
+ "name": "春节",
57
+ "isOffDay": true
58
+ },
59
+ {
60
+ "date": "2001-04-28",
61
+ "name": "劳动节",
62
+ "isOffDay": false
63
+ },
64
+ {
65
+ "date": "2001-04-29",
66
+ "name": "劳动节",
67
+ "isOffDay": false
68
+ },
69
+ {
70
+ "date": "2001-05-01",
71
+ "name": "劳动节",
72
+ "isOffDay": true
73
+ },
74
+ {
75
+ "date": "2001-05-02",
76
+ "name": "劳动节",
77
+ "isOffDay": true
78
+ },
79
+ {
80
+ "date": "2001-05-03",
81
+ "name": "劳动节",
82
+ "isOffDay": true
83
+ },
84
+ {
85
+ "date": "2001-05-04",
86
+ "name": "劳动节",
87
+ "isOffDay": true
88
+ },
89
+ {
90
+ "date": "2001-05-05",
91
+ "name": "劳动节",
92
+ "isOffDay": true
93
+ },
94
+ {
95
+ "date": "2001-05-06",
96
+ "name": "劳动节",
97
+ "isOffDay": true
98
+ },
99
+ {
100
+ "date": "2001-05-07",
101
+ "name": "劳动节",
102
+ "isOffDay": true
103
+ },
104
+ {
105
+ "date": "2001-09-29",
106
+ "name": "国庆节",
107
+ "isOffDay": false
108
+ },
109
+ {
110
+ "date": "2001-09-30",
111
+ "name": "国庆节",
112
+ "isOffDay": false
113
+ },
114
+ {
115
+ "date": "2001-10-01",
116
+ "name": "国庆节",
117
+ "isOffDay": true
118
+ },
119
+ {
120
+ "date": "2001-10-02",
121
+ "name": "国庆节",
122
+ "isOffDay": true
123
+ },
124
+ {
125
+ "date": "2001-10-03",
126
+ "name": "国庆节",
127
+ "isOffDay": true
128
+ },
129
+ {
130
+ "date": "2001-10-04",
131
+ "name": "国庆节",
132
+ "isOffDay": true
133
+ },
134
+ {
135
+ "date": "2001-10-05",
136
+ "name": "国庆节",
137
+ "isOffDay": true
138
+ },
139
+ {
140
+ "date": "2001-10-06",
141
+ "name": "国庆节",
142
+ "isOffDay": true
143
+ },
144
+ {
145
+ "date": "2001-10-07",
146
+ "name": "国庆节",
147
+ "isOffDay": true
148
+ }
149
+ ],
150
+ "missingHolidays": ["元旦"]
151
+ }
@@ -0,0 +1,175 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "year": 2002,
4
+ "updatedAt": "2026-10-25",
5
+ "sources": [
6
+ {
7
+ "title": "关于2002年部分节假日休息安排的通知",
8
+ "publisher": "福建省人民政府办公厅",
9
+ "url": "https://zfgb.fujian.gov.cn/7038",
10
+ "accessedAt": "2026-10-25"
11
+ }
12
+ ],
13
+ "days": [
14
+ {
15
+ "date": "2001-12-29",
16
+ "name": "元旦",
17
+ "isOffDay": false
18
+ },
19
+ {
20
+ "date": "2001-12-30",
21
+ "name": "元旦",
22
+ "isOffDay": false
23
+ },
24
+ {
25
+ "date": "2002-01-01",
26
+ "name": "元旦",
27
+ "isOffDay": true
28
+ },
29
+ {
30
+ "date": "2002-01-02",
31
+ "name": "元旦",
32
+ "isOffDay": true
33
+ },
34
+ {
35
+ "date": "2002-01-03",
36
+ "name": "元旦",
37
+ "isOffDay": true
38
+ },
39
+ {
40
+ "date": "2002-02-09",
41
+ "name": "春节",
42
+ "isOffDay": false
43
+ },
44
+ {
45
+ "date": "2002-02-10",
46
+ "name": "春节",
47
+ "isOffDay": false
48
+ },
49
+ {
50
+ "date": "2002-02-12",
51
+ "name": "春节",
52
+ "isOffDay": true
53
+ },
54
+ {
55
+ "date": "2002-02-13",
56
+ "name": "春节",
57
+ "isOffDay": true
58
+ },
59
+ {
60
+ "date": "2002-02-14",
61
+ "name": "春节",
62
+ "isOffDay": true
63
+ },
64
+ {
65
+ "date": "2002-02-15",
66
+ "name": "春节",
67
+ "isOffDay": true
68
+ },
69
+ {
70
+ "date": "2002-02-16",
71
+ "name": "春节",
72
+ "isOffDay": true
73
+ },
74
+ {
75
+ "date": "2002-02-17",
76
+ "name": "春节",
77
+ "isOffDay": true
78
+ },
79
+ {
80
+ "date": "2002-02-18",
81
+ "name": "春节",
82
+ "isOffDay": true
83
+ },
84
+ {
85
+ "date": "2002-04-27",
86
+ "name": "劳动节",
87
+ "isOffDay": false
88
+ },
89
+ {
90
+ "date": "2002-04-28",
91
+ "name": "劳动节",
92
+ "isOffDay": false
93
+ },
94
+ {
95
+ "date": "2002-05-01",
96
+ "name": "劳动节",
97
+ "isOffDay": true
98
+ },
99
+ {
100
+ "date": "2002-05-02",
101
+ "name": "劳动节",
102
+ "isOffDay": true
103
+ },
104
+ {
105
+ "date": "2002-05-03",
106
+ "name": "劳动节",
107
+ "isOffDay": true
108
+ },
109
+ {
110
+ "date": "2002-05-04",
111
+ "name": "劳动节",
112
+ "isOffDay": true
113
+ },
114
+ {
115
+ "date": "2002-05-05",
116
+ "name": "劳动节",
117
+ "isOffDay": true
118
+ },
119
+ {
120
+ "date": "2002-05-06",
121
+ "name": "劳动节",
122
+ "isOffDay": true
123
+ },
124
+ {
125
+ "date": "2002-05-07",
126
+ "name": "劳动节",
127
+ "isOffDay": true
128
+ },
129
+ {
130
+ "date": "2002-09-28",
131
+ "name": "国庆节",
132
+ "isOffDay": false
133
+ },
134
+ {
135
+ "date": "2002-09-29",
136
+ "name": "国庆节",
137
+ "isOffDay": false
138
+ },
139
+ {
140
+ "date": "2002-10-01",
141
+ "name": "国庆节",
142
+ "isOffDay": true
143
+ },
144
+ {
145
+ "date": "2002-10-02",
146
+ "name": "国庆节",
147
+ "isOffDay": true
148
+ },
149
+ {
150
+ "date": "2002-10-03",
151
+ "name": "国庆节",
152
+ "isOffDay": true
153
+ },
154
+ {
155
+ "date": "2002-10-04",
156
+ "name": "国庆节",
157
+ "isOffDay": true
158
+ },
159
+ {
160
+ "date": "2002-10-05",
161
+ "name": "国庆节",
162
+ "isOffDay": true
163
+ },
164
+ {
165
+ "date": "2002-10-06",
166
+ "name": "国庆节",
167
+ "isOffDay": true
168
+ },
169
+ {
170
+ "date": "2002-10-07",
171
+ "name": "国庆节",
172
+ "isOffDay": true
173
+ }
174
+ ]
175
+ }