@adcops/autocore-react 3.3.8 → 3.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +58 -58
- package/additional-docs/AutoCoreTagContext.md +441 -441
- package/additional-docs/ButtonApiSpecs.md +48 -48
- package/additional-docs/GlobalEventEmitter.md +243 -243
- package/additional-docs/general_recommendations.md +22 -22
- package/additional-docs/react_performance_notes.md +94 -94
- package/dist/assets/svg/blockly_logo.svg +82 -82
- package/dist/assets/svg/distance.svg +40 -40
- package/dist/assets/svg/python_logo.svg +246 -246
- package/dist/assets/svg/rotation_ccw.svg +50 -50
- package/dist/assets/svg/rotation_ccw_a.svg +57 -57
- package/dist/assets/svg/rotation_ccw_b.svg +57 -57
- package/dist/assets/svg/rotation_ccw_c.svg +57 -57
- package/dist/assets/svg/rotation_cw.svg +49 -49
- package/dist/assets/svg/rotation_cw_a.svg +30 -30
- package/dist/assets/svg/rotation_cw_b.svg +30 -30
- package/dist/assets/svg/rotation_cw_c.svg +30 -30
- package/dist/assets/svg/speed.svg +39 -39
- package/dist/components/BlocklyEditor.css +93 -93
- package/dist/components/JogPanel.css +41 -41
- package/dist/components/ProgressBarWithValue.css +27 -27
- package/dist/components/ValueIndicator.css +31 -31
- package/dist/components/osk.css +123 -123
- package/dist/core/AutoCoreTagContext.d.ts.map +1 -1
- package/dist/core/AutoCoreTagContext.js +1 -1
- package/dist/hub/HubBase.d.ts +3 -3
- package/dist/hub/HubBase.d.ts.map +1 -1
- package/dist/hub/HubBase.js +1 -1
- package/package.json +104 -104
- package/readme.md +343 -343
- package/src/assets/BlocklyLogo.tsx +27 -27
- package/src/assets/Distance.tsx +18 -18
- package/src/assets/JogLong.tsx +13 -13
- package/src/assets/JogMedium.tsx +13 -13
- package/src/assets/JogShort.tsx +13 -13
- package/src/assets/PythonLogo.tsx +83 -83
- package/src/assets/Rotation3D.tsx +13 -13
- package/src/assets/RotationCcw.tsx +33 -33
- package/src/assets/RotationCcwA.tsx +45 -45
- package/src/assets/RotationCcwB.tsx +45 -45
- package/src/assets/RotationCcwC.tsx +45 -45
- package/src/assets/RotationCw.tsx +31 -31
- package/src/assets/RotationCwA.tsx +42 -42
- package/src/assets/RotationCwB.tsx +42 -42
- package/src/assets/RotationCwC.tsx +42 -42
- package/src/assets/Run.tsx +13 -13
- package/src/assets/Speed.tsx +18 -18
- package/src/assets/SpeedFast.tsx +13 -13
- package/src/assets/SpeedMedium.tsx +13 -13
- package/src/assets/SpeedNone.tsx +13 -13
- package/src/assets/SpeedSlow.tsx +13 -13
- package/src/assets/Walk.tsx +13 -13
- package/src/assets/index.ts +22 -22
- package/src/assets/svg/blockly_logo.svg +82 -82
- package/src/assets/svg/distance.svg +40 -40
- package/src/assets/svg/python_logo.svg +246 -246
- package/src/assets/svg/rotation_ccw.svg +50 -50
- package/src/assets/svg/rotation_ccw_a.svg +57 -57
- package/src/assets/svg/rotation_ccw_b.svg +57 -57
- package/src/assets/svg/rotation_ccw_c.svg +57 -57
- package/src/assets/svg/rotation_cw.svg +49 -49
- package/src/assets/svg/rotation_cw_a.svg +30 -30
- package/src/assets/svg/rotation_cw_b.svg +30 -30
- package/src/assets/svg/rotation_cw_c.svg +30 -30
- package/src/assets/svg/speed.svg +39 -39
- package/src/components/AutoCoreDevPanel.tsx +414 -414
- package/src/components/BlocklyEditor.css +93 -93
- package/src/components/BlocklyEditor.tsx +609 -609
- package/src/components/CodeEditor.tsx +155 -155
- package/src/components/FileList.tsx +390 -390
- package/src/components/FileSelect.tsx +128 -128
- package/src/components/FitText.tsx +35 -35
- package/src/components/Indicator.tsx +188 -188
- package/src/components/IndicatorButton.tsx +214 -214
- package/src/components/IndicatorRect.tsx +172 -172
- package/src/components/JogPanel.css +41 -41
- package/src/components/JogPanel.tsx +461 -461
- package/src/components/Lamp.tsx +243 -243
- package/src/components/Osk.tsx +192 -192
- package/src/components/OskDialog.tsx +164 -164
- package/src/components/ProgressBarWithValue.css +27 -27
- package/src/components/ProgressBarWithValue.tsx +48 -48
- package/src/components/TextInput.tsx +195 -195
- package/src/components/ToggleGroup.tsx +322 -322
- package/src/components/ValueDisplay.tsx +236 -236
- package/src/components/ValueIndicator.css +31 -31
- package/src/components/ValueIndicator.tsx +135 -135
- package/src/components/ValueInput.tsx +368 -368
- package/src/components/osk.css +123 -123
- package/src/core/ActionMode.ts +19 -19
- package/src/core/AutoCoreTagContext.tsx +625 -614
- package/src/core/AutoCoreTagTypes.ts +334 -334
- package/src/core/CoreStreamTypes.ts +512 -512
- package/src/core/EventEmitterContext.tsx +434 -434
- package/src/core/IndicatorButtonState.ts +34 -34
- package/src/core/IndicatorColor.ts +35 -35
- package/src/core/MaskPatterns.ts +87 -87
- package/src/core/NumerableTypes.ts +80 -80
- package/src/core/PositionContext.ts +59 -59
- package/src/core/UniqueId.ts +41 -41
- package/src/core/ValueSimulator.ts +166 -166
- package/src/core/hoc.tsx +65 -65
- package/src/hooks/adsHooks.tsx +287 -287
- package/src/hooks/commandHooks.tsx +300 -300
- package/src/hooks/index.ts +12 -12
- package/src/hooks/useAutoCoreTag.ts +103 -103
- package/src/hooks/useScaledValue.tsx +99 -99
- package/src/hub/CommandMessage.ts +89 -89
- package/src/hub/DebugPanel.ts +307 -307
- package/src/hub/HubBase.ts +249 -236
- package/src/hub/HubSimulate.ts +124 -124
- package/src/hub/HubTauri.ts +140 -140
- package/src/hub/HubWebSocket.ts +250 -250
- package/src/hub/debug.ts +211 -211
- package/src/hub/index.ts +81 -81
- package/src/themes/adc-dark/_extensions.scss +166 -166
- package/src/themes/adc-dark/_variables.scss +913 -913
- package/src/themes/adc-dark/blue/_fonts.scss +23 -23
- package/src/themes/adc-dark/blue/adc_theme.scss +31 -31
- package/src/themes/adc-dark/blue/theme.scss +14 -14
- package/src/themes/theme-base/_colors.scss +17 -17
- package/src/themes/theme-base/_common.scss +74 -74
- package/src/themes/theme-base/_components.scss +111 -111
- package/src/themes/theme-base/_mixins.scss +243 -243
- package/src/themes/theme-base/components/button/_button.scss +644 -644
- package/src/themes/theme-base/components/button/_speeddial.scss +91 -91
- package/src/themes/theme-base/components/button/_splitbutton.scss +358 -358
- package/src/themes/theme-base/components/data/_carousel.scss +39 -39
- package/src/themes/theme-base/components/data/_datascroller.scss +47 -47
- package/src/themes/theme-base/components/data/_datatable.scss +388 -388
- package/src/themes/theme-base/components/data/_dataview.scss +47 -47
- package/src/themes/theme-base/components/data/_filter.scss +137 -137
- package/src/themes/theme-base/components/data/_orderlist.scss +86 -86
- package/src/themes/theme-base/components/data/_organizationchart.scss +50 -50
- package/src/themes/theme-base/components/data/_paginator.scss +91 -91
- package/src/themes/theme-base/components/data/_picklist.scss +73 -73
- package/src/themes/theme-base/components/data/_timeline.scss +38 -38
- package/src/themes/theme-base/components/data/_tree.scss +184 -184
- package/src/themes/theme-base/components/data/_treetable.scss +431 -431
- package/src/themes/theme-base/components/file/_fileupload.scss +41 -41
- package/src/themes/theme-base/components/input/_autocomplete.scss +94 -94
- package/src/themes/theme-base/components/input/_calendar.scss +251 -251
- package/src/themes/theme-base/components/input/_cascadeselect.scss +107 -107
- package/src/themes/theme-base/components/input/_checkbox.scss +181 -181
- package/src/themes/theme-base/components/input/_chips.scss +102 -102
- package/src/themes/theme-base/components/input/_colorpicker.scss +17 -17
- package/src/themes/theme-base/components/input/_dropdown.scss +252 -252
- package/src/themes/theme-base/components/input/_editor.scss +122 -122
- package/src/themes/theme-base/components/input/_iconfield.scss +9 -9
- package/src/themes/theme-base/components/input/_inputgroup.scss +74 -74
- package/src/themes/theme-base/components/input/_inputicon.scss +14 -14
- package/src/themes/theme-base/components/input/_inputnumber.scss +4 -4
- package/src/themes/theme-base/components/input/_inputotp.scss +10 -10
- package/src/themes/theme-base/components/input/_inputswitch.scss +99 -99
- package/src/themes/theme-base/components/input/_inputtext.scss +101 -101
- package/src/themes/theme-base/components/input/_listbox.scss +138 -138
- package/src/themes/theme-base/components/input/_mention.scss +30 -30
- package/src/themes/theme-base/components/input/_multiselect.scss +278 -278
- package/src/themes/theme-base/components/input/_password.scss +32 -32
- package/src/themes/theme-base/components/input/_radiobutton.scss +169 -169
- package/src/themes/theme-base/components/input/_rating.scss +80 -80
- package/src/themes/theme-base/components/input/_selectbutton.scss +49 -49
- package/src/themes/theme-base/components/input/_slider.scss +49 -49
- package/src/themes/theme-base/components/input/_togglebutton.scss +99 -99
- package/src/themes/theme-base/components/input/_treeselect.scss +151 -151
- package/src/themes/theme-base/components/input/_tristatecheckbox.scss +46 -46
- package/src/themes/theme-base/components/menu/_breadcrumb.scss +42 -42
- package/src/themes/theme-base/components/menu/_contextmenu.scss +39 -39
- package/src/themes/theme-base/components/menu/_dock.scss +109 -109
- package/src/themes/theme-base/components/menu/_megamenu.scss +141 -141
- package/src/themes/theme-base/components/menu/_menu.scss +33 -33
- package/src/themes/theme-base/components/menu/_menubar.scss +216 -216
- package/src/themes/theme-base/components/menu/_panelmenu.scss +153 -153
- package/src/themes/theme-base/components/menu/_slidemenu.scss +60 -60
- package/src/themes/theme-base/components/menu/_steps.scss +57 -57
- package/src/themes/theme-base/components/menu/_tabmenu.scss +50 -50
- package/src/themes/theme-base/components/menu/_tieredmenu.scss +43 -43
- package/src/themes/theme-base/components/messages/_inlinemessage.scss +69 -69
- package/src/themes/theme-base/components/messages/_message.scss +107 -107
- package/src/themes/theme-base/components/messages/_toast.scss +100 -100
- package/src/themes/theme-base/components/misc/_avatar.scss +33 -33
- package/src/themes/theme-base/components/misc/_badge.scss +76 -76
- package/src/themes/theme-base/components/misc/_chip.scss +38 -38
- package/src/themes/theme-base/components/misc/_inplace.scss +17 -17
- package/src/themes/theme-base/components/misc/_metergroup.scss +80 -80
- package/src/themes/theme-base/components/misc/_progressbar.scss +17 -17
- package/src/themes/theme-base/components/misc/_scrolltop.scss +24 -24
- package/src/themes/theme-base/components/misc/_skeleton.scss +7 -7
- package/src/themes/theme-base/components/misc/_tag.scss +39 -39
- package/src/themes/theme-base/components/misc/_terminal.scss +12 -12
- package/src/themes/theme-base/components/multimedia/_galleria.scss +153 -153
- package/src/themes/theme-base/components/multimedia/_image.scss +53 -53
- package/src/themes/theme-base/components/overlay/_confirmpopup.scss +72 -72
- package/src/themes/theme-base/components/overlay/_dialog.scss +78 -78
- package/src/themes/theme-base/components/overlay/_overlaypanel.scss +64 -64
- package/src/themes/theme-base/components/overlay/_sidebar.scss +23 -23
- package/src/themes/theme-base/components/overlay/_tooltip.scss +33 -33
- package/src/themes/theme-base/components/panel/_accordion.scss +118 -118
- package/src/themes/theme-base/components/panel/_card.scss +30 -30
- package/src/themes/theme-base/components/panel/_divider.scss +30 -30
- package/src/themes/theme-base/components/panel/_fieldset.scss +47 -47
- package/src/themes/theme-base/components/panel/_panel.scss +47 -47
- package/src/themes/theme-base/components/panel/_scrollpanel.scss +10 -10
- package/src/themes/theme-base/components/panel/_splitter.scss +23 -23
- package/src/themes/theme-base/components/panel/_stepper.scss +136 -136
- package/src/themes/theme-base/components/panel/_tabview.scss +147 -147
- package/src/themes/theme-base/components/panel/_toolbar.scss +11 -11
- package/terser.config.cjs +25 -25
- package/todo.md +18 -18
- package/tools/build-themes.cjs +65 -65
- package/tools/copy-distribution-files.cjs +77 -77
- package/tools/minify.cjs +55 -55
- package/tsconfig.json +48 -48
- package/typedoc.json +12 -12
- package/.claude/settings.local.json +0 -7
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2024 Automated Design Corp. All Rights Reserved.
|
|
3
|
-
* Created Date: 2024-01-08 13:01:16
|
|
4
|
-
* Author: Thomas C. Bitsky Jr.
|
|
5
|
-
* -----
|
|
6
|
-
* Last Modified: 2025-07-16 13:37:05
|
|
7
|
-
* Modified By: ADC
|
|
8
|
-
* -----
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
//
|
|
14
|
-
// Copy items into dist needed for publication of the package.
|
|
15
|
-
// Typescript files will be created autmatically, but other
|
|
16
|
-
// resources need to be specified.
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const fs = require('fs');
|
|
21
|
-
const path = require('path');
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Copy css files recursively.
|
|
25
|
-
* @param {*} srcDir
|
|
26
|
-
* @param {*} destDir
|
|
27
|
-
*/
|
|
28
|
-
function copyFilesByType(srcDir, destDir, extension) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// Read the contents of the source directory
|
|
32
|
-
fs.readdir(srcDir, { withFileTypes: true }, (err, files) => {
|
|
33
|
-
if (err) {
|
|
34
|
-
console.error('Error reading directory:', err);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
files.forEach(file => {
|
|
39
|
-
const srcPath = path.join(srcDir, file.name);
|
|
40
|
-
const destPath = path.join(destDir, file.name);
|
|
41
|
-
|
|
42
|
-
if (file.isDirectory()) {
|
|
43
|
-
// If it's a directory, recurse into it
|
|
44
|
-
copyFilesByType(srcPath, destPath, extension);
|
|
45
|
-
} else if (path.extname(file.name) === `.${extension}`) {
|
|
46
|
-
|
|
47
|
-
// If it's a matching type of file file, copy it.
|
|
48
|
-
|
|
49
|
-
//
|
|
50
|
-
// Create the destination directory if it doesn't exist
|
|
51
|
-
// We moved this here so that the directory only gets created if
|
|
52
|
-
// it contains matching file types.
|
|
53
|
-
//
|
|
54
|
-
if (!fs.existsSync(destDir)) {
|
|
55
|
-
fs.mkdirSync(destDir, { recursive: true });
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
fs.copyFile(srcPath, destPath, err => {
|
|
59
|
-
if (err) {
|
|
60
|
-
console.error('Error copying file:', err);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
//
|
|
69
|
-
// Specify the file types that won't be included by tsc to be added to the distribution.
|
|
70
|
-
//
|
|
71
|
-
|
|
72
|
-
copyFilesByType("./src", "./dist", "css");
|
|
73
|
-
copyFilesByType("./src", "./dist", "ttf");
|
|
74
|
-
copyFilesByType("./src", "./dist", "woff2");
|
|
75
|
-
copyFilesByType("./src", "./dist", "svg");
|
|
76
|
-
|
|
77
|
-
// JavaScript files won't be processed by tsc
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2024 Automated Design Corp. All Rights Reserved.
|
|
3
|
+
* Created Date: 2024-01-08 13:01:16
|
|
4
|
+
* Author: Thomas C. Bitsky Jr.
|
|
5
|
+
* -----
|
|
6
|
+
* Last Modified: 2025-07-16 13:37:05
|
|
7
|
+
* Modified By: ADC
|
|
8
|
+
* -----
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
//
|
|
14
|
+
// Copy items into dist needed for publication of the package.
|
|
15
|
+
// Typescript files will be created autmatically, but other
|
|
16
|
+
// resources need to be specified.
|
|
17
|
+
//
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
const fs = require('fs');
|
|
21
|
+
const path = require('path');
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Copy css files recursively.
|
|
25
|
+
* @param {*} srcDir
|
|
26
|
+
* @param {*} destDir
|
|
27
|
+
*/
|
|
28
|
+
function copyFilesByType(srcDir, destDir, extension) {
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
// Read the contents of the source directory
|
|
32
|
+
fs.readdir(srcDir, { withFileTypes: true }, (err, files) => {
|
|
33
|
+
if (err) {
|
|
34
|
+
console.error('Error reading directory:', err);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
files.forEach(file => {
|
|
39
|
+
const srcPath = path.join(srcDir, file.name);
|
|
40
|
+
const destPath = path.join(destDir, file.name);
|
|
41
|
+
|
|
42
|
+
if (file.isDirectory()) {
|
|
43
|
+
// If it's a directory, recurse into it
|
|
44
|
+
copyFilesByType(srcPath, destPath, extension);
|
|
45
|
+
} else if (path.extname(file.name) === `.${extension}`) {
|
|
46
|
+
|
|
47
|
+
// If it's a matching type of file file, copy it.
|
|
48
|
+
|
|
49
|
+
//
|
|
50
|
+
// Create the destination directory if it doesn't exist
|
|
51
|
+
// We moved this here so that the directory only gets created if
|
|
52
|
+
// it contains matching file types.
|
|
53
|
+
//
|
|
54
|
+
if (!fs.existsSync(destDir)) {
|
|
55
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
fs.copyFile(srcPath, destPath, err => {
|
|
59
|
+
if (err) {
|
|
60
|
+
console.error('Error copying file:', err);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
//
|
|
69
|
+
// Specify the file types that won't be included by tsc to be added to the distribution.
|
|
70
|
+
//
|
|
71
|
+
|
|
72
|
+
copyFilesByType("./src", "./dist", "css");
|
|
73
|
+
copyFilesByType("./src", "./dist", "ttf");
|
|
74
|
+
copyFilesByType("./src", "./dist", "woff2");
|
|
75
|
+
copyFilesByType("./src", "./dist", "svg");
|
|
76
|
+
|
|
77
|
+
// JavaScript files won't be processed by tsc
|
|
78
78
|
//copyFilesByType("./src", "./dist", "js");
|
package/tools/minify.cjs
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2024 Automated Design Corp. All Rights Reserved.
|
|
3
|
-
* Created Date: 2024-01-15 09:48:58
|
|
4
|
-
* Author: Thomas C. Bitsky Jr.
|
|
5
|
-
* -----
|
|
6
|
-
* Last Modified: 2024-01-16 16:30:39
|
|
7
|
-
* Modified By: Thomas C. Bitsky Jr.
|
|
8
|
-
* -----
|
|
9
|
-
*
|
|
10
|
-
* These scripts recursively minify a directory in-place based on the settings in
|
|
11
|
-
* ./terser.config.cjs
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const terser = require("terser");
|
|
18
|
-
const fs = require("fs");
|
|
19
|
-
const path = require("path");
|
|
20
|
-
const terserConfig = require("../terser.config.cjs");
|
|
21
|
-
|
|
22
|
-
const distFolder = './dist'; // Path to your dist folder
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Recursively minify the JS files in a folder.
|
|
29
|
-
* @param {string} s Target folder
|
|
30
|
-
*/
|
|
31
|
-
function minifyFolder(s) {
|
|
32
|
-
|
|
33
|
-
fs.readdirSync(s).forEach(file => {
|
|
34
|
-
const filePath = path.join(s, file);
|
|
35
|
-
|
|
36
|
-
console.log(`Minifying path ${filePath}`);
|
|
37
|
-
|
|
38
|
-
if (fs.lstatSync(filePath).isFile() && filePath.endsWith('.js')) {
|
|
39
|
-
console.log(`Minifying ${file}...`);
|
|
40
|
-
const fileContents = fs.readFileSync(filePath, 'utf8');
|
|
41
|
-
terser.minify(fileContents, terserConfig).then(minified => {
|
|
42
|
-
fs.writeFileSync(filePath, minified.code);
|
|
43
|
-
}).catch(error => {
|
|
44
|
-
console.error(`Error minifying ${file}:`, error);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else if (fs.lstatSync(filePath).isDirectory()) {
|
|
48
|
-
minifyFolder(filePath)
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
// Start the process by scanning the top-level distribution folder.
|
|
55
|
-
//
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2024 Automated Design Corp. All Rights Reserved.
|
|
3
|
+
* Created Date: 2024-01-15 09:48:58
|
|
4
|
+
* Author: Thomas C. Bitsky Jr.
|
|
5
|
+
* -----
|
|
6
|
+
* Last Modified: 2024-01-16 16:30:39
|
|
7
|
+
* Modified By: Thomas C. Bitsky Jr.
|
|
8
|
+
* -----
|
|
9
|
+
*
|
|
10
|
+
* These scripts recursively minify a directory in-place based on the settings in
|
|
11
|
+
* ./terser.config.cjs
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
const terser = require("terser");
|
|
18
|
+
const fs = require("fs");
|
|
19
|
+
const path = require("path");
|
|
20
|
+
const terserConfig = require("../terser.config.cjs");
|
|
21
|
+
|
|
22
|
+
const distFolder = './dist'; // Path to your dist folder
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Recursively minify the JS files in a folder.
|
|
29
|
+
* @param {string} s Target folder
|
|
30
|
+
*/
|
|
31
|
+
function minifyFolder(s) {
|
|
32
|
+
|
|
33
|
+
fs.readdirSync(s).forEach(file => {
|
|
34
|
+
const filePath = path.join(s, file);
|
|
35
|
+
|
|
36
|
+
console.log(`Minifying path ${filePath}`);
|
|
37
|
+
|
|
38
|
+
if (fs.lstatSync(filePath).isFile() && filePath.endsWith('.js')) {
|
|
39
|
+
console.log(`Minifying ${file}...`);
|
|
40
|
+
const fileContents = fs.readFileSync(filePath, 'utf8');
|
|
41
|
+
terser.minify(fileContents, terserConfig).then(minified => {
|
|
42
|
+
fs.writeFileSync(filePath, minified.code);
|
|
43
|
+
}).catch(error => {
|
|
44
|
+
console.error(`Error minifying ${file}:`, error);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
else if (fs.lstatSync(filePath).isDirectory()) {
|
|
48
|
+
minifyFolder(filePath)
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//
|
|
54
|
+
// Start the process by scanning the top-level distribution folder.
|
|
55
|
+
//
|
|
56
56
|
minifyFolder(distFolder);
|
package/tsconfig.json
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2020", // Set the JavaScript language version for emitted JavaScript and include compatible library declarations
|
|
4
|
-
"outDir": "./dist", // Specify an output folder for all emitted files
|
|
5
|
-
"useDefineForClassFields": true, // Use 'define' semantics for class fields (as opposed to 'set')
|
|
6
|
-
// Specify a set of compiled-in library files to be included in the compilation context
|
|
7
|
-
"lib": [
|
|
8
|
-
"ES2020",
|
|
9
|
-
"DOM",
|
|
10
|
-
"DOM.Iterable"
|
|
11
|
-
],
|
|
12
|
-
"module": "ESNext", // Specify what module code is generated (here, it's the latest module standard)
|
|
13
|
-
"declaration": true, // Generate the types files (*.d.ts)
|
|
14
|
-
"skipLibCheck": true, // Skip type checking of declaration files (*.d.ts)
|
|
15
|
-
/* Bundler mode */
|
|
16
|
-
"moduleResolution": "bundler", // "node", // Choose the module resolution strategy: 'node' for Node.js
|
|
17
|
-
"allowSyntheticDefaultImports": true, // Allow default imports from modules with no default export
|
|
18
|
-
"resolveJsonModule": true, // Include modules imported with '.json' extension
|
|
19
|
-
"isolatedModules": true, // Ensure each file can be safely transpiled without relying on other imports
|
|
20
|
-
"noEmit": false, // Do not emit outputs (if set to true, no files are emitted)
|
|
21
|
-
"jsx": "react-jsx", // Specify JSX code generation: 'preserve', 'react', or 'react-jsx' (new transform)
|
|
22
|
-
/* Linting */
|
|
23
|
-
"strict": true, // Enable all strict type checking options
|
|
24
|
-
"noUnusedLocals": true, // Report errors on unused locals
|
|
25
|
-
"noUnusedParameters": true, // Report errors on unused parameters
|
|
26
|
-
"noFallthroughCasesInSwitch": true, // Report errors for fallthrough cases in switch statement
|
|
27
|
-
|
|
28
|
-
/* publish doc along with js code to help with auto-completion */
|
|
29
|
-
"declarationMap": true, // nice for “go to definition”
|
|
30
|
-
"emitDeclarationOnly": false, // we want JS + types (default is fine)
|
|
31
|
-
"removeComments": false, // JS comments: optional; .d.ts will still carry JSDoc
|
|
32
|
-
"stripInternal": true, // hides /** @internal */ APIs from .d.ts (optional)
|
|
33
|
-
|
|
34
|
-
/* helpful for cross-platform support */
|
|
35
|
-
"forceConsistentCasingInFileNames": true,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"rootDir" : "src",
|
|
40
|
-
"verbatimModuleSyntax": true, // This keeps import/export syntax intact and avoids synthetic re-exports TS sometimes injects:
|
|
41
|
-
},
|
|
42
|
-
"include": [
|
|
43
|
-
"src"
|
|
44
|
-
], // Specify file glob patterns to include in the program
|
|
45
|
-
"exclude": [ // Specify file globa patterns to exclude from compilation
|
|
46
|
-
"node_modules",
|
|
47
|
-
"dist"
|
|
48
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020", // Set the JavaScript language version for emitted JavaScript and include compatible library declarations
|
|
4
|
+
"outDir": "./dist", // Specify an output folder for all emitted files
|
|
5
|
+
"useDefineForClassFields": true, // Use 'define' semantics for class fields (as opposed to 'set')
|
|
6
|
+
// Specify a set of compiled-in library files to be included in the compilation context
|
|
7
|
+
"lib": [
|
|
8
|
+
"ES2020",
|
|
9
|
+
"DOM",
|
|
10
|
+
"DOM.Iterable"
|
|
11
|
+
],
|
|
12
|
+
"module": "ESNext", // Specify what module code is generated (here, it's the latest module standard)
|
|
13
|
+
"declaration": true, // Generate the types files (*.d.ts)
|
|
14
|
+
"skipLibCheck": true, // Skip type checking of declaration files (*.d.ts)
|
|
15
|
+
/* Bundler mode */
|
|
16
|
+
"moduleResolution": "bundler", // "node", // Choose the module resolution strategy: 'node' for Node.js
|
|
17
|
+
"allowSyntheticDefaultImports": true, // Allow default imports from modules with no default export
|
|
18
|
+
"resolveJsonModule": true, // Include modules imported with '.json' extension
|
|
19
|
+
"isolatedModules": true, // Ensure each file can be safely transpiled without relying on other imports
|
|
20
|
+
"noEmit": false, // Do not emit outputs (if set to true, no files are emitted)
|
|
21
|
+
"jsx": "react-jsx", // Specify JSX code generation: 'preserve', 'react', or 'react-jsx' (new transform)
|
|
22
|
+
/* Linting */
|
|
23
|
+
"strict": true, // Enable all strict type checking options
|
|
24
|
+
"noUnusedLocals": true, // Report errors on unused locals
|
|
25
|
+
"noUnusedParameters": true, // Report errors on unused parameters
|
|
26
|
+
"noFallthroughCasesInSwitch": true, // Report errors for fallthrough cases in switch statement
|
|
27
|
+
|
|
28
|
+
/* publish doc along with js code to help with auto-completion */
|
|
29
|
+
"declarationMap": true, // nice for “go to definition”
|
|
30
|
+
"emitDeclarationOnly": false, // we want JS + types (default is fine)
|
|
31
|
+
"removeComments": false, // JS comments: optional; .d.ts will still carry JSDoc
|
|
32
|
+
"stripInternal": true, // hides /** @internal */ APIs from .d.ts (optional)
|
|
33
|
+
|
|
34
|
+
/* helpful for cross-platform support */
|
|
35
|
+
"forceConsistentCasingInFileNames": true,
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
"rootDir" : "src",
|
|
40
|
+
"verbatimModuleSyntax": true, // This keeps import/export syntax intact and avoids synthetic re-exports TS sometimes injects:
|
|
41
|
+
},
|
|
42
|
+
"include": [
|
|
43
|
+
"src"
|
|
44
|
+
], // Specify file glob patterns to include in the program
|
|
45
|
+
"exclude": [ // Specify file globa patterns to exclude from compilation
|
|
46
|
+
"node_modules",
|
|
47
|
+
"dist"
|
|
48
|
+
]
|
|
49
49
|
}
|
package/typedoc.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"out": "docs",
|
|
3
|
-
"entryPoints": ["src"],
|
|
4
|
-
"entryPointStrategy": "expand",
|
|
5
|
-
"tsconfig": "tsconfig.json",
|
|
6
|
-
"exclude": [
|
|
7
|
-
"**/*.test.ts", "**/node_modules"
|
|
8
|
-
],
|
|
9
|
-
"name": "autocore-react",
|
|
10
|
-
"includeVersion": true,
|
|
11
|
-
"readme": "readme.md",
|
|
12
|
-
"theme": "default"
|
|
1
|
+
{
|
|
2
|
+
"out": "docs",
|
|
3
|
+
"entryPoints": ["src"],
|
|
4
|
+
"entryPointStrategy": "expand",
|
|
5
|
+
"tsconfig": "tsconfig.json",
|
|
6
|
+
"exclude": [
|
|
7
|
+
"**/*.test.ts", "**/node_modules"
|
|
8
|
+
],
|
|
9
|
+
"name": "autocore-react",
|
|
10
|
+
"includeVersion": true,
|
|
11
|
+
"readme": "readme.md",
|
|
12
|
+
"theme": "default"
|
|
13
13
|
}
|