@vivliostyle/cli 3.5.1 → 4.2.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +37 -2
  2. package/README.md +50 -33
  3. package/dist/browser.d.ts +9 -0
  4. package/dist/browser.d.ts.map +1 -0
  5. package/dist/browser.js +68 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/cli.js +5 -9
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/build.d.ts.map +1 -1
  10. package/dist/commands/build.js +38 -11
  11. package/dist/commands/build.js.map +1 -1
  12. package/dist/commands/build.parser.d.ts +2 -1
  13. package/dist/commands/build.parser.d.ts.map +1 -1
  14. package/dist/commands/build.parser.js +12 -6
  15. package/dist/commands/build.parser.js.map +1 -1
  16. package/dist/commands/init.d.ts.map +1 -1
  17. package/dist/commands/init.js +2 -0
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/preview.d.ts.map +1 -1
  20. package/dist/commands/preview.js +19 -8
  21. package/dist/commands/preview.js.map +1 -1
  22. package/dist/config.d.ts +6 -2
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +66 -27
  25. package/dist/config.js.map +1 -1
  26. package/dist/const.d.ts +2 -0
  27. package/dist/const.d.ts.map +1 -1
  28. package/dist/const.js +10 -1
  29. package/dist/const.js.map +1 -1
  30. package/dist/container.d.ts +13 -0
  31. package/dist/container.d.ts.map +1 -0
  32. package/dist/container.js +90 -0
  33. package/dist/container.js.map +1 -0
  34. package/dist/markdown.d.ts +2 -1
  35. package/dist/markdown.d.ts.map +1 -1
  36. package/dist/markdown.js +8 -3
  37. package/dist/markdown.js.map +1 -1
  38. package/dist/output.d.ts +7 -2
  39. package/dist/output.d.ts.map +1 -1
  40. package/dist/output.js +15 -7
  41. package/dist/output.js.map +1 -1
  42. package/dist/pdf.d.ts +4 -2
  43. package/dist/pdf.d.ts.map +1 -1
  44. package/dist/pdf.js +59 -7
  45. package/dist/pdf.js.map +1 -1
  46. package/dist/postprocess.d.ts +10 -4
  47. package/dist/postprocess.d.ts.map +1 -1
  48. package/dist/postprocess.js +55 -5
  49. package/dist/postprocess.js.map +1 -1
  50. package/dist/schema/vivliostyle.config.schema.json +11 -1
  51. package/dist/util.d.ts +1 -5
  52. package/dist/util.d.ts.map +1 -1
  53. package/dist/util.js +6 -22
  54. package/dist/util.js.map +1 -1
  55. package/package.json +39 -36
