@vivliostyle/cli 9.0.0-next.2 → 9.0.0-next.4

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.
Files changed (186) hide show
  1. package/dist/chunk-BIEQXUOY.js +50 -0
  2. package/dist/chunk-DMARNPN5.js +1073 -0
  3. package/dist/chunk-DMGAKSPH.js +590 -0
  4. package/dist/{core/init.js → chunk-E7QOXL6M.js} +39 -26
  5. package/dist/chunk-EX7EA34F.js +64 -0
  6. package/dist/chunk-LASMQBPP.js +85 -0
  7. package/dist/chunk-QC3BOE2G.js +74 -0
  8. package/dist/chunk-VBEHGS67.js +4990 -0
  9. package/dist/chunk-WX6JHPSL.js +16 -0
  10. package/dist/chunk-Y3ETBU5J.js +54 -0
  11. package/dist/cli.d.ts +0 -2
  12. package/dist/cli.js +17 -18
  13. package/dist/commands/build.d.ts +2 -2
  14. package/dist/commands/build.js +165 -17
  15. package/dist/commands/init.d.ts +2 -2
  16. package/dist/commands/init.js +35 -12
  17. package/dist/commands/preview.d.ts +2 -2
  18. package/dist/commands/preview.js +98 -12
  19. package/dist/config/schema.d.ts +1707 -1671
  20. package/dist/config/schema.js +50 -575
  21. package/dist/index.d.ts +116 -7
  22. package/dist/index.js +38 -42
  23. package/dist/node-modules.d.ts +21 -0
  24. package/dist/node-modules.js +9 -0
  25. package/dist/vite-adapter.d.ts +8 -2
  26. package/dist/vite-adapter.js +11 -28
  27. package/package.json +34 -15
  28. package/dist/browser.d.ts +0 -19
  29. package/dist/browser.d.ts.map +0 -1
  30. package/dist/browser.js +0 -154
  31. package/dist/browser.js.map +0 -1
  32. package/dist/cli.d.ts.map +0 -1
  33. package/dist/cli.js.map +0 -1
  34. package/dist/commands/build.d.ts.map +0 -1
  35. package/dist/commands/build.js.map +0 -1
  36. package/dist/commands/build.parser.d.ts +0 -3
  37. package/dist/commands/build.parser.d.ts.map +0 -1
  38. package/dist/commands/build.parser.js +0 -102
  39. package/dist/commands/build.parser.js.map +0 -1
  40. package/dist/commands/cli-flags.d.ts +0 -42
  41. package/dist/commands/cli-flags.d.ts.map +0 -1
  42. package/dist/commands/cli-flags.js +0 -58
  43. package/dist/commands/cli-flags.js.map +0 -1
  44. package/dist/commands/init.d.ts.map +0 -1
  45. package/dist/commands/init.js.map +0 -1
  46. package/dist/commands/init.parser.d.ts +0 -3
  47. package/dist/commands/init.parser.d.ts.map +0 -1
  48. package/dist/commands/init.parser.js +0 -17
  49. package/dist/commands/init.parser.js.map +0 -1
  50. package/dist/commands/preview.d.ts.map +0 -1
  51. package/dist/commands/preview.js.map +0 -1
  52. package/dist/commands/preview.parser.d.ts +0 -3
  53. package/dist/commands/preview.parser.d.ts.map +0 -1
  54. package/dist/commands/preview.parser.js +0 -50
  55. package/dist/commands/preview.parser.js.map +0 -1
  56. package/dist/config/load.d.ts +0 -4
  57. package/dist/config/load.d.ts.map +0 -1
  58. package/dist/config/load.js +0 -75
  59. package/dist/config/load.js.map +0 -1
  60. package/dist/config/merge.d.ts +0 -4
  61. package/dist/config/merge.d.ts.map +0 -1
  62. package/dist/config/merge.js +0 -55
  63. package/dist/config/merge.js.map +0 -1
  64. package/dist/config/resolve.d.ts +0 -205
  65. package/dist/config/resolve.d.ts.map +0 -1
  66. package/dist/config/resolve.js +0 -770
  67. package/dist/config/resolve.js.map +0 -1
  68. package/dist/config/schema.d.ts.map +0 -1
  69. package/dist/config/schema.js.map +0 -1
  70. package/dist/config/vite.d.ts +0 -6
  71. package/dist/config/vite.d.ts.map +0 -1
  72. package/dist/config/vite.js +0 -47
  73. package/dist/config/vite.js.map +0 -1
  74. package/dist/const.d.ts +0 -20
  75. package/dist/const.d.ts.map +0 -1
  76. package/dist/const.js +0 -41
  77. package/dist/const.js.map +0 -1
  78. package/dist/container.d.ts +0 -21
  79. package/dist/container.d.ts.map +0 -1
  80. package/dist/container.js +0 -175
  81. package/dist/container.js.map +0 -1
  82. package/dist/core/build.d.ts +0 -3
  83. package/dist/core/build.d.ts.map +0 -1
  84. package/dist/core/build.js +0 -167
  85. package/dist/core/build.js.map +0 -1
  86. package/dist/core/init.d.ts +0 -3
  87. package/dist/core/init.d.ts.map +0 -1
  88. package/dist/core/init.js.map +0 -1
  89. package/dist/core/preview.d.ts +0 -4
  90. package/dist/core/preview.d.ts.map +0 -1
  91. package/dist/core/preview.js +0 -113
  92. package/dist/core/preview.js.map +0 -1
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js.map +0 -1
  95. package/dist/logger.d.ts +0 -23
  96. package/dist/logger.d.ts.map +0 -1
  97. package/dist/logger.js +0 -162
  98. package/dist/logger.js.map +0 -1
  99. package/dist/output/epub.d.ts +0 -10
  100. package/dist/output/epub.d.ts.map +0 -1
  101. package/dist/output/epub.js +0 -505
  102. package/dist/output/epub.js.map +0 -1
  103. package/dist/output/pdf-postprocess.d.ts +0 -30
  104. package/dist/output/pdf-postprocess.d.ts.map +0 -1
  105. package/dist/output/pdf-postprocess.js +0 -270
  106. package/dist/output/pdf-postprocess.js.map +0 -1
  107. package/dist/output/pdf.d.ts +0 -6
  108. package/dist/output/pdf.d.ts.map +0 -1
  109. package/dist/output/pdf.js +0 -200
  110. package/dist/output/pdf.js.map +0 -1
  111. package/dist/output/webbook.d.ts +0 -45
  112. package/dist/output/webbook.d.ts.map +0 -1
  113. package/dist/output/webbook.js +0 -413
  114. package/dist/output/webbook.js.map +0 -1
  115. package/dist/processor/compile.d.ts +0 -30
  116. package/dist/processor/compile.d.ts.map +0 -1
  117. package/dist/processor/compile.js +0 -349
  118. package/dist/processor/compile.js.map +0 -1
  119. package/dist/processor/html.d.ts +0 -107
  120. package/dist/processor/html.d.ts.map +0 -1
  121. package/dist/processor/html.js +0 -494
  122. package/dist/processor/html.js.map +0 -1
  123. package/dist/processor/markdown.d.ts +0 -12
  124. package/dist/processor/markdown.d.ts.map +0 -1
  125. package/dist/processor/markdown.js +0 -23
  126. package/dist/processor/markdown.js.map +0 -1
  127. package/dist/processor/theme.d.ts +0 -4
  128. package/dist/processor/theme.d.ts.map +0 -1
  129. package/dist/processor/theme.js +0 -41
  130. package/dist/processor/theme.js.map +0 -1
  131. package/dist/schema/pub-manifest.d.ts +0 -4
  132. package/dist/schema/pub-manifest.d.ts.map +0 -1
  133. package/dist/schema/pub-manifest.js +0 -41
  134. package/dist/schema/pub-manifest.js.map +0 -1
  135. package/dist/schema/publication.schema.d.ts +0 -104
  136. package/dist/schema/publication.schema.d.ts.map +0 -1
  137. package/dist/schema/publication.schema.js +0 -8
  138. package/dist/schema/publication.schema.js.map +0 -1
  139. package/dist/server.d.ts +0 -20
  140. package/dist/server.d.ts.map +0 -1
  141. package/dist/server.js +0 -117
  142. package/dist/server.js.map +0 -1
  143. package/dist/util.d.ts +0 -55
  144. package/dist/util.d.ts.map +0 -1
  145. package/dist/util.js +0 -269
  146. package/dist/util.js.map +0 -1
  147. package/dist/vite/plugin-util.d.ts +0 -6
  148. package/dist/vite/plugin-util.d.ts.map +0 -1
  149. package/dist/vite/plugin-util.js +0 -18
  150. package/dist/vite/plugin-util.js.map +0 -1
  151. package/dist/vite/vite-plugin-browser.d.ts +0 -8
  152. package/dist/vite/vite-plugin-browser.d.ts.map +0 -1
  153. package/dist/vite/vite-plugin-browser.js +0 -54
  154. package/dist/vite/vite-plugin-browser.js.map +0 -1
  155. package/dist/vite/vite-plugin-dev-server.d.ts +0 -8
  156. package/dist/vite/vite-plugin-dev-server.d.ts.map +0 -1
  157. package/dist/vite/vite-plugin-dev-server.js +0 -270
  158. package/dist/vite/vite-plugin-dev-server.js.map +0 -1
  159. package/dist/vite/vite-plugin-static-serve.d.ts +0 -8
  160. package/dist/vite/vite-plugin-static-serve.d.ts.map +0 -1
  161. package/dist/vite/vite-plugin-static-serve.js +0 -31
  162. package/dist/vite/vite-plugin-static-serve.js.map +0 -1
  163. package/dist/vite/vite-plugin-viewer.d.ts +0 -8
  164. package/dist/vite/vite-plugin-viewer.d.ts.map +0 -1
  165. package/dist/vite/vite-plugin-viewer.js +0 -52
  166. package/dist/vite/vite-plugin-viewer.js.map +0 -1
  167. package/dist/vite-adapter.d.ts.map +0 -1
  168. package/dist/vite-adapter.js.map +0 -1
  169. package/schemas/pub-manifest/README.md +0 -5
  170. package/schemas/pub-manifest/module/ItemList.schema.json +0 -32
  171. package/schemas/pub-manifest/module/bcp.schema.json +0 -7
  172. package/schemas/pub-manifest/module/context.schema.json +0 -62
  173. package/schemas/pub-manifest/module/contributor-object.schema.json +0 -42
  174. package/schemas/pub-manifest/module/contributor.schema.json +0 -26
  175. package/schemas/pub-manifest/module/date.schema.json +0 -7
  176. package/schemas/pub-manifest/module/duration.schema.json +0 -7
  177. package/schemas/pub-manifest/module/item-lists.schema.json +0 -16
  178. package/schemas/pub-manifest/module/language.schema.json +0 -16
  179. package/schemas/pub-manifest/module/link.schema.json +0 -60
  180. package/schemas/pub-manifest/module/localizable-object.schema.json +0 -15
  181. package/schemas/pub-manifest/module/localizable.schema.json +0 -26
  182. package/schemas/pub-manifest/module/resource.categorization.schema.json +0 -31
  183. package/schemas/pub-manifest/module/strings.schema.json +0 -9
  184. package/schemas/pub-manifest/module/url.schema.json +0 -7
  185. package/schemas/pub-manifest/module/urls.schema.json +0 -18
  186. package/schemas/pub-manifest/publication.schema.json +0 -123
