The Node.js® Website
1{
2 "external": [
3 {
4 "source": "/index.html",
5 "destination": "/"
6 },
7 {
8 "source": "/api.html",
9 "destination": "/api"
10 },
11 {
12 "source": "/changelog.html",
13 "destination": "https://github.com/nodejs/node/blob/HEAD/CHANGELOG.md"
14 },
15 {
16 "source": "/calendar",
17 "destination": "https://calendar.google.com/calendar/embed?src=nodejs.org_nr77ama8p7d7f9ajrpnu506c98%40group.calendar.google.com"
18 },
19 {
20 "source": "/calendar.ics",
21 "destination": "https://calendar.google.com/calendar/ical/nodejs.org_nr77ama8p7d7f9ajrpnu506c98%40group.calendar.google.com/public/basic.ics"
22 },
23 {
24 "source": "/:locale/security",
25 "destination": "https://github.com/nodejs/node/security/policy#security"
26 },
27 {
28 "source": "/:locale/contribute/accepting_contributions.html",
29 "destination": "https://github.com/nodejs/dev-policy"
30 },
31 {
32 "source": "/:locale/advisory-board",
33 "destination": "https://github.com/nodejs/TSC"
34 },
35 {
36 "source": "/:locale/about/advisory-board",
37 "destination": "https://github.com/nodejs/TSC"
38 },
39 {
40 "source": "/:locale/about/organization",
41 "destination": "https://github.com/nodejs/TSC"
42 },
43 {
44 "source": "/:locale/about/organization/tsc-meetings",
45 "destination": "https://github.com/nodejs/TSC/tree/HEAD/meetings"
46 },
47 {
48 "source": "/:locale/about/trademark",
49 "destination": "https://trademark-policy.openjsf.org"
50 },
51 {
52 "source": "/:locale/foundation",
53 "destination": "https://openjsf.org"
54 },
55 {
56 "source": "/:locale/foundation/case-studies",
57 "destination": "https://openjsf.org/projects"
58 },
59 {
60 "source": "/:locale/foundation/members",
61 "destination": "https://openjsf.org/about/members"
62 },
63 {
64 "source": "/:locale/foundation/board",
65 "destination": "https://openjsf.org/about/governance"
66 },
67 {
68 "source": "/:locale/foundation/tsc",
69 "destination": "https://github.com/nodejs/TSC"
70 },
71 {
72 "source": "/:locale/foundation/certification",
73 "destination": "https://openjsf.org/certification"
74 },
75 {
76 "source": "/:locale/foundation/in-the-news",
77 "destination": "https://openjsf.org"
78 },
79 {
80 "source": "/:locale/foundation/announcements",
81 "destination": "https://openjsf.org/blog"
82 },
83 {
84 "source": "/:locale/foundation/education",
85 "destination": "https://openjsf.org/certification"
86 },
87 {
88 "source": "/guides",
89 "destination": "/en/learn"
90 },
91 {
92 "source": "/about",
93 "destination": "/en/about"
94 },
95 {
96 "source": "/community",
97 "destination": "/en/get-involved"
98 },
99 {
100 "source": "/contribute/:path*",
101 "destination": "/en/get-involved"
102 },
103 {
104 "source": "/documentation/:path*",
105 "destination": "/en/docs/:path*"
106 },
107 {
108 "source": "/blog/:path*",
109 "destination": "/en/blog/:path*"
110 },
111 {
112 "source": "/:locale/community",
113 "destination": "/:locale/get-involved"
114 },
115 {
116 "source": "/:locale/docs/inspector",
117 "destination": "/:locale/learn/getting-started/debugging"
118 },
119 {
120 "source": "/:locale/contribute/:path*",
121 "destination": "/:locale/get-involved"
122 },
123 {
124 "source": "/:locale/documentation/:path*",
125 "destination": "/:locale/docs/:path*"
126 },
127 {
128 "source": "/(atom|feed|rss).xml",
129 "destination": "/en/feed/blog.xml"
130 },
131 {
132 "source": "/feed",
133 "destination": "/en/feed/blog.xml"
134 },
135 {
136 "source": "/feed/release",
137 "destination": "/en/feed/releases.xml"
138 },
139 {
140 "source": "/feed/vulnerability",
141 "destination": "/en/feed/vulnerability.xml"
142 },
143 {
144 "source": "/(static/|)favicon.ico",
145 "destination": "/static/images/favicons/favicon.png"
146 },
147 {
148 "source": "/(static/|)favicon.png",
149 "destination": "/static/images/favicons/favicon.png"
150 },
151 {
152 "source": "/(static/|)apple-touch-icon(.*).png",
153 "destination": "/static/images/favicons/favicon.png"
154 },
155 {
156 "source": "/(static/)images/logo.svg",
157 "destination": "/static/logos/nodejsLight.svg"
158 },
159 {
160 "source": "/logos/:path*",
161 "destination": "/static/images/logos/:path*"
162 },
163 {
164 "source": "/:locale/download/releases",
165 "destination": "/:locale/about/previous-releases"
166 },
167 {
168 "source": "/:locale/about/security",
169 "destination": "/:locale/about/security-reporting"
170 },
171 {
172 "source": "/:locale/docs",
173 "destination": "https://nodejs.org/docs/latest/api/"
174 },
175 {
176 "source": "/:locale/docs/guides",
177 "destination": "/:locale/guides"
178 },
179 {
180 "source": "/:locale/docs/es6",
181 "destination": "/:locale/learn/getting-started/ecmascript-2015-es6-and-beyond"
182 },
183 {
184 "source": "/:locale/docs/guides/:path*",
185 "destination": "/:locale/guides/:path*"
186 },
187 {
188 "source": "/:locale/guides",
189 "destination": "/:locale/learn"
190 },
191 {
192 "source": "/:locale/guides/getting-started-guide",
193 "destination": "/:locale/learn/getting-started/introduction-to-nodejs"
194 },
195 {
196 "source": "/:locale/guides/blocking-vs-non-blocking",
197 "destination": "/:locale/learn/asynchronous-work/overview-of-blocking-vs-non-blocking"
198 },
199 {
200 "source": "/:locale/guides/timers-in-node",
201 "destination": "/:locale/learn/asynchronous-work/discover-javascript-timers"
202 },
203 {
204 "source": "/:locale/guides/working-with-different-filesystems",
205 "destination": "/:locale/learn/manipulating-files/working-with-different-filesystems"
206 },
207 {
208 "source": "/:locale/guides/anatomy-of-an-http-transaction",
209 "destination": "/:locale/learn/modules/anatomy-of-an-http-transaction"
210 },
211 {
212 "source": "/:locale/guides/backpressuring-in-streams/",
213 "destination": "/:locale/learn/modules/backpressuring-in-streams/"
214 },
215 {
216 "source": "/:locale/guides/publishing-napi-modules",
217 "destination": "/:locale/learn/modules/publishing-node-api-modules"
218 },
219 {
220 "source": "/:locale/guides/simple-profiling",
221 "destination": "/:locale/learn/getting-started/profiling"
222 },
223 {
224 "source": "/:locale/guides/diagnostics-flamegraph",
225 "destination": "/:locale/learn/diagnostics/flame-graphs"
226 },
227 {
228 "source": "/:locale/guides/diagnostics",
229 "destination": "/:locale/learn/diagnostics/user-journey"
230 },
231 {
232 "source": "/:locale/guides/debugging-getting-started",
233 "destination": "/:locale/learn/getting-started/debugging"
234 },
235 {
236 "source": "/:locale/guides/diagnostics/:path*",
237 "destination": "/:locale/learn/diagnostics/:path*"
238 },
239 {
240 "source": "/:locale/guides/abi-stability",
241 "destination": "/:locale/learn/modules/abi-stability"
242 },
243 {
244 "source": "/:locale/guides/security",
245 "destination": "/:locale/learn/getting-started/security-best-practices"
246 },
247 {
248 "source": "/:locale/guides/event-loop-timers-and-nexttick",
249 "destination": "/:locale/learn/asynchronous-work/event-loop-timers-and-nexttick"
250 },
251 {
252 "source": "/:locale/guides/dont-block-the-event-loop",
253 "destination": "/:locale/learn/asynchronous-work/dont-block-the-event-loop"
254 },
255 {
256 "source": "/:locale/get-involved",
257 "destination": "/:locale/about/get-involved"
258 },
259 {
260 "source": "/:locale/get-involved/:path*",
261 "destination": "/:locale/about/get-involved/:path*"
262 },
263 {
264 "source": "/:locale/learn",
265 "destination": "/:locale/learn/getting-started/introduction-to-nodejs"
266 },
267 {
268 "source": "/:locale/about/releases",
269 "destination": "/:locale/about/previous-releases"
270 },
271 {
272 "source": "/:locale/blog/weekly-updates/:path*",
273 "destination": "/:locale/blog/weekly/:path*"
274 }
275 ],
276 "internal": []
277}