package/CHANGELOG.md CHANGED
@@ -1,9 +1,44 @@
1
- ## [3.5.1](https://github.com/vivliostyle/vivliostyle-cli/compare/v3.5.0...v3.5.1) (2021-07-14)
1
+ # [4.2.0](https://github.com/vivliostyle/vivliostyle-cli/compare/v4.1.0...v4.2.0) (2021-09-18)
2
+
3
+
4
+ ### Features
5
+
6
+ * Update vivliostyle.js to 2.10.0 ([219eab1](https://github.com/vivliostyle/vivliostyle-cli/commit/219eab125a577465a64b22a0f2b2ba739b9ba556))
7
+
8
+ # [4.1.0](https://github.com/vivliostyle/vivliostyle-cli/compare/v4.0.0...v4.1.0) (2021-09-11)
9
+
10
+ ### Features
11
+
12
+ - Update vivliostyle.js to 2.9.1 ([f19b085](https://github.com/vivliostyle/vivliostyle-cli/commit/f19b085e4e61c9f38f88933b4bfcdbac17857b6c))
13
+
14
+ # [4.0.0](https://github.com/vivliostyle/vivliostyle-cli/compare/v3.5.2...v4.0.0) (2021-08-28)
15
+
16
+ ### chore
2
17
 
18
+ - Update node engines ([30abdfa](https://github.com/vivliostyle/vivliostyle-cli/commit/30abdfac9d7bb563c9831059d8b564bee55ec358))
19
+
20
+ ### Features
21
+
22
+ - Add render mode supports docker ([b2931b3](https://github.com/vivliostyle/vivliostyle-cli/commit/b2931b3e4c230633acb794c673e79cde93bd6d3d))
23
+ - Lazy install chromium ([966f02c](https://github.com/vivliostyle/vivliostyle-cli/commit/966f02ca4c406155bab69c9d65c9c6b4d2f2ea17))
24
+ - Support preflight options ([1c78975](https://github.com/vivliostyle/vivliostyle-cli/commit/1c789753dff747fe1f23e8eb3ca573ce7214944f))
25
+
26
+ ### BREAKING CHANGES
27
+
28
+ - Node v12 is now the minimum supported version
29
+ - Switched to use puppeteer-core rather than puppeteer. If you're using vivliostyle-cli in any containers, you should run puppeteer's install.js and contain the browser runtime.
30
+
31
+ ## [3.5.2](https://github.com/vivliostyle/vivliostyle-cli/compare/v3.5.1...v3.5.2) (2021-07-23)
32
+
33
+ ### Bug Fixes
34
+
35
+ - VFM frontmatter not processed ([68deef2](https://github.com/vivliostyle/vivliostyle-cli/commit/68deef2effdec36252ef4548b30867438bdd4d5a)), closes [#196](https://github.com/vivliostyle/vivliostyle-cli/issues/196)
36
+
37
+ ## [3.5.1](https://github.com/vivliostyle/vivliostyle-cli/compare/v3.5.0...v3.5.1) (2021-07-14)
3
38
 
4
39
  ### Bug Fixes
5
40
 
6
- * Support new VFM API ([770e108](https://github.com/vivliostyle/vivliostyle-cli/commit/770e10848e0dc4276e1819f9afed627f93263d4c))
41
+ - Support new VFM API ([770e108](https://github.com/vivliostyle/vivliostyle-cli/commit/770e10848e0dc4276e1819f9afed627f93263d4c))
7
42
 
8
43
  # [3.5.0](https://github.com/vivliostyle/vivliostyle-cli/compare/v3.4.0...v3.5.0) (2021-05-03)
9
44
 
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  ![Vivliostyle CLI](assets/cover.jpg)
2
2
 
3
3
  [![npm](https://flat.badgen.net/npm/v/@vivliostyle/cli)][npm-url]
4
- ![npm: version (tag)](https://flat.badgen.net/npm/v/@vivliostyle/cli/next)
5
4
  [![npm: total downloads](https://flat.badgen.net/npm/dt/@vivliostyle/cli)][npm-url]
6
5
 
7
6
  [npm-url]: https://npmjs.org/package/@vivliostyle/cli
@@ -57,7 +56,7 @@ Options:
57
56
 
58
57
  > build and create PDF file.
59
58
 
60
- Put [vivliostyle.config.js](https://github.com/vivliostyle/vivliostyle-cli/issues/38) in the root directory, then:
59
+ Put [vivliostyle.config.js](https://github.com/vivliostyle/create-book/blob/master/templates/default/vivliostyle.config.js) in the root directory, then:
61
60
 
62
61
  ```bash
63
62
  vivliostyle build
@@ -69,25 +68,35 @@ vivliostyle build
69
68
 
70
69
  ```
71
70
  Options:
72
- -c, --config <config_file> path to vivliostyle.config.js [vivliostyle.config.js]
73
- -o, --output <path> specify output file name or directory [<title>.pdf]
74
- This option can be specified multiple, then each -o options can be supplied one -f option.
75
- ex: -o output1 -f webpub -o output2.pdf -f pdf
76
- -f, --format <format> specify output format corresponding output target
77
- If an extension is specified on -o option, this field will be inferenced automatically.
78
- -s, --size <size> output pdf size [Letter]
79
- preset: A5, A4, A3, B5, B4, JIS-B5, JIS-B4, letter, legal, ledger
80
- custom(comma separated): 182mm,257mm or 8.5in,11in
81
- -p, --press-ready make generated PDF compatible with press ready PDF/X-1a [false]
82
- -t, --timeout <seconds> timeout limit for waiting Vivliostyle process [60s]
83
- -T, --theme <theme> theme path or package name
84
- --title <title> title
85
- --author <author> author
86
- -l, --language <language> language
87
- --verbose verbose log output
88
- --no-sandbox launch chrome without sandbox. use this option when ECONNREFUSED error occurred.
89
- --executable-chromium <path> specify a path of executable Chrome (or Chromium) you installed
90
- -h, --help display help for command
71
+ -c, --config <config_file> path to vivliostyle.config.js [vivliostyle.config.js]
72
+ -o, --output <path> specify output file name or directory [<title>.pdf]
73
+ This option can be specified multiple, then each -o options can be supplied one -f option.
74
+ ex: -o output1 -f webpub -o output2.pdf -f pdf
75
+ -f, --format <format> specify output format corresponding output target
76
+ If an extension is specified on -o option, this field will be inferenced automatically.
77
+ -s, --size <size> output pdf size [Letter]
78
+ preset: A5, A4, A3, B5, B4, JIS-B5, JIS-B4, letter, legal, ledger
79
+ custom(comma separated): 182mm,257mm or 8.5in,11in
80
+ --style <stylesheet> additional stylesheet URL or path
81
+ --user-style <user_stylesheet> user stylesheet URL or path
82
+ -d, --single-doc single HTML document input
83
+ -p, --press-ready make generated PDF compatible with press ready PDF/X-1a [false]
84
+ This option is equivalent with "--preflight press-ready"
85
+ -t, --timeout <seconds> timeout limit for waiting Vivliostyle process [60s]
86
+ -T, --theme <theme> theme path or package name
87
+ --title <title> title
88
+ --author <author> author
89
+ -l, --language <language> language
90
+ --render-mode <mode> if docker is set, Vivliostyle try to render PDF on Docker container [local] (choices: "local", "docker")
91
+ --preflight <mode> apply the process to generate PDF for printing (choices: "press-ready", "press-ready-local")
92
+ --preflight-option <options...> options for preflight process (ex: gray-scale, enforce-outline)
93
+ Please refer the document of press-ready for further information.
94
+ https://github.com/vibranthq/press-ready
95
+ --verbose verbose log output
96
+ --no-sandbox launch chrome without sandbox. use this option when ECONNREFUSED error occurred.
97
+ --executable-chromium <path> specify a path of executable Chrome (or Chromium) you installed
98
+ --image <image> specify a docker image to render
99
+ -h, --help display help for command
91
100
  ```
92
101
 
93
102
  ### `preview`
@@ -102,20 +111,28 @@ vivliostyle preview
102
111
 
103
112
  ```
104
113
  Options:
105
- -c, --config <config_file> path to vivliostyle.config.js
106
- -T, --theme <theme> theme path or package name
107
- -s, --size <size> output pdf size [Letter]
108
- preset: A5, A4, A3, B5, B4, JIS-B5, JIS-B4, letter, legal, ledger
109
- custom(comma separated): 182mm,257mm or 8.5in,11in
110
- --title <title> title
111
- --author <author> author
112
- -l, --language <language> language
113
- --verbose verbose log output
114
- --no-sandbox launch chrome without sandbox (use this option to avoid ECONNREFUSED error)
115
- --executable-chromium <path> specify a path of executable Chrome(Chromium) you installed
116
- -h, --help display help for command
114
+ -c, --config <config_file> path to vivliostyle.config.js
115
+ -T, --theme <theme> theme path or package name
116
+ -s, --size <size> output pdf size [Letter]
117
+ preset: A5, A4, A3, B5, B4, JIS-B5, JIS-B4, letter, legal, ledger
118
+ custom(comma separated): 182mm,257mm or 8.5in,11in
119
+ --style <stylesheet> additional stylesheet URL or path
120
+ --user-style <user_stylesheet> user stylesheet URL or path
121
+ -d, --single-doc single HTML document input
122
+ -q, --quick quick loading with rough page count
123
+ --title <title> title
124
+ --author <author> author
125
+ -l, --language <language> language
126
+ --verbose verbose log output
127
+ --no-sandbox launch chrome without sandbox (use this option to avoid ECONNREFUSED error)
128
+ --executable-chromium <path> specify a path of executable Chrome(Chromium) you installed
129
+ -h, --help display help for command
117
130
  ```
118
131
 
132
+ ## User Guide
133
+
134
+ See [User Guide](https://docs.vivliostyle.org/#/vivliostyle-cli)
135
+
119
136
  ## Q&A
120
137
 
121
138
  ### Not working in Node v14.0.0
@@ -0,0 +1,9 @@
1
+ import puppeteer from 'puppeteer-core';
2
+ declare type PuppeteerLaunchOptions = Parameters<typeof puppeteer.launch>[0];
3
+ declare type Browser = ReturnType<typeof puppeteer.launch>;
4
+ export declare function launchBrowser(options?: PuppeteerLaunchOptions): Browser;
5
+ export declare function getExecutableBrowserPath(): string;
6
+ export declare function checkBrowserAvailability(path: string): boolean;
7
+ export declare function downloadBrowser(): Promise<string>;
8
+ export {};
9
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAGA,OAAO,SAA4B,MAAM,gBAAgB,CAAC;AAW1D,aAAK,sBAAsB,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,aAAK,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AACnD,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAa7E;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAQjD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAwCvD"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.downloadBrowser = exports.checkBrowserAvailability = exports.getExecutableBrowserPath = exports.launchBrowser = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const os_1 = __importDefault(require("os"));
9
+ const perf_hooks_1 = require("perf_hooks");
10
+ const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
11
+ const container_1 = require("./container");
12
+ const util_1 = require("./util");
13
+ async function launchBrowser(options) {
14
+ // process listener of puppeteer won't handle signal
15
+ // because it doesn't support subprocess which is spawned by CLI
16
+ const browser = await puppeteer_core_1.default.launch({
17
+ handleSIGINT: false,
18
+ handleSIGTERM: false,
19
+ handleSIGHUP: false,
20
+ ...options,
21
+ });
22
+ util_1.beforeExitHandlers.push(() => {
23
+ browser.close();
24
+ });
25
+ return browser;
26
+ }
27
+ exports.launchBrowser = launchBrowser;
28
+ function getExecutableBrowserPath() {
29
+ const isInContainer = container_1.checkContainerEnvironment();
30
+ if (isInContainer && os_1.default.arch() === 'arm64') {
31
+ // Use the Debian packages until puppeteer supports
32
+ // https://github.com/puppeteer/puppeteer/blob/159d2835450697dabea6f9adf6e67d158b5b8ae3/src/node/BrowserFetcher.ts#L298-L303
33
+ return '/usr/bin/chromium';
34
+ }
35
+ return puppeteer_core_1.default.executablePath();
36
+ }
37
+ exports.getExecutableBrowserPath = getExecutableBrowserPath;
38
+ function checkBrowserAvailability(path) {
39
+ return fs_1.default.existsSync(path);
40
+ }
41
+ exports.checkBrowserAvailability = checkBrowserAvailability;
42
+ async function downloadBrowser() {
43
+ const browserFetcher = puppeteer_core_1.default.createBrowserFetcher({});
44
+ const revision = puppeteer_core_1.default._preferredRevision;
45
+ const revisionInfo = browserFetcher.revisionInfo(revision);
46
+ util_1.debug('trying download browser, revision info', revisionInfo);
47
+ const toMegabytes = (bytes) => `${(bytes / 1024 / 1024).toFixed(1)} Mb`;
48
+ let time = perf_hooks_1.performance.now();
49
+ const onProgress = (downloadedBytes, totalBytes) => {
50
+ const now = perf_hooks_1.performance.now();
51
+ if (now - time < 100) {
52
+ return;
53
+ }
54
+ time = now;
55
+ const progressLen = 16;
56
+ const completeLen = Math.round((downloadedBytes / totalBytes) * progressLen);
57
+ const progressBar = `[${Array(completeLen + 1).join('=')}${Array(progressLen - completeLen + 1).join(' ')}]`;
58
+ util_1.logUpdate(`Downloading Browser: ${progressBar} ${toMegabytes(downloadedBytes)} / ${toMegabytes(totalBytes)}`);
59
+ };
60
+ util_1.logInfo('Rendering browser (Chromium) is not installed yet. Downloading now...');
61
+ util_1.startLogging('Downloading Browser');
62
+ await browserFetcher.download(revision, onProgress);
63
+ util_1.logSuccess(`Successfully downloaded browser`);
64
+ util_1.startLogging();
65
+ return revisionInfo.executablePath;
66
+ }
67
+ exports.downloadBrowser = downloadBrowser;
68
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,4CAAoB;AACpB,2CAAyC;AACzC,oEAA0D;AAC1D,2CAAwD;AACxD,iCAOgB;AAIT,KAAK,UAAU,aAAa,CAAC,OAAgC;IAClE,oDAAoD;IACpD,gEAAgE;IAChE,MAAM,OAAO,GAAG,MAAM,wBAAS,CAAC,MAAM,CAAC;QACrC,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QACnB,GAAG,OAAO;KACX,CAAC,CAAC;IACH,yBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAbD,sCAaC;AAED,SAAgB,wBAAwB;IACtC,MAAM,aAAa,GAAG,qCAAyB,EAAE,CAAC;IAClD,IAAI,aAAa,IAAI,YAAE,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE;QAC1C,mDAAmD;QACnD,4HAA4H;QAC5H,OAAO,mBAAmB,CAAC;KAC5B;IACD,OAAS,wBAAuC,CAAC,cAAc,EAAE,CAAC;AACpE,CAAC;AARD,4DAQC;AAED,SAAgB,wBAAwB,CAAC,IAAY;IACnD,OAAO,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAFD,4DAEC;AAEM,KAAK,UAAU,eAAe;IACnC,MAAM,cAAc,GAAK,wBAAuC,CAAC,oBAAoB,CACnF,EAAE,CACH,CAAC;IACF,MAAM,QAAQ,GAAK,wBAAuC,CAAC,kBAAkB,CAAC;IAC9E,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3D,YAAK,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACpC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,IAAI,IAAI,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,CAAC,eAAuB,EAAE,UAAkB,EAAE,EAAE;QACjE,MAAM,GAAG,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE;YACpB,OAAO;SACR;QACD,IAAI,GAAG,GAAG,CAAC;QACX,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,WAAW,CAC7C,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAC9D,WAAW,GAAG,WAAW,GAAG,CAAC,CAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,gBAAS,CACP,wBAAwB,WAAW,IAAI,WAAW,CAChD,eAAe,CAChB,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,CACjC,CAAC;IACJ,CAAC,CAAC;IAEF,cAAO,CACL,uEAAuE,CACxE,CAAC;IACF,mBAAY,CAAC,qBAAqB,CAAC,CAAC;IACpC,MAAM,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,iBAAU,CAAC,iCAAiC,CAAC,CAAC;IAC9C,mBAAY,EAAE,CAAC;IAEf,OAAO,YAAY,CAAC,cAAc,CAAC;AACrC,CAAC;AAxCD,0CAwCC"}
package/dist/cli.js CHANGED
@@ -5,15 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const commander_1 = __importDefault(require("commander"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const resolve_pkg_1 = __importDefault(require("resolve-pkg"));
10
- const upath_1 = require("upath");
11
- const util_1 = require("./util");
12
- const { version: cliVersion } = util_1.readJSON(upath_1.join(__dirname, '../package.json'));
13
- const { version: coreVersion } = JSON.parse(fs_1.default.readFileSync(resolve_pkg_1.default('@vivliostyle/viewer', { cwd: __dirname }) + '/package.json', 'utf8'));
14
- const version = `cli: ${cliVersion}
15
- core: ${coreVersion}`;
16
- commander_1.default
8
+ const const_1 = require("./const");
9
+ const version = `cli: ${const_1.cliVersion}
10
+ core: ${const_1.coreVersion}`;
11
+ const program = new commander_1.default.Command();
12
+ program
17
13
  .name('vivliostyle')
18
14
  .version(version, '-v, --version')
19
15
  .command('init', 'create vivliostyle config', {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAgC;AAChC,4CAAoB;AACpB,8DAAqC;AACrC,iCAA6B;AAC7B,iCAAkC;AAElC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,eAAQ,CAAC,YAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC7E,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CACzC,YAAE,CAAC,YAAY,CACb,qBAAU,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAE,GAAG,eAAe,EACxE,MAAM,CACP,CACF,CAAC;AAEF,MAAM,OAAO,GAAG,QAAQ,UAAU;QAC1B,WAAW,EAAE,CAAC;AAEtB,mBAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KACjC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE;IAC5C,cAAc,EAAE,eAAe;CAChC,CAAC;KACD,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE;IAC7C,cAAc,EAAE,gBAAgB;CACjC,CAAC;KACD,OAAO,CAAC,SAAS,EAAE,uBAAuB,EAAE;IAC3C,cAAc,EAAE,kBAAkB;CACnC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAkC;AAClC,mCAAkD;AAElD,MAAM,OAAO,GAAG,QAAQ,kBAAU;QAC1B,mBAAW,EAAE,CAAC;AAEtB,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC,OAAO,EAAE,CAAC;AACxC,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KACjC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE;IAC5C,cAAc,EAAE,eAAe;CAChC,CAAC;KACD,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE;IAC7C,cAAc,EAAE,gBAAgB;CACjC,CAAC;KACD,OAAO,CAAC,SAAS,EAAE,uBAAuB,EAAE;IAC3C,cAAc,EAAE,kBAAkB;CACnC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyC,YAAY,EAAE,MAAM,WAAW,CAAC;AAIhF,OAAO,EAAE,aAAa,EAA2B,MAAM,gBAAgB,CAAC;AA4BxE,wBAA8B,KAAK,CAAC,QAAQ,EAAE,aAAa,iBA4D1D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,YAAY,QAUd"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAMA,OAAO,EAAyC,YAAY,EAAE,MAAM,WAAW,CAAC;AAYhF,OAAO,EAAE,aAAa,EAA2B,MAAM,gBAAgB,CAAC;AAiCxE,wBAA8B,KAAK,CAAC,QAAQ,EAAE,aAAa,iBAmF1D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,YAAY,QAUd"}
@@ -9,8 +9,10 @@ const chalk_1 = __importDefault(require("chalk"));
9
9
  const process_1 = __importDefault(require("process"));
10
10
  const terminal_link_1 = __importDefault(require("terminal-link"));
11
11
  const upath_1 = __importDefault(require("upath"));
12
+ const browser_1 = require("../browser");
12
13
  const builder_1 = require("../builder");
13
14
  const config_1 = require("../config");
15
+ const container_1 = require("../container");
14
16
  const pdf_1 = require("../pdf");
15
17
  const util_1 = require("../util");
16
18
  const webbook_1 = require("../webbook");
@@ -32,18 +34,35 @@ try {
32
34
  author: options.author,
33
35
  language: options.language,
34
36
  pressReady: options.pressReady,
37
+ renderMode: options.renderMode || 'local',
38
+ preflight: options.preflight,
39
+ preflightOption: options.preflightOption,
35
40
  verbose: options.verbose,
36
41
  timeout: options.timeout,
37
42
  sandbox: options.sandbox,
38
43
  executableChromium: options.executableChromium,
44
+ image: options.image,
45
+ bypassedPdfBuilderOption: options.bypassedPdfBuilderOption,
39
46
  }).catch(util_1.gracefulError);
40
47
  }
41
48
  catch (err) {
42
49
  util_1.gracefulError(err);
43
50
  }
44
51
  async function build(cliFlags) {
45
- var _a, _b;
46
- util_1.startLogging('Collecting build config');
52
+ var _a, _b, _c, _d;
53
+ if (cliFlags.bypassedPdfBuilderOption) {
54
+ const option = JSON.parse(cliFlags.bypassedPdfBuilderOption);
55
+ // Host doesn't know inside path of chromium path
56
+ option.executableChromium = browser_1.getExecutableBrowserPath();
57
+ util_1.debug('bypassedPdfBuilderOption', option);
58
+ await pdf_1.buildPDF(option);
59
+ util_1.log();
60
+ process_1.default.exit(0);
61
+ }
62
+ const isInContainer = container_1.checkContainerEnvironment();
63
+ if (!isInContainer) {
64
+ util_1.startLogging('Collecting build config');
65
+ }
47
66
  const loadedConf = config_1.collectVivliostyleConfig(cliFlags);
48
67
  const { vivliostyleConfig, vivliostyleConfigPath } = loadedConf;
49
68
  cliFlags = loadedConf.cliFlags;
@@ -63,14 +82,20 @@ async function build(cliFlags) {
63
82
  for (const target of config.outputs) {
64
83
  let output = null;
65
84
  if (target.format === 'pdf') {
66
- output = await pdf_1.buildPDF({
67
- ...config,
68
- input: ((_b = (_a = config.manifestPath) !== null && _a !== void 0 ? _a : config.webbookEntryPath) !== null && _b !== void 0 ? _b : config.epubOpfPath),
69
- output: target.path,
70
- customStyle: config.customStyle,
71
- customUserStyle: config.customUserStyle,
72
- singleDoc: config.singleDoc,
73
- });
85
+ if (!isInContainer && target.renderMode === 'docker') {
86
+ output = await pdf_1.buildPDFWithContainer({
87
+ ...config,
88
+ input: ((_b = (_a = config.manifestPath) !== null && _a !== void 0 ? _a : config.webbookEntryPath) !== null && _b !== void 0 ? _b : config.epubOpfPath),
89
+ target,
90
+ });
91
+ }
92
+ else {
93
+ output = await pdf_1.buildPDF({
94
+ ...config,
95
+ input: ((_d = (_c = config.manifestPath) !== null && _c !== void 0 ? _c : config.webbookEntryPath) !== null && _d !== void 0 ? _d : config.epubOpfPath),
96
+ target,
97
+ });
98
+ }
74
99
  }
75
100
  else if (target.format === 'webpub') {
76
101
  if (!config.manifestPath) {
@@ -89,7 +114,9 @@ async function build(cliFlags) {
89
114
  })} has been created.`);
90
115
  }
91
116
  }
92
- util_1.stopLogging('Built successfully.', '🎉');
117
+ if (!isInContainer) {
118
+ util_1.stopLogging('Built successfully.', '🎉');
119
+ }
93
120
  process_1.default.exit(0);
94
121
  }
95
122
  exports.default = build;
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;;;AAAA,kDAA0B;AAC1B,sDAA8B;AAC9B,kEAAyC;AACzC,kDAAyB;AACzB,wCAAsD;AACtD,wCAA0E;AAC1E,sCAAgF;AAChF,4CAAyD;AACzD,gCAAyD;AACzD,kCAOiB;AACjB,wCAAkD;AAClD,iDAAwE;AAExE,IAAI;IACF,MAAM,OAAO,GAAG,sCAAuB,EAAE,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,iBAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,KAAK,CAAC;QACJ,KAAK,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAG,CAAC,CAAC;QACxB,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO;QACzC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;KAC3D,CAAC,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC;CACzB;AAAC,OAAO,GAAG,EAAE;IACZ,oBAAa,CAAC,GAAG,CAAC,CAAC;CACpB;AAEc,KAAK,UAAU,KAAK,CAAC,QAAuB;;IACzD,IAAI,QAAQ,CAAC,wBAAwB,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC7D,iDAAiD;QACjD,MAAM,CAAC,kBAAkB,GAAG,kCAAwB,EAAE,CAAC;QACvD,YAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAE1C,MAAM,cAAQ,CAAC,MAAM,CAAC,CAAC;QACvB,UAAG,EAAE,CAAC;QACN,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,aAAa,GAAG,qCAAyB,EAAE,CAAC;IAClD,IAAI,CAAC,aAAa,EAAE;QAClB,mBAAY,CAAC,yBAAyB,CAAC,CAAC;KACzC;IAED,MAAM,UAAU,GAAG,iCAAwB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC;IAChE,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAE/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,eAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,UAAG,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,oBAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACvE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEhC,kDAAkD;IAClD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACnC,iCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;KAC7D;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,MAAM,iBAAO,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,oBAAU,CAAC,MAAM,CAAC,CAAC;KAC1B;IAED,iBAAiB;IACjB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACnC,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE;YAC3B,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;gBACpD,MAAM,GAAG,MAAM,2BAAqB,CAAC;oBACnC,GAAG,MAAM;oBACT,KAAK,EAAE,CAAC,MAAA,MAAA,MAAM,CAAC,YAAY,mCACzB,MAAM,CAAC,gBAAgB,mCACvB,MAAM,CAAC,WAAW,CAAW;oBAC/B,MAAM;iBACP,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,GAAG,MAAM,cAAQ,CAAC;oBACtB,GAAG,MAAM;oBACT,KAAK,EAAE,CAAC,MAAA,MAAA,MAAM,CAAC,YAAY,mCACzB,MAAM,CAAC,gBAAgB,mCACvB,MAAM,CAAC,WAAW,CAAW;oBAC/B,MAAM;iBACP,CAAC,CAAC;aACJ;SACF;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACxB,SAAS;aACV;YACD,MAAM,GAAG,MAAM,8BAAoB,CAAC;gBAClC,GAAG,MAAM;gBACT,KAAK,EAAE,MAAM,CAAC,YAAY;gBAC1B,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC,CAAC;SACJ;QACD,IAAI,MAAM,EAAE;YACV,MAAM,eAAe,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAI,CAAC,QAAQ,CAAC,UAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACrE,UAAG,CACD,KAAK,uBAAY,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,EAAE;gBACrD,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe;aAChC,CAAC,oBAAoB,CACvB,CAAC;SACH;KACF;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,kBAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAnFD,wBAmFC;AAED,SAAgB,uBAAuB,CAAC,EACtC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACM;IACb,IAAI,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;KACH;SAAM,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE;QACpE,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;KACH;AACH,CAAC;AAdD,0DAcC"}
@@ -6,10 +6,11 @@ export interface BuildCliFlags extends CliFlags {
6
6
  output?: string;
7
7
  format?: string;
8
8
  }[];
9
+ bypassedPdfBuilderOption?: string;
9
10
  }
10
11
  export declare function setupBuildParserProgram(): commander.Command;
11
12
  export declare function inferenceTargetsOption(parsed: {
12
13
  output?: string;
13
14
  format?: string;
14
- }[]): OutputFormat[];
15
+ }[]): Pick<OutputFormat, 'path' | 'format'>[];
15
16
  //# sourceMappingURL=build.parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.parser.d.ts","sourceRoot":"","sources":["../../src/commands/build.parser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAuB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAGL,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAgB,uBAAuB,IAAI,SAAS,CAAC,OAAO,CA2F3D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE;IACN,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EAAE,GACF,YAAY,EAAE,CAmBhB"}
1
+ {"version":3,"file":"build.parser.d.ts","sourceRoot":"","sources":["../../src/commands/build.parser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAuB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAyC,YAAY,EAAE,MAAM,WAAW,CAAC;AAEhF,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,wBAAgB,uBAAuB,IAAI,SAAS,CAAC,OAAO,CAkH3D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE;IACN,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EAAE,GACF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE,CAczC"}
@@ -49,15 +49,23 @@ custom(comma separated): 182mm,257mm or 8.5in,11in`)
49
49
  .option('--style <stylesheet>', 'additional stylesheet URL or path')
50
50
  .option('--user-style <user_stylesheet>', 'user stylesheet URL or path')
51
51
  .option('-d, --single-doc', 'single HTML document input')
52
- .option('-p, --press-ready', `make generated PDF compatible with press ready PDF/X-1a [false]`)
52
+ .option('-p, --press-ready', `make generated PDF compatible with press ready PDF/X-1a [false]
53
+ This option is equivalent with "--preflight press-ready"`)
53
54
  .option('-t, --timeout <seconds>', `timeout limit for waiting Vivliostyle process [60s]`, config_1.validateTimeoutFlag)
54
55
  .option('-T, --theme <theme>', 'theme path or package name')
55
56
  .option('--title <title>', 'title')
56
57
  .option('--author <author>', 'author')
57
58
  .option('-l, --language <language>', 'language')
59
+ .addOption(new commander_1.default.Option('--render-mode <mode>', 'if docker is set, Vivliostyle try to render PDF on Docker container [local]').choices(['local', 'docker']))
60
+ .addOption(new commander_1.default.Option('--preflight <mode>', 'apply the process to generate PDF for printing').choices(['press-ready', 'press-ready-local']))
61
+ .option('--preflight-option <options...>', `options for preflight process (ex: gray-scale, enforce-outline)
62
+ Please refer the document of press-ready for further information.
63
+ https://github.com/vibranthq/press-ready`)
58
64
  .option('--verbose', 'verbose log output')
59
65
  .option('--no-sandbox', `launch chrome without sandbox. use this option when ECONNREFUSED error occurred.`)
60
66
  .option('--executable-chromium <path>', 'specify a path of executable Chrome (or Chromium) you installed')
67
+ .option('--image <image>', 'specify a docker image to render')
68
+ .addOption(new commander_1.default.Option('--bypassed-pdf-builder-option <json>').hideHelp())
61
69
  .action((_arg, option) => {
62
70
  option.targets = inferenceTargetsOption(targets);
63
71
  });
@@ -70,13 +78,11 @@ function inferenceTargetsOption(parsed) {
70
78
  // -f is an optional option but -o is required one
71
79
  throw new Error(`Couldn't find the output option corresponding --format ${format} option. Please check the command options.`);
72
80
  }
73
- if (!format) {
74
- return output_1.detectOutputFormat(output);
75
- }
76
- else if (!output_1.availableOutputFormat.includes(format)) {
81
+ const detectedFormat = format !== null && format !== void 0 ? format : output_1.detectOutputFormat(output);
82
+ if (!output_1.checkOutputFormat(detectedFormat)) {
77
83
  throw new Error(`Unknown format: ${format}`);
78
84
  }
79
- return { path: output, format };
85
+ return { path: output, format: detectedFormat };
80
86
  });
81
87
  }
82
88
  exports.inferenceTargetsOption = inferenceTargetsOption;
@@ -1 +1 @@
1
- {"version":3,"file":"build.parser.js","sourceRoot":"","sources":["../../src/commands/build.parser.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,sCAA0D;AAC1D,sCAImB;AASnB,SAAgB,uBAAuB;IACrC,4CAA4C;IAC5C,6BAA6B;IAC7B,wDAAwD;IACxD,qCAAqC;IACrC,yEAAyE;IACzE,MAAM,OAAO,GAGP,EAAE,CAAC;IACT,MAAM,qBAAqB,GAAG,CAC5B,KAAa,EACb,QAAmB,EACT,EAAE;QACZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACnE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;SAC5C;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,CAC5B,KAAa,EACb,QAAmB,EACT,EAAE;QACZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACnE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;SAC5C;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC,OAAO,EAAE,CAAC;IACxC,OAAO;SACJ,IAAI,CAAC,mBAAmB,CAAC;SACzB,WAAW,CAAC,2BAA2B,CAAC;SACxC,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CACL,4BAA4B,EAC5B,uDAAuD,CACxD;SACA,MAAM,CACL,qBAAqB,EACrB;;+CAEyC,EACzC,qBAAqB,CACtB;SACA,MAAM,CACL,uBAAuB,EACvB;wFACkF,EAClF,qBAAqB,CACtB;SACA,MAAM,CACL,mBAAmB,EACnB;;mDAE6C,CAC9C;SACA,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SACnE,MAAM,CAAC,gCAAgC,EAAE,6BAA6B,CAAC;SACvE,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;SACxD,MAAM,CACL,mBAAmB,EACnB,iEAAiE,CAClE;SACA,MAAM,CACL,yBAAyB,EACzB,qDAAqD,EACrD,4BAAmB,CACpB;SACA,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SACrC,MAAM,CAAC,2BAA2B,EAAE,UAAU,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;SACzC,MAAM,CACL,cAAc,EACd,kFAAkF,CACnF;SACA,MAAM,CACL,8BAA8B,EAC9B,iEAAiE,CAClE;SACA,MAAM,CAAC,CAAC,IAAS,EAAE,MAAqB,EAAE,EAAE;QAC3C,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AA3FD,0DA2FC;AAED,SAAgB,sBAAsB,CACpC,MAGG;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,kDAAkD;YAClD,MAAM,IAAI,KAAK,CACb,0DAA0D,MAAM,4CAA4C,CAC7G,CAAC;SACH;QACD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,2BAAkB,CAAC,MAAM,CAAC,CAAC;SACnC;aAAM,IACL,CAAC,8BAAqB,CAAC,QAAQ,CAC7B,MAA8C,CAC/C,EACD;YACA,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;SAC9C;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAkB,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAxBD,wDAwBC"}
1
+ {"version":3,"file":"build.parser.js","sourceRoot":"","sources":["../../src/commands/build.parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAA0B,MAAM,eAAe,CAAC;AAiBrE,wBAA8B,IAAI,CAAC,QAAQ,EAAE,YAAY,iBA6CxD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAA0B,MAAM,eAAe,CAAC;AAiBrE,wBAA8B,IAAI,CAAC,QAAQ,EAAE,YAAY,iBA8CxD"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const chalk_1 = __importDefault(require("chalk"));
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const upath_1 = __importDefault(require("upath"));
9
+ const container_1 = require("../container");
9
10
  const util_1 = require("../util");
10
11
  const init_parser_1 = require("./init.parser");
11
12
  try {
@@ -35,6 +36,7 @@ async function init(cliFlags) {
35
36
  ${cliFlags.language ? '' : '// '}language: '${cliFlags.language || 'la'}',
36
37
  ${cliFlags.size ? '' : '// '}size: '${cliFlags.size || 'A4'}',
37
38
  ${cliFlags.theme ? '' : '// '}theme: '${cliFlags.theme || ''}', // .css or local dir or npm package. default to undefined
39
+ image: '${container_1.CONTAINER_IMAGE}',
38
40
  entry: [ // **required field**
39
41
  // 'introduction.md', // 'title' is automatically guessed from the file (frontmatter > first heading)
40
42
  // {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,kDAAyB;AACzB,kCAAkD;AAClD,+CAAqE;AAErE,IAAI;IACF,MAAM,OAAO,GAAG,oCAAsB,EAAE,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC;CACzB;AAAC,OAAO,GAAG,EAAE;IACZ,oBAAa,CAAC,GAAG,CAAC,CAAC;CACpB;AAEc,KAAK,UAAU,IAAI,CAAC,QAAsB;IACvD,MAAM,qBAAqB,GAAG,eAAI,CAAC,IAAI,CAAC,UAAG,EAAE,uBAAuB,CAAC,CAAC;IAEtE,IAAI,YAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QACxC,OAAO,UAAG,CACR,GAAG,eAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,EAAE,CACrE,CAAC;KACH;IAED,kBAAkB;IAClB,MAAM,iBAAiB,GAAG;YACf,QAAQ,CAAC,KAAK,IAAI,WAAW;aAC7B,QAAQ,CAAC,MAAM,IAAI,cAAc;IAC1C,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,QAAQ,CAAC,QAAQ,IAAI,IAAI;IACrE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAI,IAAI,IAAI;IACzD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B7D,CAAC;IAEA,YAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAC3D,UAAG,CAAC,wBAAwB,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC;AA7CD,uBA6CC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,kDAAyB;AACzB,4CAA+C;AAC/C,kCAAkD;AAClD,+CAAqE;AAErE,IAAI;IACF,MAAM,OAAO,GAAG,oCAAsB,EAAE,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC;CACzB;AAAC,OAAO,GAAG,EAAE;IACZ,oBAAa,CAAC,GAAG,CAAC,CAAC;CACpB;AAEc,KAAK,UAAU,IAAI,CAAC,QAAsB;IACvD,MAAM,qBAAqB,GAAG,eAAI,CAAC,IAAI,CAAC,UAAG,EAAE,uBAAuB,CAAC,CAAC;IAEtE,IAAI,YAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QACxC,OAAO,UAAG,CACR,GAAG,eAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,EAAE,CACrE,CAAC;KACH;IAED,kBAAkB;IAClB,MAAM,iBAAiB,GAAG;YACf,QAAQ,CAAC,KAAK,IAAI,WAAW;aAC7B,QAAQ,CAAC,MAAM,IAAI,cAAc;IAC1C,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,QAAQ,CAAC,QAAQ,IAAI,IAAI;IACrE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAI,IAAI,IAAI;IACzD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClD,2BAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC;IAEA,YAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAC3D,UAAG,CAAC,wBAAwB,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC;AA9CD,uBA8CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/commands/preview.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAA6B,MAAM,kBAAkB,CAAC;AA6B9E,wBAA8B,OAAO,CAAC,QAAQ,EAAE,eAAe,iBA2I9D"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/commands/preview.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAA6B,MAAM,kBAAkB,CAAC;AA6B9E,wBAA8B,OAAO,CAAC,QAAQ,EAAE,eAAe,iBAsJ9D"}
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const chokidar_1 = __importDefault(require("chokidar"));
8
- const puppeteer_1 = __importDefault(require("puppeteer"));
9
8
  const upath_1 = __importDefault(require("upath"));
9
+ const browser_1 = require("../browser");
10
10
  const builder_1 = require("../builder");
11
11
  const config_1 = require("../config");
12
12
  const server_1 = require("../server");
@@ -39,8 +39,8 @@ catch (err) {
39
39
  util_1.gracefulError(err);
40
40
  }
41
41
  async function preview(cliFlags) {
42
- var _a, _b;
43
- util_1.startLogging('Preparing preview');
42
+ var _a, _b, _c;
43
+ util_1.startLogging('Collecting preview config');
44
44
  const loadedConf = config_1.collectVivliostyleConfig(cliFlags);
45
45
  const { vivliostyleConfig, vivliostyleConfigPath } = loadedConf;
46
46
  cliFlags = loadedConf.cliFlags;
@@ -48,6 +48,7 @@ async function preview(cliFlags) {
48
48
  ? upath_1.default.dirname(vivliostyleConfigPath)
49
49
  : util_1.cwd;
50
50
  let config = await config_1.mergeConfig(cliFlags, vivliostyleConfig, context);
51
+ util_1.startLogging('Preparing preview');
51
52
  // build artifacts
52
53
  if (config.manifestPath) {
53
54
  await builder_1.compile(config);
@@ -61,12 +62,22 @@ async function preview(cliFlags) {
61
62
  singleDoc: config.singleDoc,
62
63
  quick: config.quick,
63
64
  });
64
- util_1.debug(`Executing Chromium path: ${config.executableChromium ||
65
- puppeteer_1.default.executablePath()}`);
66
- const browser = await util_1.launchBrowser({
65
+ util_1.debug(`Executing Chromium path: ${config.executableChromium}`);
66
+ const executableChromium = (_c = cliFlags.executableChromium) !== null && _c !== void 0 ? _c : browser_1.getExecutableBrowserPath();
67
+ if (!browser_1.checkBrowserAvailability(executableChromium)) {
68
+ const puppeteerDir = upath_1.default.dirname(require.resolve('puppeteer-core/package.json'));
69
+ if (!upath_1.default.relative(puppeteerDir, executableChromium).startsWith('..')) {
70
+ // The browser on puppeteer-core isn't downloaded first time starting CLI so try to download it
71
+ await browser_1.downloadBrowser();
72
+ }
73
+ else {
74
+ // executableChromium seems to be specified explicitly
75
+ throw new Error(`Cannot find the browser. Please check the executable chromium path: ${executableChromium}`);
76
+ }
77
+ }
78
+ const browser = await browser_1.launchBrowser({
67
79
  headless: false,
68
- executablePath: config.executableChromium ||
69
- puppeteer_1.default.executablePath(),
80
+ executablePath: config.executableChromium,
70
81
  args: [
71
82
  '--allow-file-access-from-files',
72
83
  config.sandbox ? '' : '--no-sandbox',
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/commands/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/commands/preview.ts"],"names":[],"mappings":"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"}