@@ -1,413 +0,0 @@
1
- import { copy, remove } from 'fs-extra/esm';
2
- import { lookup as mime } from 'mime-types';
3
- import fs from 'node:fs';
4
- import { pathToFileURL } from 'node:url';
5
- import { glob } from 'tinyglobby';
6
- import upath from 'upath';
7
- import { isWebbookConfig, } from '../config/resolve.js';
8
- import { MANIFEST_FILENAME } from '../const.js';
9
- import { Logger } from '../logger.js';
10
- import { getIgnoreAssetPatterns, getIgnoreThemeExamplePatterns, globAssetFiles, } from '../processor/compile.js';
11
- import { createVirtualConsole, fetchLinkedPublicationManifest, getJsdomFromUrlOrFile, ResourceLoader, } from '../processor/html.js';
12
- import { assertPubManifestSchema, DetailError, pathEquals, useTmpDirectory, } from '../util.js';
13
- import { exportEpub } from './epub.js';
14
- function sortManifestResources(manifest) {
15
- if (!Array.isArray(manifest.resources)) {
16
- return;
17
- }
18
- manifest.resources = [...manifest.resources].sort((a, b) => (typeof a === 'string' ? a : a.url) > (typeof b === 'string' ? b : b.url)
19
- ? 1
20
- : -1);
21
- }
22
- export async function prepareWebPublicationDirectory({ outputDir, }) {
23
- if (fs.existsSync(outputDir)) {
24
- Logger.debug('going to remove existing webpub', outputDir);
25
- await remove(outputDir);
26
- }
27
- fs.mkdirSync(outputDir, { recursive: true });
28
- }
29
- function transformPublicationManifest(entity, transformer) {
30
- const { url: transformUrl } = transformer;
31
- const transformUrlOrPublicationLinks = (e) => {
32
- if (typeof e === 'string') {
33
- return transformUrl(e);
34
- }
35
- const ret = { ...e };
36
- ret.url = transformUrl(e.url);
37
- return ret;
38
- };
39
- const ret = { ...entity };
40
- for (const [key, tr] of Object.entries({
41
- conformsTo: transformUrl,
42
- url: transformUrl,
43
- readingOrder: transformUrlOrPublicationLinks,
44
- resources: transformUrlOrPublicationLinks,
45
- links: transformUrlOrPublicationLinks,
46
- })) {
47
- if (key in ret) {
48
- ret[key] = Array.isArray(ret[key])
49
- ? ret[key].map(tr)
50
- : tr(ret[key]);
51
- }
52
- }
53
- return ret;
54
- }
55
- export function decodePublicationManifest(input) {
56
- return transformPublicationManifest(input, {
57
- url: decodeURI,
58
- });
59
- }
60
- function encodePublicationManifest(input) {
61
- return transformPublicationManifest(input, {
62
- url: encodeURI,
63
- });
64
- }
65
- // https://www.w3.org/TR/pub-manifest/
66
- export function writePublicationManifest(output, options) {
67
- const entries = options.entries.map((entry) => ({
68
- url: entry.path,
69
- ...(entry.title && { name: entry.title }),
70
- ...(entry.encodingFormat && { encodingFormat: entry.encodingFormat }),
71
- ...(entry.rel && { rel: entry.rel }),
72
- ...((entry.rel === 'contents' || entry.rel === 'cover') && {
73
- type: 'LinkedResource',
74
- }),
75
- }));
76
- const links = [
77
- options.links || [],
78
- ].flat();
79
- const resources = [
80
- options.resources || [],
81
- ].flat();
82
- if (options.cover) {
83
- const mimeType = mime(options.cover.url);
84
- if (mimeType) {
85
- resources.push({
86
- rel: 'cover',
87
- url: options.cover.url,
88
- name: options.cover.name,
89
- encodingFormat: mimeType,
90
- });
91
- }
92
- else {
93
- Logger.logWarn(`Cover image "${options.cover}" was set in your configuration but couldn’t detect the image metadata. Please check a valid cover file is placed.`);
94
- }
95
- }
96
- const publication = {
97
- '@context': ['https://schema.org', 'https://www.w3.org/ns/pub-context'],
98
- type: 'Book',
99
- conformsTo: 'https://github.com/vivliostyle/vivliostyle-cli',
100
- ...(options.title && { name: options.title }),
101
- ...(options.author && { author: options.author }),
102
- ...(options.language && { inLanguage: options.language }),
103
- ...(options.readingProgression && {
104
- readingProgression: options.readingProgression,
105
- }),
106
- dateModified: options.modified,
107
- readingOrder: entries,
108
- resources,
109
- links,
110
- };
111
- const encodedManifest = encodePublicationManifest(publication);
112
- Logger.debug('writePublicationManifest path: %s content: %O', output, encodedManifest);
113
- try {
114
- assertPubManifestSchema(encodedManifest);
115
- }
116
- catch (error) {
117
- const thrownError = error;
118
- throw new DetailError(`Validation of publication manifest failed. Please check the schema: ${output}`, typeof thrownError === 'string'
119
- ? thrownError
120
- : (thrownError.stack ?? thrownError.message));
121
- }
122
- fs.mkdirSync(upath.dirname(output), { recursive: true });
123
- fs.writeFileSync(output, JSON.stringify(encodedManifest, null, 2));
124
- return publication;
125
- }
126
- export async function retrieveWebbookEntry({ viewerInput, outputDir, }) {
127
- const webbookEntryUrl = viewerInput.webbookPath
128
- ? pathToFileURL(viewerInput.webbookPath).href
129
- : viewerInput.webbookEntryUrl;
130
- if (/^https?:/i.test(webbookEntryUrl)) {
131
- Logger.logUpdate('Fetching remote contents');
132
- }
133
- const resourceLoader = new ResourceLoader();
134
- const dom = await getJsdomFromUrlOrFile({
135
- src: webbookEntryUrl,
136
- resourceLoader,
137
- });
138
- const entryHtml = viewerInput.webbookPath
139
- ? upath.basename(viewerInput.webbookPath)
140
- : decodeURI(dom.window.location.pathname);
141
- const { manifest, manifestUrl } = (await fetchLinkedPublicationManifest({
142
- dom,
143
- resourceLoader,
144
- baseUrl: webbookEntryUrl,
145
- })) || {};
146
- const rootUrl = /^https?:/i.test(webbookEntryUrl)
147
- ? new URL('/', webbookEntryUrl).href
148
- : new URL('.', webbookEntryUrl).href;
149
- const pathContains = (url) => !upath.relative(rootUrl, url).startsWith('..');
150
- const retriever = new Map(resourceLoader.fetcherMap);
151
- if (manifest && manifestUrl) {
152
- [manifest.resources || []].flat().forEach((v) => {
153
- const url = typeof v === 'string' ? v : v.url;
154
- const fullUrl = new URL(encodeURI(url), manifestUrl).href;
155
- if (!pathContains(fullUrl) || retriever.has(fullUrl)) {
156
- return;
157
- }
158
- const fetchPromise = resourceLoader.fetch(fullUrl);
159
- if (fetchPromise && !retriever.has(fullUrl)) {
160
- retriever.set(fullUrl, fetchPromise);
161
- }
162
- });
163
- for (const v of [manifest.readingOrder || []].flat()) {
164
- const url = typeof v === 'string' ? v : v.url;
165
- if (!/\.html?$/.test(url) &&
166
- !(typeof v === 'string' || v.encodingFormat === 'text/html')) {
167
- continue;
168
- }
169
- const fullUrl = new URL(encodeURI(url), manifestUrl).href;
170
- if (!pathContains(fullUrl) || fullUrl === webbookEntryUrl) {
171
- continue;
172
- }
173
- const subpathResourceLoader = new ResourceLoader();
174
- await getJsdomFromUrlOrFile({
175
- src: fullUrl,
176
- resourceLoader: subpathResourceLoader,
177
- virtualConsole: createVirtualConsole((error) => {
178
- Logger.logError(`Failed to fetch webbook resources: ${error.detail}`);
179
- }),
180
- });
181
- subpathResourceLoader.fetcherMap.forEach((v, k) => !retriever.has(k) && retriever.set(k, v));
182
- }
183
- }
184
- const fetchedResources = await ResourceLoader.saveFetchedResources({
185
- fetcherMap: retriever,
186
- rootUrl: webbookEntryUrl,
187
- outputDir,
188
- /* v8 ignore next 4 */
189
- onError: (error) => {
190
- Logger.debug(error);
191
- Logger.logError(`Failed to fetch webbook resources: ${error}`);
192
- },
193
- });
194
- if (manifest) {
195
- const referencedContents = [
196
- ...[manifest.readingOrder || []].flat(),
197
- ...[manifest.resources || []].flat(),
198
- ].map((v) => (typeof v === 'string' ? v : v.url));
199
- manifest.resources = [
200
- ...[manifest.resources || []].flat(),
201
- ...fetchedResources.filter(({ url }) => !referencedContents.includes(url)),
202
- ];
203
- sortManifestResources(manifest);
204
- }
205
- Logger.debug('Saved webbook resources', fetchedResources.map((v) => v.url));
206
- Logger.debug('Publication manifest from webbook', manifest && JSON.stringify(manifest, null, 2));
207
- return {
208
- entryHtmlFile: upath.join(outputDir, entryHtml),
209
- manifest,
210
- };
211
- }
212
- export async function supplyWebPublicationManifestForWebbook({ entryHtmlFile, outputDir, ...config }) {
213
- Logger.debug(`Generating publication manifest from HTML: ${entryHtmlFile}`);
214
- const dom = await getJsdomFromUrlOrFile({ src: entryHtmlFile });
215
- const { document } = dom.window;
216
- const language = config.language || document.documentElement.lang || undefined;
217
- const title = config.title || document.title || '';
218
- const author = config.author ||
219
- document.querySelector('meta[name="author"]')?.getAttribute('content') ||
220
- '';
221
- const entry = upath.relative(outputDir, entryHtmlFile);
222
- const allFiles = await glob('**', {
223
- cwd: outputDir,
224
- });
225
- const manifest = writePublicationManifest(upath.join(outputDir, MANIFEST_FILENAME), {
226
- title,
227
- author,
228
- language,
229
- readingProgression: config.readingProgression,
230
- modified: new Date().toISOString(),
231
- entries: [{ path: entry }],
232
- resources: allFiles.filter((f) => f !== entry),
233
- });
234
- sortManifestResources(manifest);
235
- const link = document.createElement('link');
236
- link.setAttribute('rel', 'publication');
237
- link.setAttribute('type', 'application/ld+json');
238
- link.setAttribute('href', upath.relative(upath.dirname(entryHtmlFile), upath.join(outputDir, MANIFEST_FILENAME)));
239
- document.head.appendChild(link);
240
- await fs.promises.writeFile(entryHtmlFile, dom.serialize(), 'utf8');
241
- Logger.debug('Generated publication manifest from HTML', JSON.stringify(manifest, null, 2));
242
- return manifest;
243
- }
244
- export async function copyWebPublicationAssets({ exportAliases, outputs, copyAsset, themesDir, manifestPath, input, outputDir, entries, }) {
245
- const relExportAliases = exportAliases
246
- .map(({ source, target }) => ({
247
- source: upath.relative(input, source),
248
- target: upath.relative(input, target),
249
- }))
250
- .filter(({ source }) => !source.startsWith('..'));
251
- const allFiles = new Set([
252
- ...(await globAssetFiles({
253
- copyAsset,
254
- cwd: input,
255
- outputs,
256
- themesDir,
257
- entries,
258
- })),
259
- ...(await glob([
260
- `**/${upath.relative(input, manifestPath)}`,
261
- '**/*.{html,htm,xhtml,xht,css}',
262
- ], {
263
- cwd: input,
264
- ignore: [
265
- ...getIgnoreAssetPatterns({
266
- cwd: input,
267
- outputs,
268
- entries,
269
- }),
270
- ...getIgnoreThemeExamplePatterns({
271
- cwd: input,
272
- themesDir,
273
- }),
274
- // Ignore node_modules in the root directory
275
- 'node_modules/**',
276
- // only include dotfiles starting with `.vs-`
277
- '**/.!(vs-*)/**',
278
- ],
279
- // follow symbolic links to copy local theme packages
280
- followSymbolicLinks: true,
281
- dot: true,
282
- })),
283
- ]);
284
- // Exclude files that will overwrite alias targets
285
- for (const alias of relExportAliases) {
286
- allFiles.delete(alias.target);
287
- }
288
- Logger.debug('webbook files', JSON.stringify([...allFiles].map((file) => {
289
- const alias = relExportAliases.find(({ source }) => source === file);
290
- return alias ? `${file} (alias: ${alias.target})` : file;
291
- }), null, 2));
292
- const resources = [];
293
- let actualManifestPath = upath.join(outputDir, upath.relative(input, manifestPath));
294
- for (const file of allFiles) {
295
- const alias = relExportAliases.find(({ source }) => source === file);
296
- const relTarget = alias?.target || file;
297
- resources.push(relTarget);
298
- const target = upath.join(outputDir, relTarget);
299
- fs.mkdirSync(upath.dirname(target), { recursive: true });
300
- await copy(upath.join(input, file), target);
301
- if (alias && pathEquals(upath.join(input, alias.source), manifestPath)) {
302
- actualManifestPath = target;
303
- }
304
- }
305
- Logger.debug('webbook publication.json', actualManifestPath);
306
- // Overwrite copied publication.json
307
- const manifest = decodePublicationManifest(JSON.parse(fs.readFileSync(actualManifestPath, 'utf8')));
308
- for (const entry of relExportAliases) {
309
- const rewriteAliasPath = (e) => {
310
- if (typeof e === 'string') {
311
- return pathEquals(e, entry.source) ? entry.source : e;
312
- }
313
- if (pathEquals(e.url, entry.source)) {
314
- e.url = entry.target;
315
- }
316
- return e;
317
- };
318
- if (manifest.links) {
319
- manifest.links = Array.isArray(manifest.links)
320
- ? manifest.links.map(rewriteAliasPath)
321
- : rewriteAliasPath(manifest.links);
322
- }
323
- if (manifest.readingOrder) {
324
- manifest.readingOrder = Array.isArray(manifest.readingOrder)
325
- ? manifest.readingOrder.map(rewriteAliasPath)
326
- : rewriteAliasPath(manifest.readingOrder);
327
- }
328
- if (manifest.resources) {
329
- manifest.resources = Array.isArray(manifest.resources)
330
- ? manifest.resources.map(rewriteAliasPath)
331
- : rewriteAliasPath(manifest.resources);
332
- }
333
- }
334
- // List copied files to resources field
335
- const normalizeToUrl = (val) => [val || []].flat().map((e) => (typeof e === 'string' ? e : e.url));
336
- const preDefinedResources = [
337
- ...normalizeToUrl(manifest.links),
338
- ...normalizeToUrl(manifest.readingOrder),
339
- ...normalizeToUrl(manifest.resources),
340
- ];
341
- manifest.resources = [
342
- ...[manifest.resources || []].flat(),
343
- ...resources.flatMap((file) => {
344
- if (preDefinedResources.includes(file) ||
345
- // Omit publication.json itself
346
- pathEquals(file, upath.relative(outputDir, actualManifestPath))) {
347
- return [];
348
- }
349
- return file;
350
- }),
351
- ];
352
- sortManifestResources(manifest);
353
- fs.writeFileSync(actualManifestPath, JSON.stringify(encodePublicationManifest(manifest), null, 2));
354
- return { manifest, actualManifestPath };
355
- }
356
- export async function buildWebPublication({ target, config, }) {
357
- let outputDir;
358
- if (target.format === 'webpub') {
359
- outputDir = target.path;
360
- await prepareWebPublicationDirectory({ outputDir });
361
- }
362
- else {
363
- [outputDir] = await useTmpDirectory();
364
- }
365
- let entryHtmlFile;
366
- let manifest;
367
- let actualManifestPath;
368
- if (config.viewerInput.type === 'webpub') {
369
- const ret = await copyWebPublicationAssets({
370
- ...config,
371
- input: config.workspaceDir,
372
- outputDir,
373
- manifestPath: config.viewerInput.manifestPath,
374
- });
375
- manifest = ret.manifest;
376
- actualManifestPath = ret.actualManifestPath;
377
- if (config.input.format === 'markdown') {
378
- const entry = [manifest.readingOrder].flat()[0];
379
- if (entry) {
380
- entryHtmlFile = upath.join(outputDir, typeof entry === 'string' ? entry : entry.url);
381
- }
382
- }
383
- }
384
- else if (isWebbookConfig(config)) {
385
- const ret = await retrieveWebbookEntry({
386
- viewerInput: config.viewerInput,
387
- outputDir,
388
- });
389
- entryHtmlFile = ret.entryHtmlFile;
390
- manifest =
391
- ret.manifest ||
392
- (await supplyWebPublicationManifestForWebbook({
393
- ...config,
394
- entryHtmlFile: ret.entryHtmlFile,
395
- outputDir,
396
- }));
397
- }
398
- else {
399
- throw new Error('No entry specified');
400
- }
401
- if (target.format === 'epub') {
402
- await exportEpub({
403
- webpubDir: outputDir,
404
- entryHtmlFile,
405
- manifest,
406
- relManifestPath: actualManifestPath && upath.relative(outputDir, actualManifestPath),
407
- target: target.path,
408
- epubVersion: target.version,
409
- });
410
- }
411
- return target.path;
412
- }
413
- //# sourceMappingURL=webbook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webbook.js","sourceRoot":"","sources":["../../src/output/webbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,eAAe,GAIhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,SAAS,qBAAqB,CAAC,QAA6B;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzD,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,SAAS,GAGV;IACC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,4BAA4B,CACnC,MAA2B,EAC3B,WAA6C;IAE7C,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAC1C,MAAM,8BAA8B,GAAG,CACrC,CAAoC,EACpC,EAAE;QACF,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QACrC,UAAU,EAAE,YAAY;QACxB,GAAG,EAAE,YAAY;QACjB,YAAY,EAAE,8BAA8B;QAC5C,SAAS,EAAE,8BAA8B;QACzC,KAAK,EAAE,8BAA8B;KACtC,CAAC,EAAE,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA0B;IAClE,OAAO,4BAA4B,CAAC,KAAK,EAAE;QACzC,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,KAA0B;IAC3D,OAAO,4BAA4B,CAAC,KAAK,EAAE;QACzC,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,wBAAwB,CACtC,MAAc,EACd,OAaC;IAED,MAAM,OAAO,GAAuB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClE,GAAG,EAAE,KAAK,CAAC,IAAI;QACf,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACpC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI;YACzD,IAAI,EAAE,gBAAgB;SACvB,CAAC;KACH,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAA0C;QACnD,OAAO,CAAC,KAAK,IAAI,EAAE;KACpB,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,SAAS,GAA0C;QACvD,OAAO,CAAC,SAAS,IAAI,EAAE;KACxB,CAAC,IAAI,EAAE,CAAC;IAET,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;gBACtB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CACZ,gBAAgB,OAAO,CAAC,KAAK,oHAAoH,CAClJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAwB;QACvC,UAAU,EAAE,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;QACvE,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,gDAAgD;QAC5D,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI;YAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC;QACF,YAAY,EAAE,OAAO,CAAC,QAAQ;QAC9B,YAAY,EAAE,OAAO;QACrB,SAAS;QACT,KAAK;KACN,CAAC;IAEF,MAAM,eAAe,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,CACV,+CAA+C,EAC/C,MAAM,EACN,eAAe,CAChB,CAAC;IACF,IAAI,CAAC;QACH,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,KAAuB,CAAC;QAC5C,MAAM,IAAI,WAAW,CACnB,uEAAuE,MAAM,EAAE,EAC/E,OAAO,WAAW,KAAK,QAAQ;YAC7B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAC/C,CAAC;IACJ,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,WAAW,EACX,SAAS,GAIV;IAIC,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW;QAC7C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI;QAC7C,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC;IAChC,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC;QACtC,GAAG,EAAE,eAAe;QACpB,cAAc;KACf,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW;QACvC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAC7B,CAAC,MAAM,8BAA8B,CAAC;QACpC,GAAG;QACH,cAAc;QACd,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC;QAC/C,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI;QACpC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CACnC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC5B,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9C,IACE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrB,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,KAAK,WAAW,CAAC,EAC5D,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,MAAM,qBAAqB,GAAG,IAAI,cAAc,EAAE,CAAC;YACnD,MAAM,qBAAqB,CAAC;gBAC1B,GAAG,EAAE,OAAO;gBACZ,cAAc,EAAE,qBAAqB;gBACrC,cAAc,EAAE,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC7C,MAAM,CAAC,QAAQ,CAAC,sCAAsC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxE,CAAC,CAAC;aACH,CAAC,CAAC;YACH,qBAAqB,CAAC,UAAU,CAAC,OAAO,CACtC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC;QACjE,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,eAAe;QACxB,SAAS;QACT,sBAAsB;QACtB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,QAAQ,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,kBAAkB,GAAG;YACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACvC,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SACrC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,QAAQ,CAAC,SAAS,GAAG;YACnB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACpC,GAAG,gBAAgB,CAAC,MAAM,CACxB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC/C;SACF,CAAC;QACF,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,KAAK,CACV,yBAAyB,EACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACnC,CAAC;IACF,MAAM,CAAC,KAAK,CACV,mCAAmC,EACnC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QAC/C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAAC,EAC3D,aAAa,EACb,SAAS,EACT,GAAG,MAAM,EAOV;IACC,MAAM,CAAC,KAAK,CAAC,8CAA8C,aAAa,EAAE,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAChC,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnD,MAAM,MAAM,GACV,MAAM,CAAC,MAAM;QACb,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;QACtE,EAAE,CAAC;IAEL,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAChC,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,wBAAwB,CACvC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACxC;QACE,KAAK;QACL,MAAM;QACN,QAAQ;QACR,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC1B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;KAC/C,CACF,CAAC;IACF,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,CACf,MAAM,EACN,KAAK,CAAC,QAAQ,CACZ,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CACzC,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CACV,0CAA0C,EAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,aAAa,EACb,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,EACT,OAAO,GAQR;IACC,MAAM,gBAAgB,GAAG,aAAa;SACnC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACrC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACtC,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,GAAG,CAAC,MAAM,cAAc,CAAC;YACvB,SAAS;YACT,GAAG,EAAE,KAAK;YACV,OAAO;YACP,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,IAAI,CACZ;YACE,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE;YAC3C,+BAA+B;SAChC,EACD;YACE,GAAG,EAAE,KAAK;YACV,MAAM,EAAE;gBACN,GAAG,sBAAsB,CAAC;oBACxB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,OAAO;iBACR,CAAC;gBACF,GAAG,6BAA6B,CAAC;oBAC/B,GAAG,EAAE,KAAK;oBACV,SAAS;iBACV,CAAC;gBACF,4CAA4C;gBAC5C,iBAAiB;gBACjB,6CAA6C;gBAC7C,gBAAgB;aACjB;YACD,qDAAqD;YACrD,mBAAmB,EAAE,IAAI;YACzB,GAAG,EAAE,IAAI;SACV,CACF,CAAC;KACH,CAAC,CAAC;IACH,kDAAkD;IAClD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CACV,eAAe,EACf,IAAI,CAAC,SAAS,CACZ,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC,CAAC,EACF,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACjC,SAAS,EACT,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CACpC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;YACvE,kBAAkB,GAAG,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;IAC7D,oCAAoC;IACpC,MAAM,QAAQ,GAAG,yBAAyB,CACxC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CACxD,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,CAAC,CAA4B,EAAE,EAAE;YACxD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACtC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC1D,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC7C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACpD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC1C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,cAAc,GAAG,CAAC,GAA4B,EAAE,EAAE,CACtD,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG;QAC1B,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,SAAS,GAAG;QACnB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACpC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,IACE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,+BAA+B;gBAC/B,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,EAC/D,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;KACH,CAAC;IACF,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,EAAE,CAAC,aAAa,CACd,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7D,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,GAIP;IACC,IAAI,SAAiB,CAAC;IACtB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,8BAA8B,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,CAAC,SAAS,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,aAAiC,CAAC;IACtC,IAAI,QAA6B,CAAC;IAClC,IAAI,kBAAsC,CAAC;IAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC;YACzC,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,YAAY;YAC1B,SAAS;YACT,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY;SAC9C,CAAC,CAAC;QACH,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QACxB,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,GAAG,KAAK,CAAC,IAAI,CACxB,SAAS,EACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAC9C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS;SACV,CAAC,CAAC;QACH,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QAClC,QAAQ;YACN,GAAG,CAAC,QAAQ;gBACZ,CAAC,MAAM,sCAAsC,CAAC;oBAC5C,GAAG,MAAM;oBACT,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,SAAS;iBACV,CAAC,CAAC,CAAC;IACR,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,UAAU,CAAC;YACf,SAAS,EAAE,SAAS;YACpB,aAAa;YACb,QAAQ;YACR,eAAe,EACb,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;YACrE,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM,CAAC,OAAO;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
@@ -1,30 +0,0 @@
1
- import { ParsedEntry, ResolvedTaskConfig, WebPublicationManifestConfig } from '../config/resolve.js';
2
- export declare function cleanupWorkspace({ entryContextDir, workspaceDir, themesDir, entries, }: ResolvedTaskConfig): Promise<void>;
3
- export declare function prepareThemeDirectory({ themesDir, themeIndexes, }: ResolvedTaskConfig): Promise<void>;
4
- export declare function transformManuscript(entry: ParsedEntry, { entryContextDir, workspaceDir, viewerInput: { manifestPath }, title, entries, language, documentProcessorFactory, vfmOptions, }: ResolvedTaskConfig & {
5
- viewerInput: WebPublicationManifestConfig;
6
- }): Promise<string | undefined>;
7
- export declare function generateManifest({ entryContextDir, workspaceDir, viewerInput: { manifestPath }, title, author, entries, language, readingProgression, cover, }: ResolvedTaskConfig & {
8
- viewerInput: WebPublicationManifestConfig;
9
- }): Promise<void>;
10
- export declare function compile(config: ResolvedTaskConfig & {
11
- viewerInput: WebPublicationManifestConfig;
12
- }): Promise<void>;
13
- export declare function getIgnoreThemeExamplePatterns({ themesDir, cwd, }: Pick<ResolvedTaskConfig, 'themesDir'> & {
14
- cwd: string;
15
- }): string[];
16
- export declare function getIgnoreAssetPatterns({ outputs, entries, cwd, }: Pick<ResolvedTaskConfig, 'outputs' | 'entries'> & {
17
- cwd: string;
18
- }): string[];
19
- declare function getAssetMatcherSettings({ copyAsset: { fileExtensions, includes, excludes }, outputs, themesDir, entries, cwd, ignore, }: Pick<ResolvedTaskConfig, 'copyAsset' | 'outputs' | 'themesDir' | 'entries'> & {
20
- cwd: string;
21
- ignore?: string[];
22
- }): {
23
- patterns: string[];
24
- ignore: string[];
25
- }[];
26
- export declare function getAssetMatcher(arg: Parameters<typeof getAssetMatcherSettings>[0]): (test: string) => boolean;
27
- export declare function globAssetFiles(arg: Parameters<typeof getAssetMatcherSettings>[0]): Promise<Set<string>>;
28
- export declare function copyAssets({ entryContextDir, workspaceDir, copyAsset, outputs, themesDir, entries, }: ResolvedTaskConfig): Promise<void>;
29
- export {};
30
- //# sourceMappingURL=compile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/processor/compile.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,WAAW,EAEX,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAiE9B,wBAAsB,gBAAgB,CAAC,EACrC,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,GACR,EAAE,kBAAkB,iBAoCpB;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,SAAS,EACT,YAAY,GACb,EAAE,kBAAkB,iBAyBpB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,EACE,eAAe,EACf,YAAY,EACZ,WAAW,EAAE,EAAE,YAAY,EAAE,EAC7B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,wBAAwB,EACxB,UAAU,GACX,EAAE,kBAAkB,GAAG;IAAE,WAAW,EAAE,4BAA4B,CAAA;CAAE,GACpE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmK7B;AAED,wBAAsB,gBAAgB,CAAC,EACrC,eAAe,EACf,YAAY,EACZ,WAAW,EAAE,EAAE,YAAY,EAAE,EAC7B,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,KAAK,GACN,EAAE,kBAAkB,GAAG;IAAE,WAAW,EAAE,4BAA4B,CAAA;CAAE,iBA0BpE;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,kBAAkB,GAAG;IAAE,WAAW,EAAE,4BAA4B,CAAA;CAAE,GACzE,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,SAAS,EACT,GAAG,GACJ,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG;IACzC,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,EAAE,CAOX;AAED,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,GAAG,GACJ,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IACnD,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,EAAE,CAeX;AAED,iBAAS,uBAAuB,CAAC,EAC/B,SAAS,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACjD,OAAO,EACP,SAAS,EACT,OAAO,EACP,GAAG,EACH,MAAW,GACZ,EAAE,IAAI,CACL,kBAAkB,EAClB,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAClD,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CA0B7C;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAKpC,MAAM,aACrB;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAetB;AAED,wBAAsB,UAAU,CAAC,EAC/B,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBpC"}