Skip to content

Commit ad741e2

Browse files
Migrate code examples to ES Modules
1 parent 3c4d964 commit ad741e2

55 files changed

Lines changed: 279 additions & 330 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ module.exports = {
55
},
66
extends: ['eslint:recommended'],
77
parserOptions: {
8-
ecmaVersion: 2021,
9-
sourceType: 'script', // CommonJS
8+
ecmaVersion: 2022,
9+
sourceType: 'module', // ES modules
1010
},
1111
rules: {
1212
// Code style
@@ -30,7 +30,7 @@ module.exports = {
3030
'no-unreachable': 'error',
3131
'no-var': 'error',
3232
'prefer-const': 'error',
33-
'prefer-arrow-callback': 'off', // CommonJS uses regular functions
33+
'prefer-arrow-callback': 'error', // ES modules prefer arrow functions
3434
'arrow-parens': ['error', 'always'],
3535
'arrow-spacing': ['error', { before: true, after: true }],
3636

@@ -62,7 +62,7 @@ module.exports = {
6262
ignoreGlobals: false,
6363
}],
6464

65-
// CommonJS specific
65+
// Node.js specific
6666
'no-process-env': 'off', // process.env is used for configuration
6767

6868
// Async/await

Examples/AdvancedUsage/Converting/common/addWatermark.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to add a watermark to a document during conversion.
@@ -8,7 +8,7 @@ const path = require('path');
88
* @param {string} outputFolder - Path to the output folder
99
* @returns {Promise} Promise that resolves when conversion is complete
1010
*/
11-
async function addWatermark(groupdocs, inputFilePath, outputFolder) {
11+
export default async function addWatermark(groupdocs, inputFilePath, outputFolder) {
1212
// Set output file path
1313
const outputPath = `${outputFolder}/AddWatermark.pdf`;
1414

@@ -28,8 +28,6 @@ async function addWatermark(groupdocs, inputFilePath, outputFolder) {
2828
// Apply watermark to conversion options
2929
convertOptions.setWatermark(watermark);
3030

31-
console.log(`\n✓ Add Watermark: ${path.basename(outputPath)}`);
31+
console.log(`\n✓ Add Watermark: ${basename(outputPath)}`);
3232
return converter.convert(outputPath, convertOptions);
3333
}
34-
35-
module.exports = addWatermark;

Examples/AdvancedUsage/Converting/common/convertNConsecutivePages.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a range of consecutive pages from a document.
@@ -8,7 +8,7 @@ const path = require('path');
88
* @param {string} outputFolder - Path to the output folder
99
* @returns {Promise} Promise that resolves when conversion is complete
1010
*/
11-
async function convertConsecutivePages(groupdocs, inputFilePath, outputFolder) {
11+
export default async function convertConsecutivePages(groupdocs, inputFilePath, outputFolder) {
1212
// Initialize converter with input file
1313
const converter = new groupdocs.Converter(inputFilePath);
1414

@@ -22,8 +22,6 @@ async function convertConsecutivePages(groupdocs, inputFilePath, outputFolder) {
2222
convertOptions.setPageNumber(2);
2323
convertOptions.setPagesCount(2);
2424

25-
console.log(`\n✓ Convert N Consecutive Pages: ${path.basename(outputPath)}`);
25+
console.log(`\n✓ Convert N Consecutive Pages: ${basename(outputPath)}`);
2626
return converter.convert(outputPath, convertOptions);
2727
}
28-
29-
module.exports = convertConsecutivePages;

Examples/AdvancedUsage/Converting/common/convertSpecificPages.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
const ArrayList = require('java').import('java.util.ArrayList');
2-
const path = require('path');
1+
import java from 'java';
2+
import { basename } from 'path';
3+
4+
const ArrayList = java.import('java.util.ArrayList');
35

46
/**
57
* This example demonstrates how to convert specific pages from a document.
@@ -9,7 +11,7 @@ const path = require('path');
911
* @param {string} outputFolder - Path to the output folder
1012
* @returns {Promise} Promise that resolves when conversion is complete
1113
*/
12-
async function convertSpecificPages(groupdocs, inputFilePath, outputFolder) {
14+
export default async function convertSpecificPages(groupdocs, inputFilePath, outputFolder) {
1315
// Initialize converter with input file
1416
const converter = new groupdocs.Converter(inputFilePath);
1517

@@ -25,8 +27,6 @@ async function convertSpecificPages(groupdocs, inputFilePath, outputFolder) {
2527
pages.add(3); // Third page
2628
convertOptions.setPages(pages);
2729

28-
console.log(`\n✓ Convert Specific Pages: ${path.basename(outputPath)}`);
30+
console.log(`\n✓ Convert Specific Pages: ${basename(outputPath)}`);
2931
return converter.convert(outputPath, convertOptions);
3032
}
31-
32-
module.exports = convertSpecificPages;

Examples/AdvancedUsage/Converting/convertToHtmlWithAdvancedOptions.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a password-protected document to HTML with advanced options.
@@ -10,7 +10,7 @@ const path = require('path');
1010
* @param {string} outputFolder - Path to the output folder
1111
* @returns {Promise} Promise that resolves when conversion is complete
1212
*/
13-
async function convertToHtmlWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
13+
export default async function convertToHtmlWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
1414
// Configure load options for password-protected document
1515
const loadOptions = new groupdocs.WordProcessingLoadOptions();
1616
loadOptions.setPassword('12345');
@@ -27,9 +27,7 @@ async function convertToHtmlWithAdvancedOptions(groupdocs, inputFilePath, output
2727
convertOptions.setFixedLayout(true); // Use fixed layout for better formatting
2828
convertOptions.setPagesCount(1); // Convert only 1 page
2929

30-
console.log(`\n✓ Convert to HTML (Advanced): ${path.basename(outputPath)}`);
30+
console.log(`\n✓ Convert to HTML (Advanced): ${basename(outputPath)}`);
3131
return converter.convert(outputPath, convertOptions);
3232
}
3333

34-
module.exports = convertToHtmlWithAdvancedOptions;
35-

Examples/AdvancedUsage/Converting/convertToImageWithAdvancedOptions.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a PDF document to PNG images with advanced options.
@@ -11,7 +11,7 @@ const path = require('path');
1111
* @param {string} outputFolder - Path to the output folder
1212
* @returns {Promise} Promise that resolves when conversion is complete
1313
*/
14-
async function convertToImageWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
14+
export default async function convertToImageWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
1515
// Define output file template with page number placeholder
1616
const outputFileTemplate = 'ConvertToImageWithAdvancedOptions-page-.png';
1717
const outputPath = `${outputFolder}/${outputFileTemplate}`;
@@ -41,12 +41,10 @@ async function convertToImageWithAdvancedOptions(groupdocs, inputFilePath, outpu
4141
convertOptions.setPageNumber(1);
4242
convertOptions.setPagesCount(2);
4343

44-
console.log(`\n✓ Convert to Image (Advanced): ${path.basename(outputFileTemplate)}`);
44+
console.log(`\n✓ Convert to Image (Advanced): ${basename(outputFileTemplate)}`);
4545
return converter.convert(outputPath, convertOptions);
4646
} catch (error) {
4747
console.error('Error during conversion:', error);
4848
throw error;
4949
}
5050
}
51-
52-
module.exports = convertToImageWithAdvancedOptions;

Examples/AdvancedUsage/Converting/convertToPdfWithAdvancedOptions.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a password-protected document to PDF with advanced options.
@@ -10,7 +10,7 @@ const path = require('path');
1010
* @param {string} outputFolder - Path to the output folder
1111
* @returns {Promise} Promise that resolves when conversion is complete
1212
*/
13-
async function convertToPdfWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
13+
export default async function convertToPdfWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
1414
// Configure load options for password-protected document
1515
const loadOptions = new groupdocs.WordProcessingLoadOptions();
1616
loadOptions.setPassword('12345');
@@ -30,8 +30,6 @@ async function convertToPdfWithAdvancedOptions(groupdocs, inputFilePath, outputF
3030
convertOptions.setPageWidth(1024); // Set output width
3131
convertOptions.setPageHeight(768); // Set output height
3232

33-
console.log(`\n✓ Convert to PDF (Advanced): ${path.basename(outputPath)}`);
33+
console.log(`\n✓ Convert to PDF (Advanced): ${basename(outputPath)}`);
3434
return converter.convert(outputPath, convertOptions);
3535
}
36-
37-
module.exports = convertToPdfWithAdvancedOptions;

Examples/AdvancedUsage/Converting/convertToPresentationWithAdvancedOptions.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a password-protected document to PPT format with advanced options.
@@ -10,7 +10,7 @@ const path = require('path');
1010
* @param {string} outputFolder - Path to the output folder
1111
* @returns {Promise} Promise that resolves when conversion is complete
1212
*/
13-
async function convertToPresentationWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
13+
export default async function convertToPresentationWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
1414
// Configure load options for password-protected document
1515
const loadOptions = new groupdocs.WordProcessingLoadOptions();
1616
loadOptions.setPassword('12345');
@@ -27,8 +27,6 @@ async function convertToPresentationWithAdvancedOptions(groupdocs, inputFilePath
2727
convertOptions.setPagesCount(1); // Convert only 1 page
2828
convertOptions.setFormat(groupdocs.PresentationFileType.Ppt); // Specify PPT format
2929

30-
console.log(`\n✓ Convert to Presentation (Advanced): ${path.basename(outputPath)}`);
30+
console.log(`\n✓ Convert to Presentation (Advanced): ${basename(outputPath)}`);
3131
return converter.convert(outputPath, convertOptions);
3232
}
33-
34-
module.exports = convertToPresentationWithAdvancedOptions;

Examples/AdvancedUsage/Converting/convertToSpreadsheetWithAdvancedOptions.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a password-protected document to XLS format with advanced options.
@@ -10,7 +10,7 @@ const path = require('path');
1010
* @param {string} outputFolder - Path to the output folder
1111
* @returns {Promise} Promise that resolves when conversion is complete
1212
*/
13-
async function convertToSpreadsheetWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
13+
export default async function convertToSpreadsheetWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
1414
// Configure load options for password-protected document
1515
const loadOptions = new groupdocs.WordProcessingLoadOptions();
1616
loadOptions.setPassword('12345');
@@ -27,8 +27,6 @@ async function convertToSpreadsheetWithAdvancedOptions(groupdocs, inputFilePath,
2727
convertOptions.setPagesCount(1); // Convert only 1 page
2828
convertOptions.setFormat(groupdocs.SpreadsheetFileType.Xls); // Specify XLS format
2929

30-
console.log(`\n✓ Convert to Spreadsheet (Advanced): ${path.basename(outputPath)}`);
30+
console.log(`\n✓ Convert to Spreadsheet (Advanced): ${basename(outputPath)}`);
3131
return converter.convert(outputPath, convertOptions);
3232
}
33-
34-
module.exports = convertToSpreadsheetWithAdvancedOptions;

Examples/AdvancedUsage/Converting/convertToWordProcessingWithAdvancedOptions.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const path = require('path');
1+
import { basename } from 'path';
22

33
/**
44
* This example demonstrates how to convert a PDF document to DOCX with advanced options.
@@ -10,7 +10,7 @@ const path = require('path');
1010
* @param {string} outputFolder - Path to the output folder
1111
* @returns {Promise} Promise that resolves when conversion is complete
1212
*/
13-
async function convertToWordProcessingWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
13+
export default async function convertToWordProcessingWithAdvancedOptions(groupdocs, inputFilePath, outputFolder) {
1414
// Initialize converter with input file
1515
const converter = new groupdocs.Converter(inputFilePath);
1616

@@ -23,8 +23,6 @@ async function convertToWordProcessingWithAdvancedOptions(groupdocs, inputFilePa
2323
convertOptions.setPagesCount(1); // Convert only 1 page
2424
convertOptions.setFormat(groupdocs.WordProcessingFileType.Docx); // Specify DOCX format
2525

26-
console.log(`\n✓ Convert to Word Processing (Advanced): ${path.basename(outputPath)}`);
26+
console.log(`\n✓ Convert to Word Processing (Advanced): ${basename(outputPath)}`);
2727
return converter.convert(outputPath, convertOptions);
2828
}
29-
30-
module.exports = convertToWordProcessingWithAdvancedOptions;

0 commit comments

Comments
 (0)