tm1npm 1.0.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.
- package/.env.example +16 -0
- package/.eslintrc.js +28 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- package/.github/ISSUE_TEMPLATE/question.md +24 -0
- package/.github/workflows/publish-npm.yml +53 -0
- package/.github/workflows/test-on-tag.yml +172 -0
- package/DEVELOPMENT_GUIDE.md +587 -0
- package/LICENSE +21 -0
- package/README.md +580 -0
- package/jest.ci.config.js +83 -0
- package/jest.config.js +68 -0
- package/lib/exceptions/TM1Exception.d.ts +17 -0
- package/lib/exceptions/TM1Exception.d.ts.map +1 -0
- package/lib/exceptions/TM1Exception.js +36 -0
- package/lib/exceptions/TM1RestException.d.ts +10 -0
- package/lib/exceptions/TM1RestException.d.ts.map +1 -0
- package/lib/exceptions/TM1RestException.js +17 -0
- package/lib/exceptions/TM1TimeoutException.d.ts +9 -0
- package/lib/exceptions/TM1TimeoutException.d.ts.map +1 -0
- package/lib/exceptions/TM1TimeoutException.js +16 -0
- package/lib/index.d.ts +41 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +132 -0
- package/lib/objects/Annotation.d.ts +36 -0
- package/lib/objects/Annotation.d.ts.map +1 -0
- package/lib/objects/Annotation.js +134 -0
- package/lib/objects/Application.d.ts +67 -0
- package/lib/objects/Application.d.ts.map +1 -0
- package/lib/objects/Application.js +125 -0
- package/lib/objects/Axis.d.ts +36 -0
- package/lib/objects/Axis.d.ts.map +1 -0
- package/lib/objects/Axis.js +103 -0
- package/lib/objects/Chore.d.ts +43 -0
- package/lib/objects/Chore.d.ts.map +1 -0
- package/lib/objects/Chore.js +129 -0
- package/lib/objects/ChoreFrequency.d.ts +23 -0
- package/lib/objects/ChoreFrequency.d.ts.map +1 -0
- package/lib/objects/ChoreFrequency.js +61 -0
- package/lib/objects/ChoreStartTime.d.ts +15 -0
- package/lib/objects/ChoreStartTime.d.ts.map +1 -0
- package/lib/objects/ChoreStartTime.js +85 -0
- package/lib/objects/ChoreTask.d.ts +28 -0
- package/lib/objects/ChoreTask.d.ts.map +1 -0
- package/lib/objects/ChoreTask.js +66 -0
- package/lib/objects/Cube.d.ts +26 -0
- package/lib/objects/Cube.d.ts.map +1 -0
- package/lib/objects/Cube.js +109 -0
- package/lib/objects/Dimension.d.ts +26 -0
- package/lib/objects/Dimension.d.ts.map +1 -0
- package/lib/objects/Dimension.js +86 -0
- package/lib/objects/Element.d.ts +35 -0
- package/lib/objects/Element.d.ts.map +1 -0
- package/lib/objects/Element.js +115 -0
- package/lib/objects/ElementAttribute.d.ts +28 -0
- package/lib/objects/ElementAttribute.d.ts.map +1 -0
- package/lib/objects/ElementAttribute.js +97 -0
- package/lib/objects/Git.d.ts +21 -0
- package/lib/objects/Git.d.ts.map +1 -0
- package/lib/objects/Git.js +49 -0
- package/lib/objects/GitCommit.d.ts +12 -0
- package/lib/objects/GitCommit.d.ts.map +1 -0
- package/lib/objects/GitCommit.js +26 -0
- package/lib/objects/GitPlan.d.ts +35 -0
- package/lib/objects/GitPlan.d.ts.map +1 -0
- package/lib/objects/GitPlan.js +78 -0
- package/lib/objects/GitRemote.d.ts +12 -0
- package/lib/objects/GitRemote.d.ts.map +1 -0
- package/lib/objects/GitRemote.js +26 -0
- package/lib/objects/Hierarchy.d.ts +47 -0
- package/lib/objects/Hierarchy.d.ts.map +1 -0
- package/lib/objects/Hierarchy.js +165 -0
- package/lib/objects/MDXView.d.ts +19 -0
- package/lib/objects/MDXView.d.ts.map +1 -0
- package/lib/objects/MDXView.js +67 -0
- package/lib/objects/NativeView.d.ts +39 -0
- package/lib/objects/NativeView.d.ts.map +1 -0
- package/lib/objects/NativeView.js +209 -0
- package/lib/objects/Process.d.ts +70 -0
- package/lib/objects/Process.d.ts.map +1 -0
- package/lib/objects/Process.js +210 -0
- package/lib/objects/ProcessDebugBreakpoint.d.ts +60 -0
- package/lib/objects/ProcessDebugBreakpoint.d.ts.map +1 -0
- package/lib/objects/ProcessDebugBreakpoint.js +168 -0
- package/lib/objects/ProcessParameter.d.ts +23 -0
- package/lib/objects/ProcessParameter.d.ts.map +1 -0
- package/lib/objects/ProcessParameter.js +55 -0
- package/lib/objects/ProcessVariable.d.ts +26 -0
- package/lib/objects/ProcessVariable.d.ts.map +1 -0
- package/lib/objects/ProcessVariable.js +63 -0
- package/lib/objects/Rules.d.ts +30 -0
- package/lib/objects/Rules.d.ts.map +1 -0
- package/lib/objects/Rules.js +103 -0
- package/lib/objects/Sandbox.d.ts +21 -0
- package/lib/objects/Sandbox.d.ts.map +1 -0
- package/lib/objects/Sandbox.js +64 -0
- package/lib/objects/Server.d.ts +27 -0
- package/lib/objects/Server.d.ts.map +1 -0
- package/lib/objects/Server.js +26 -0
- package/lib/objects/Subset.d.ts +44 -0
- package/lib/objects/Subset.d.ts.map +1 -0
- package/lib/objects/Subset.js +222 -0
- package/lib/objects/TM1Object.d.ts +8 -0
- package/lib/objects/TM1Object.d.ts.map +1 -0
- package/lib/objects/TM1Object.js +17 -0
- package/lib/objects/TM1Project.d.ts +74 -0
- package/lib/objects/TM1Project.d.ts.map +1 -0
- package/lib/objects/TM1Project.js +409 -0
- package/lib/objects/User.d.ts +42 -0
- package/lib/objects/User.d.ts.map +1 -0
- package/lib/objects/User.js +157 -0
- package/lib/objects/View.d.ts +19 -0
- package/lib/objects/View.d.ts.map +1 -0
- package/lib/objects/View.js +33 -0
- package/lib/objects/index.d.ts +30 -0
- package/lib/objects/index.d.ts.map +1 -0
- package/lib/objects/index.js +68 -0
- package/lib/services/AnnotationService.d.ts +17 -0
- package/lib/services/AnnotationService.d.ts.map +1 -0
- package/lib/services/AnnotationService.js +91 -0
- package/lib/services/ApplicationService.d.ts +21 -0
- package/lib/services/ApplicationService.d.ts.map +1 -0
- package/lib/services/ApplicationService.js +227 -0
- package/lib/services/AuditLogService.d.ts +15 -0
- package/lib/services/AuditLogService.d.ts.map +1 -0
- package/lib/services/AuditLogService.js +153 -0
- package/lib/services/CellService.d.ts +191 -0
- package/lib/services/CellService.d.ts.map +1 -0
- package/lib/services/CellService.js +597 -0
- package/lib/services/ChoreService.d.ts +24 -0
- package/lib/services/ChoreService.d.ts.map +1 -0
- package/lib/services/ChoreService.js +219 -0
- package/lib/services/ConfigurationService.d.ts +18 -0
- package/lib/services/ConfigurationService.d.ts.map +1 -0
- package/lib/services/ConfigurationService.js +60 -0
- package/lib/services/CubeService.d.ts +43 -0
- package/lib/services/CubeService.d.ts.map +1 -0
- package/lib/services/CubeService.js +296 -0
- package/lib/services/DimensionService.d.ts +21 -0
- package/lib/services/DimensionService.d.ts.map +1 -0
- package/lib/services/DimensionService.js +146 -0
- package/lib/services/ElementService.d.ts +132 -0
- package/lib/services/ElementService.d.ts.map +1 -0
- package/lib/services/ElementService.js +579 -0
- package/lib/services/FileService.d.ts +14 -0
- package/lib/services/FileService.d.ts.map +1 -0
- package/lib/services/FileService.js +65 -0
- package/lib/services/GitService.d.ts +23 -0
- package/lib/services/GitService.d.ts.map +1 -0
- package/lib/services/GitService.js +225 -0
- package/lib/services/HierarchyService.d.ts +32 -0
- package/lib/services/HierarchyService.d.ts.map +1 -0
- package/lib/services/HierarchyService.js +235 -0
- package/lib/services/JobService.d.ts +13 -0
- package/lib/services/JobService.d.ts.map +1 -0
- package/lib/services/JobService.js +83 -0
- package/lib/services/LoggerService.d.ts +16 -0
- package/lib/services/LoggerService.d.ts.map +1 -0
- package/lib/services/LoggerService.js +101 -0
- package/lib/services/ManageService.d.ts +47 -0
- package/lib/services/ManageService.d.ts.map +1 -0
- package/lib/services/ManageService.js +221 -0
- package/lib/services/MessageLogService.d.ts +13 -0
- package/lib/services/MessageLogService.d.ts.map +1 -0
- package/lib/services/MessageLogService.js +175 -0
- package/lib/services/MonitoringService.d.ts +29 -0
- package/lib/services/MonitoringService.d.ts.map +1 -0
- package/lib/services/MonitoringService.js +86 -0
- package/lib/services/ObjectService.d.ts +8 -0
- package/lib/services/ObjectService.d.ts.map +1 -0
- package/lib/services/ObjectService.js +20 -0
- package/lib/services/PowerBiService.d.ts +13 -0
- package/lib/services/PowerBiService.d.ts.map +1 -0
- package/lib/services/PowerBiService.js +52 -0
- package/lib/services/ProcessService.d.ts +57 -0
- package/lib/services/ProcessService.d.ts.map +1 -0
- package/lib/services/ProcessService.js +499 -0
- package/lib/services/RestService.d.ts +68 -0
- package/lib/services/RestService.d.ts.map +1 -0
- package/lib/services/RestService.js +166 -0
- package/lib/services/SandboxService.d.ts +28 -0
- package/lib/services/SandboxService.d.ts.map +1 -0
- package/lib/services/SandboxService.js +197 -0
- package/lib/services/SecurityService.d.ts +33 -0
- package/lib/services/SecurityService.d.ts.map +1 -0
- package/lib/services/SecurityService.js +249 -0
- package/lib/services/ServerService.d.ts +55 -0
- package/lib/services/ServerService.d.ts.map +1 -0
- package/lib/services/ServerService.js +247 -0
- package/lib/services/SessionService.d.ts +15 -0
- package/lib/services/SessionService.d.ts.map +1 -0
- package/lib/services/SessionService.js +68 -0
- package/lib/services/SubsetService.d.ts +13 -0
- package/lib/services/SubsetService.d.ts.map +1 -0
- package/lib/services/SubsetService.js +46 -0
- package/lib/services/TM1Service.d.ts +39 -0
- package/lib/services/TM1Service.d.ts.map +1 -0
- package/lib/services/TM1Service.js +94 -0
- package/lib/services/ThreadService.d.ts +15 -0
- package/lib/services/ThreadService.d.ts.map +1 -0
- package/lib/services/ThreadService.js +104 -0
- package/lib/services/TransactionLogService.d.ts +11 -0
- package/lib/services/TransactionLogService.d.ts.map +1 -0
- package/lib/services/TransactionLogService.js +124 -0
- package/lib/services/UserService.d.ts +14 -0
- package/lib/services/UserService.d.ts.map +1 -0
- package/lib/services/UserService.js +103 -0
- package/lib/services/ViewService.d.ts +30 -0
- package/lib/services/ViewService.d.ts.map +1 -0
- package/lib/services/ViewService.js +331 -0
- package/lib/services/index.d.ts +26 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +56 -0
- package/lib/tests/100PercentParityCheck.test.d.ts +6 -0
- package/lib/tests/100PercentParityCheck.test.d.ts.map +1 -0
- package/lib/tests/100PercentParityCheck.test.js +143 -0
- package/lib/tests/basic.test.d.ts +6 -0
- package/lib/tests/basic.test.d.ts.map +1 -0
- package/lib/tests/basic.test.js +52 -0
- package/lib/tests/cellService.test.d.ts +6 -0
- package/lib/tests/cellService.test.d.ts.map +1 -0
- package/lib/tests/cellService.test.js +311 -0
- package/lib/tests/ciSetup.d.ts +6 -0
- package/lib/tests/ciSetup.d.ts.map +1 -0
- package/lib/tests/ciSetup.js +23 -0
- package/lib/tests/comprehensive.service.test.d.ts +6 -0
- package/lib/tests/comprehensive.service.test.d.ts.map +1 -0
- package/lib/tests/comprehensive.service.test.js +507 -0
- package/lib/tests/connection.test.d.ts +6 -0
- package/lib/tests/connection.test.d.ts.map +1 -0
- package/lib/tests/connection.test.js +89 -0
- package/lib/tests/cubeService.test.d.ts +6 -0
- package/lib/tests/cubeService.test.d.ts.map +1 -0
- package/lib/tests/cubeService.test.js +368 -0
- package/lib/tests/dimensionService.comprehensive.test.d.ts +7 -0
- package/lib/tests/dimensionService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/dimensionService.comprehensive.test.js +614 -0
- package/lib/tests/dimensionService.test.d.ts +6 -0
- package/lib/tests/dimensionService.test.d.ts.map +1 -0
- package/lib/tests/dimensionService.test.js +293 -0
- package/lib/tests/edgeCases.test.d.ts +6 -0
- package/lib/tests/edgeCases.test.d.ts.map +1 -0
- package/lib/tests/edgeCases.test.js +301 -0
- package/lib/tests/elementService.comprehensive.test.d.ts +7 -0
- package/lib/tests/elementService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/elementService.comprehensive.test.js +846 -0
- package/lib/tests/elementService.test.d.ts +6 -0
- package/lib/tests/elementService.test.d.ts.map +1 -0
- package/lib/tests/elementService.test.js +350 -0
- package/lib/tests/enhancedCellService.test.d.ts +2 -0
- package/lib/tests/enhancedCellService.test.d.ts.map +1 -0
- package/lib/tests/enhancedCellService.test.js +152 -0
- package/lib/tests/enhancedCubeService.test.d.ts +2 -0
- package/lib/tests/enhancedCubeService.test.d.ts.map +1 -0
- package/lib/tests/enhancedCubeService.test.js +246 -0
- package/lib/tests/enhancedElementService.test.d.ts +2 -0
- package/lib/tests/enhancedElementService.test.d.ts.map +1 -0
- package/lib/tests/enhancedElementService.test.js +199 -0
- package/lib/tests/enhancedViewService.test.d.ts +2 -0
- package/lib/tests/enhancedViewService.test.d.ts.map +1 -0
- package/lib/tests/enhancedViewService.test.js +260 -0
- package/lib/tests/errorHandling.test.d.ts +6 -0
- package/lib/tests/errorHandling.test.d.ts.map +1 -0
- package/lib/tests/errorHandling.test.js +227 -0
- package/lib/tests/exceptions.test.d.ts +7 -0
- package/lib/tests/exceptions.test.d.ts.map +1 -0
- package/lib/tests/exceptions.test.js +257 -0
- package/lib/tests/hierarchyService.test.d.ts +6 -0
- package/lib/tests/hierarchyService.test.d.ts.map +1 -0
- package/lib/tests/hierarchyService.test.js +294 -0
- package/lib/tests/index.test.d.ts +6 -0
- package/lib/tests/index.test.d.ts.map +1 -0
- package/lib/tests/index.test.js +346 -0
- package/lib/tests/integration.test.d.ts +6 -0
- package/lib/tests/integration.test.d.ts.map +1 -0
- package/lib/tests/integration.test.js +302 -0
- package/lib/tests/integrationTests.test.d.ts +2 -0
- package/lib/tests/integrationTests.test.d.ts.map +1 -0
- package/lib/tests/integrationTests.test.js +252 -0
- package/lib/tests/mdx.advanced.test.d.ts +6 -0
- package/lib/tests/mdx.advanced.test.d.ts.map +1 -0
- package/lib/tests/mdx.advanced.test.js +437 -0
- package/lib/tests/objects.improved.test.d.ts +7 -0
- package/lib/tests/objects.improved.test.d.ts.map +1 -0
- package/lib/tests/objects.improved.test.js +302 -0
- package/lib/tests/performance.test.d.ts +6 -0
- package/lib/tests/performance.test.d.ts.map +1 -0
- package/lib/tests/performance.test.js +264 -0
- package/lib/tests/processService.comprehensive.test.d.ts +7 -0
- package/lib/tests/processService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/processService.comprehensive.test.js +656 -0
- package/lib/tests/processService.test.d.ts +6 -0
- package/lib/tests/processService.test.d.ts.map +1 -0
- package/lib/tests/processService.test.js +322 -0
- package/lib/tests/restService.test.d.ts +6 -0
- package/lib/tests/restService.test.d.ts.map +1 -0
- package/lib/tests/restService.test.js +177 -0
- package/lib/tests/security.advanced.test.d.ts +6 -0
- package/lib/tests/security.advanced.test.d.ts.map +1 -0
- package/lib/tests/security.advanced.test.js +407 -0
- package/lib/tests/security.test.d.ts +6 -0
- package/lib/tests/security.test.d.ts.map +1 -0
- package/lib/tests/security.test.js +204 -0
- package/lib/tests/securityService.comprehensive.test.d.ts +7 -0
- package/lib/tests/securityService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/securityService.comprehensive.test.js +457 -0
- package/lib/tests/setup.d.ts +4 -0
- package/lib/tests/setup.d.ts.map +1 -0
- package/lib/tests/setup.js +40 -0
- package/lib/tests/simpleCoverage.test.d.ts +6 -0
- package/lib/tests/simpleCoverage.test.d.ts.map +1 -0
- package/lib/tests/simpleCoverage.test.js +236 -0
- package/lib/tests/stress.performance.test.d.ts +6 -0
- package/lib/tests/stress.performance.test.d.ts.map +1 -0
- package/lib/tests/stress.performance.test.js +423 -0
- package/lib/tests/subsetService.test.d.ts +6 -0
- package/lib/tests/subsetService.test.d.ts.map +1 -0
- package/lib/tests/subsetService.test.js +271 -0
- package/lib/tests/testConfig.d.ts +18 -0
- package/lib/tests/testConfig.d.ts.map +1 -0
- package/lib/tests/testConfig.js +38 -0
- package/lib/tests/testUtils.d.ts +9 -0
- package/lib/tests/testUtils.d.ts.map +1 -0
- package/lib/tests/testUtils.js +100 -0
- package/lib/tests/tm1Service.test.d.ts +7 -0
- package/lib/tests/tm1Service.test.d.ts.map +1 -0
- package/lib/tests/tm1Service.test.js +290 -0
- package/lib/tests/viewService.test.d.ts +6 -0
- package/lib/tests/viewService.test.d.ts.map +1 -0
- package/lib/tests/viewService.test.js +240 -0
- package/lib/utils/Utils.d.ts +90 -0
- package/lib/utils/Utils.d.ts.map +1 -0
- package/lib/utils/Utils.js +379 -0
- package/package.json +81 -0
- package/run-all-tests.js +296 -0
- package/src/exceptions/TM1Exception.ts +38 -0
- package/src/exceptions/TM1RestException.ts +17 -0
- package/src/exceptions/TM1TimeoutException.ts +15 -0
- package/src/index.ts +94 -0
- package/src/objects/Annotation.ts +194 -0
- package/src/objects/Application.ts +146 -0
- package/src/objects/Axis.ts +149 -0
- package/src/objects/Chore.ts +174 -0
- package/src/objects/ChoreFrequency.ts +83 -0
- package/src/objects/ChoreStartTime.ts +111 -0
- package/src/objects/ChoreTask.ts +92 -0
- package/src/objects/Cube.ts +125 -0
- package/src/objects/Dimension.ts +107 -0
- package/src/objects/Element.ts +153 -0
- package/src/objects/ElementAttribute.ts +115 -0
- package/src/objects/Git.ts +86 -0
- package/src/objects/GitCommit.ts +31 -0
- package/src/objects/GitPlan.ts +121 -0
- package/src/objects/GitRemote.ts +31 -0
- package/src/objects/Hierarchy.ts +229 -0
- package/src/objects/MDXView.ts +91 -0
- package/src/objects/NativeView.ts +268 -0
- package/src/objects/Process.ts +320 -0
- package/src/objects/ProcessDebugBreakpoint.ts +239 -0
- package/src/objects/ProcessParameter.ts +76 -0
- package/src/objects/ProcessVariable.ts +89 -0
- package/src/objects/Rules.ts +117 -0
- package/src/objects/Sandbox.ts +90 -0
- package/src/objects/Server.ts +45 -0
- package/src/objects/Subset.ts +323 -0
- package/src/objects/TM1Object.ts +17 -0
- package/src/objects/TM1Project.ts +587 -0
- package/src/objects/User.ts +198 -0
- package/src/objects/View.ts +43 -0
- package/src/objects/index.ts +36 -0
- package/src/services/AnnotationService.ts +107 -0
- package/src/services/ApplicationService.ts +279 -0
- package/src/services/AuditLogService.ts +172 -0
- package/src/services/CellService.ts +814 -0
- package/src/services/ChoreService.ts +219 -0
- package/src/services/ConfigurationService.ts +69 -0
- package/src/services/CubeService.ts +338 -0
- package/src/services/DimensionService.ts +168 -0
- package/src/services/ElementService.ts +966 -0
- package/src/services/FileService.ts +67 -0
- package/src/services/GitService.ts +324 -0
- package/src/services/HierarchyService.ts +284 -0
- package/src/services/JobService.ts +59 -0
- package/src/services/LoggerService.ts +118 -0
- package/src/services/ManageService.ts +322 -0
- package/src/services/MessageLogService.ts +211 -0
- package/src/services/MonitoringService.ts +105 -0
- package/src/services/ObjectService.ts +21 -0
- package/src/services/PowerBiService.ts +85 -0
- package/src/services/ProcessService.ts +589 -0
- package/src/services/RestService.ts +224 -0
- package/src/services/SandboxService.ts +217 -0
- package/src/services/SecurityService.ts +284 -0
- package/src/services/ServerService.ts +313 -0
- package/src/services/SessionService.ts +81 -0
- package/src/services/SubsetService.ts +52 -0
- package/src/services/TM1Service.ts +133 -0
- package/src/services/ThreadService.ts +83 -0
- package/src/services/TransactionLogService.ts +148 -0
- package/src/services/UserService.ts +77 -0
- package/src/services/ViewService.ts +398 -0
- package/src/services/index.ts +28 -0
- package/src/tests/100PercentParityCheck.test.ts +166 -0
- package/src/tests/basic.test.ts +59 -0
- package/src/tests/cellService.test.ts +405 -0
- package/src/tests/ciSetup.ts +26 -0
- package/src/tests/comprehensive.service.test.ts +653 -0
- package/src/tests/config.ini.template +23 -0
- package/src/tests/connection.test.ts +90 -0
- package/src/tests/cubeService.test.ts +458 -0
- package/src/tests/dimensionService.comprehensive.test.ts +786 -0
- package/src/tests/dimensionService.test.ts +373 -0
- package/src/tests/edgeCases.test.ts +358 -0
- package/src/tests/elementService.comprehensive.test.ts +1190 -0
- package/src/tests/elementService.test.ts +472 -0
- package/src/tests/enhancedCellService.test.ts +237 -0
- package/src/tests/enhancedCubeService.test.ts +384 -0
- package/src/tests/enhancedElementService.test.ts +301 -0
- package/src/tests/enhancedViewService.test.ts +373 -0
- package/src/tests/errorHandling.test.ts +264 -0
- package/src/tests/exceptions.test.ts +313 -0
- package/src/tests/hierarchyService.test.ts +386 -0
- package/src/tests/index.test.ts +376 -0
- package/src/tests/integration.test.ts +333 -0
- package/src/tests/integrationTests.test.ts +302 -0
- package/src/tests/mdx.advanced.test.ts +513 -0
- package/src/tests/objects.improved.test.ts +385 -0
- package/src/tests/performance.test.ts +314 -0
- package/src/tests/processService.comprehensive.test.ts +933 -0
- package/src/tests/processService.test.ts +409 -0
- package/src/tests/restService.test.ts +218 -0
- package/src/tests/security.advanced.test.ts +464 -0
- package/src/tests/security.test.ts +233 -0
- package/src/tests/securityService.comprehensive.test.ts +582 -0
- package/src/tests/setup.ts +42 -0
- package/src/tests/simpleCoverage.test.ts +287 -0
- package/src/tests/stress.performance.test.ts +531 -0
- package/src/tests/subsetService.test.ts +350 -0
- package/src/tests/testConfig.ts +53 -0
- package/src/tests/testUtils.ts +94 -0
- package/src/tests/tm1Service.test.ts +361 -0
- package/src/tests/viewService.test.ts +324 -0
- package/src/utils/Utils.ts +395 -0
- package/tests/README.md +57 -0
- package/tests/connection/test-connection.ts +86 -0
- package/tests/edge-cases/edge-cases-test.ts +244 -0
- package/tests/integration/working-test.ts +193 -0
- package/tests/performance/performance-test.ts +133 -0
- package/tests/run-all-tests.sh +106 -0
- package/tests/security/security-test.ts +103 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,587 @@
|
|
|
1
|
+
# 📖 tm1npm Development Guide
|
|
2
|
+
|
|
3
|
+
Welcome to the tm1npm development guide! This document will help you understand how to develop, build, and maintain the tm1npm TypeScript/Node.js module for IBM TM1 and Planning Analytics.
|
|
4
|
+
|
|
5
|
+
## 📋 Table of Contents
|
|
6
|
+
|
|
7
|
+
- [🚀 Getting Started](#-getting-started)
|
|
8
|
+
- [🏗️ Build System](#️-build-system)
|
|
9
|
+
- [🔗 TM1 Connection Testing](#-tm1-connection-testing)
|
|
10
|
+
- [🔍 Code Quality](#-code-quality)
|
|
11
|
+
- [🧹 Maintenance](#-maintenance)
|
|
12
|
+
- [📁 Project Structure](#-project-structure)
|
|
13
|
+
- [⚙️ Configuration](#️-configuration)
|
|
14
|
+
- [🛠️ Development Workflow](#️-development-workflow)
|
|
15
|
+
- [📦 Publishing](#-publishing)
|
|
16
|
+
|
|
17
|
+
## 🚀 Getting Started
|
|
18
|
+
|
|
19
|
+
### Prerequisites
|
|
20
|
+
- **Node.js**: >= 16.0.0
|
|
21
|
+
- **npm**: >= 7.0.0
|
|
22
|
+
- **TypeScript**: ^5.0.0
|
|
23
|
+
|
|
24
|
+
### Installation
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/KimKaoPoo/tm1npm.git
|
|
27
|
+
cd tm1npm
|
|
28
|
+
npm install
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 🏗️ Build System
|
|
32
|
+
|
|
33
|
+
### Core Build Commands
|
|
34
|
+
|
|
35
|
+
#### `npm run build`
|
|
36
|
+
Compiles TypeScript source code to JavaScript in the `lib/` directory.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm run build
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**What it does:**
|
|
43
|
+
- Transpiles all `.ts` files from `src/` to `lib/`
|
|
44
|
+
- Generates type declaration files (`.d.ts`)
|
|
45
|
+
- Applies TypeScript compiler optimizations
|
|
46
|
+
- Creates source maps for debugging
|
|
47
|
+
|
|
48
|
+
**Output:**
|
|
49
|
+
- `lib/` - Compiled JavaScript files
|
|
50
|
+
- `lib/index.js` - Main entry point
|
|
51
|
+
- `lib/index.d.ts` - Type definitions
|
|
52
|
+
|
|
53
|
+
#### `npm run dev`
|
|
54
|
+
Runs TypeScript compiler in watch mode for active development.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npm run dev
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**What it does:**
|
|
61
|
+
- Monitors `src/` directory for file changes
|
|
62
|
+
- Automatically recompiles on save
|
|
63
|
+
- Provides fast incremental compilation
|
|
64
|
+
- Perfect for active development
|
|
65
|
+
|
|
66
|
+
**Use when:**
|
|
67
|
+
- Developing new features
|
|
68
|
+
- Making frequent code changes
|
|
69
|
+
- Need immediate feedback on compilation errors
|
|
70
|
+
|
|
71
|
+
#### `npm run clean`
|
|
72
|
+
Removes build artifacts and coverage reports.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm run clean
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**What it does:**
|
|
79
|
+
- Deletes `lib/` directory
|
|
80
|
+
- Removes `coverage/` reports
|
|
81
|
+
- Cleans up temporary build files
|
|
82
|
+
|
|
83
|
+
**Use when:**
|
|
84
|
+
- Preparing for fresh build
|
|
85
|
+
- Troubleshooting build issues
|
|
86
|
+
- Before publishing
|
|
87
|
+
|
|
88
|
+
#### `npm run prepare`
|
|
89
|
+
Automatically runs before publishing to npm.
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm run prepare
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**What it does:**
|
|
96
|
+
- Automatically triggers `npm run build`
|
|
97
|
+
- Ensures fresh build before package distribution
|
|
98
|
+
- Runs automatically during `npm publish`
|
|
99
|
+
|
|
100
|
+
## 🔗 TM1 Connection Testing
|
|
101
|
+
|
|
102
|
+
⚠️ **Important**: These scripts are designed to test connections to **actual TM1 server instances**. They require a running TM1 server and proper credentials.
|
|
103
|
+
|
|
104
|
+
### Connection Test Scripts
|
|
105
|
+
|
|
106
|
+
#### `npm run test:connection`
|
|
107
|
+
Tests connection to your TM1 server instance.
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
npm run test:connection
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**What it does:**
|
|
114
|
+
- Connects to your configured TM1 server
|
|
115
|
+
- Validates authentication credentials
|
|
116
|
+
- Tests basic REST API connectivity
|
|
117
|
+
- Verifies server accessibility
|
|
118
|
+
|
|
119
|
+
**Prerequisites:**
|
|
120
|
+
- Running TM1 server instance
|
|
121
|
+
- Valid TM1 user credentials
|
|
122
|
+
- Network access to TM1 server
|
|
123
|
+
- Properly configured `.env` file
|
|
124
|
+
|
|
125
|
+
#### `npm run test:simple`
|
|
126
|
+
Runs simplified connection test with minimal operations.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npm run test:simple
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**What it does:**
|
|
133
|
+
- Performs basic TM1 server connection
|
|
134
|
+
- Tests fundamental service availability
|
|
135
|
+
- Minimal server impact
|
|
136
|
+
- Quick connectivity verification
|
|
137
|
+
|
|
138
|
+
#### `npm run test:minimal`
|
|
139
|
+
Most basic connection test for initial setup verification.
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npm run test:minimal
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**What it does:**
|
|
146
|
+
- Validates server reachability
|
|
147
|
+
- Tests authentication only
|
|
148
|
+
- No data operations
|
|
149
|
+
- Perfect for initial setup testing
|
|
150
|
+
|
|
151
|
+
### Advanced TM1 Testing Scripts
|
|
152
|
+
|
|
153
|
+
#### `npm run test:working`
|
|
154
|
+
Comprehensive integration test with real TM1 operations.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
npm run test:working
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**What it does:**
|
|
161
|
+
- Tests multiple TM1 services (dimensions, cubes, processes)
|
|
162
|
+
- Performs read/write operations on server
|
|
163
|
+
- Validates service functionality end-to-end
|
|
164
|
+
- **⚠️ May modify server data** - use with caution
|
|
165
|
+
|
|
166
|
+
#### `npm run test:security`
|
|
167
|
+
Tests TM1 security and authentication features.
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npm run test:security
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**What it does:**
|
|
174
|
+
- Validates user authentication methods
|
|
175
|
+
- Tests security permissions
|
|
176
|
+
- Verifies access control functionality
|
|
177
|
+
- Requires TM1 security admin privileges
|
|
178
|
+
|
|
179
|
+
#### `npm run test:performance`
|
|
180
|
+
Performance testing against TM1 server.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npm run test:performance
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**What it does:**
|
|
187
|
+
- Measures response times for TM1 operations
|
|
188
|
+
- Tests concurrent connection handling
|
|
189
|
+
- Evaluates server performance under load
|
|
190
|
+
- **⚠️ May impact server performance**
|
|
191
|
+
|
|
192
|
+
#### `npm run test:edge-cases`
|
|
193
|
+
Tests edge cases and error handling with TM1 server.
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npm run test:edge-cases
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**What it does:**
|
|
200
|
+
- Tests error conditions and exception handling
|
|
201
|
+
- Validates edge case scenarios
|
|
202
|
+
- Tests server behavior with invalid data
|
|
203
|
+
- May generate expected errors in server logs
|
|
204
|
+
|
|
205
|
+
### Setting Up TM1 Connection
|
|
206
|
+
|
|
207
|
+
#### 1. Environment Configuration
|
|
208
|
+
Create and configure your `.env` file:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Copy the example environment file
|
|
212
|
+
cp .env.example .env
|
|
213
|
+
|
|
214
|
+
# Edit with your TM1 server details
|
|
215
|
+
nano .env
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
#### 2. Required Environment Variables
|
|
219
|
+
```env
|
|
220
|
+
# TM1 Server Connection Settings
|
|
221
|
+
TM1_ADDRESS=your-tm1-server.company.com
|
|
222
|
+
TM1_PORT=8080
|
|
223
|
+
TM1_USER=your-username
|
|
224
|
+
TM1_PASSWORD=your-password
|
|
225
|
+
TM1_SSL=true
|
|
226
|
+
|
|
227
|
+
# Optional Settings
|
|
228
|
+
TM1_NAMESPACE=LDAP
|
|
229
|
+
TM1_DATABASE=tm1srv01
|
|
230
|
+
TM1_TIMEOUT=30000
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
#### 3. Connection Test Workflow
|
|
234
|
+
```bash
|
|
235
|
+
# 1. Start with minimal connection test
|
|
236
|
+
npm run test:minimal
|
|
237
|
+
|
|
238
|
+
# 2. If successful, try simple test
|
|
239
|
+
npm run test:simple
|
|
240
|
+
|
|
241
|
+
# 3. For full validation, run connection test
|
|
242
|
+
npm run test:connection
|
|
243
|
+
|
|
244
|
+
# 4. Advanced testing (use carefully)
|
|
245
|
+
npm run test:working
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### 🔒 Security Considerations
|
|
249
|
+
|
|
250
|
+
**Important Notes:**
|
|
251
|
+
- **Never commit `.env` files** to version control
|
|
252
|
+
- **Use dedicated test credentials** when possible
|
|
253
|
+
- **Test on development servers** before production
|
|
254
|
+
- **Be aware of data modification** in working tests
|
|
255
|
+
- **Monitor server logs** during testing
|
|
256
|
+
|
|
257
|
+
### 🚨 Troubleshooting Connection Issues
|
|
258
|
+
|
|
259
|
+
#### Common Connection Problems
|
|
260
|
+
```bash
|
|
261
|
+
# Network connectivity
|
|
262
|
+
ping your-tm1-server.company.com
|
|
263
|
+
|
|
264
|
+
# Port accessibility
|
|
265
|
+
telnet your-tm1-server.company.com 8080
|
|
266
|
+
|
|
267
|
+
# SSL certificate issues
|
|
268
|
+
# Set TM1_SSL=false for testing (not recommended for production)
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
#### Error Messages and Solutions
|
|
272
|
+
|
|
273
|
+
| Error | Likely Cause | Solution |
|
|
274
|
+
|-------|--------------|----------|
|
|
275
|
+
| `ECONNREFUSED` | Server not running or wrong port | Check server status and port |
|
|
276
|
+
| `Authentication failed` | Invalid credentials | Verify username/password |
|
|
277
|
+
| `SSL/TLS errors` | Certificate issues | Check SSL configuration |
|
|
278
|
+
| `Timeout` | Network/server issues | Increase timeout or check network |
|
|
279
|
+
|
|
280
|
+
### Connection Testing Best Practices
|
|
281
|
+
|
|
282
|
+
1. **Start Small**: Begin with `test:minimal` before advanced tests
|
|
283
|
+
2. **Use Test Servers**: Don't test against production TM1 instances
|
|
284
|
+
3. **Monitor Impact**: Watch server performance during testing
|
|
285
|
+
4. **Clean Up**: Remove any test data created during testing
|
|
286
|
+
5. **Document Results**: Keep track of successful connection configurations
|
|
287
|
+
|
|
288
|
+
## 🔍 Code Quality
|
|
289
|
+
|
|
290
|
+
### Linting Commands
|
|
291
|
+
|
|
292
|
+
#### `npm run lint`
|
|
293
|
+
Analyzes code for style and potential issues.
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
npm run lint
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**What it does:**
|
|
300
|
+
- Runs ESLint on all TypeScript files in `src/`
|
|
301
|
+
- Checks for code style violations
|
|
302
|
+
- Identifies potential bugs and issues
|
|
303
|
+
- Enforces consistent coding standards
|
|
304
|
+
|
|
305
|
+
**Example output:**
|
|
306
|
+
```
|
|
307
|
+
src/services/RestService.ts
|
|
308
|
+
45:12 error Missing return type annotation @typescript-eslint/explicit-function-return-type
|
|
309
|
+
67:8 warning 'unusedVar' is assigned a value but never used @typescript-eslint/no-unused-vars
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
#### `npm run lint:fix`
|
|
313
|
+
Automatically fixes linting issues where possible.
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
npm run lint:fix
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**What it does:**
|
|
320
|
+
- Runs ESLint with `--fix` flag
|
|
321
|
+
- Automatically corrects style issues
|
|
322
|
+
- Formats code according to project standards
|
|
323
|
+
- Reports issues that require manual fixes
|
|
324
|
+
|
|
325
|
+
**Use when:**
|
|
326
|
+
- Before committing code
|
|
327
|
+
- Cleaning up code formatting
|
|
328
|
+
- Preparing for code review
|
|
329
|
+
|
|
330
|
+
## 🧹 Maintenance
|
|
331
|
+
|
|
332
|
+
### Environment Management
|
|
333
|
+
|
|
334
|
+
#### Environment Files
|
|
335
|
+
The project uses environment files for configuration:
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# Create your local environment file
|
|
339
|
+
cp .env.example .env
|
|
340
|
+
# Edit with your TM1 server details
|
|
341
|
+
nano .env
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
**Environment variables:**
|
|
345
|
+
```env
|
|
346
|
+
TM1_ADDRESS=localhost
|
|
347
|
+
TM1_PORT=8080
|
|
348
|
+
TM1_USER=admin
|
|
349
|
+
TM1_PASSWORD=apple
|
|
350
|
+
TM1_SSL=false
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Development Utilities
|
|
354
|
+
|
|
355
|
+
#### File Watching
|
|
356
|
+
```bash
|
|
357
|
+
# Watch mode for development
|
|
358
|
+
npm run dev
|
|
359
|
+
|
|
360
|
+
# In another terminal, run your code
|
|
361
|
+
node lib/index.js
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
#### Debugging Setup
|
|
365
|
+
```typescript
|
|
366
|
+
// Add debug configuration to your IDE
|
|
367
|
+
{
|
|
368
|
+
"type": "node",
|
|
369
|
+
"request": "launch",
|
|
370
|
+
"name": "Debug tm1npm",
|
|
371
|
+
"program": "${workspaceFolder}/lib/index.js",
|
|
372
|
+
"preLaunchTask": "npm: build"
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## 📁 Project Structure
|
|
377
|
+
|
|
378
|
+
```
|
|
379
|
+
tm1npm/
|
|
380
|
+
├── src/ # TypeScript source code
|
|
381
|
+
│ ├── services/ # TM1 service classes
|
|
382
|
+
│ ├── objects/ # TM1 object models
|
|
383
|
+
│ ├── exceptions/ # Custom exceptions
|
|
384
|
+
│ ├── utils/ # Utility functions
|
|
385
|
+
│ └── index.ts # Main entry point
|
|
386
|
+
├── lib/ # Compiled JavaScript (generated)
|
|
387
|
+
├── coverage/ # Coverage reports (generated)
|
|
388
|
+
├── tests/ # Integration test files
|
|
389
|
+
├── .env # Environment configuration
|
|
390
|
+
├── .gitignore # Git ignore patterns
|
|
391
|
+
├── tsconfig.json # TypeScript configuration
|
|
392
|
+
├── jest.config.js # Jest configuration
|
|
393
|
+
├── eslint.config.js # ESLint configuration
|
|
394
|
+
└── package.json # NPM package configuration
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## ⚙️ Configuration
|
|
398
|
+
|
|
399
|
+
### TypeScript Configuration
|
|
400
|
+
The project uses `tsconfig.json` for TypeScript compilation settings:
|
|
401
|
+
|
|
402
|
+
```json
|
|
403
|
+
{
|
|
404
|
+
"compilerOptions": {
|
|
405
|
+
"target": "ES2020",
|
|
406
|
+
"module": "commonjs",
|
|
407
|
+
"outDir": "./lib",
|
|
408
|
+
"rootDir": "./src",
|
|
409
|
+
"strict": true,
|
|
410
|
+
"declaration": true,
|
|
411
|
+
"esModuleInterop": true
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### ESLint Configuration
|
|
417
|
+
Code quality rules are defined in `eslint.config.js`:
|
|
418
|
+
|
|
419
|
+
- **Style**: Consistent code formatting
|
|
420
|
+
- **Type Safety**: TypeScript-specific rules
|
|
421
|
+
- **Best Practices**: JavaScript/Node.js conventions
|
|
422
|
+
- **Custom Rules**: TM1-specific patterns
|
|
423
|
+
|
|
424
|
+
## 🛠️ Development Workflow
|
|
425
|
+
|
|
426
|
+
### 1. Feature Development
|
|
427
|
+
```bash
|
|
428
|
+
# Start development mode
|
|
429
|
+
npm run dev
|
|
430
|
+
|
|
431
|
+
# In another terminal, make your changes
|
|
432
|
+
# The build will automatically update
|
|
433
|
+
|
|
434
|
+
# Check code quality
|
|
435
|
+
npm run lint
|
|
436
|
+
|
|
437
|
+
# Fix any issues
|
|
438
|
+
npm run lint:fix
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
### 2. Code Quality Checks
|
|
442
|
+
```bash
|
|
443
|
+
# Before committing
|
|
444
|
+
npm run lint
|
|
445
|
+
npm run build
|
|
446
|
+
|
|
447
|
+
# Verify everything works
|
|
448
|
+
node lib/index.js
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
### 3. Pre-commit Checklist
|
|
452
|
+
- [ ] `npm run lint` passes without errors
|
|
453
|
+
- [ ] `npm run build` completes successfully
|
|
454
|
+
- [ ] Code follows project conventions
|
|
455
|
+
- [ ] Environment files are not committed
|
|
456
|
+
|
|
457
|
+
### 4. Build Verification
|
|
458
|
+
```bash
|
|
459
|
+
# Clean build
|
|
460
|
+
npm run clean
|
|
461
|
+
npm run build
|
|
462
|
+
|
|
463
|
+
# Verify package contents
|
|
464
|
+
ls -la lib/
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
## 📦 Publishing
|
|
468
|
+
|
|
469
|
+
### Pre-publication Steps
|
|
470
|
+
```bash
|
|
471
|
+
# 1. Clean previous builds
|
|
472
|
+
npm run clean
|
|
473
|
+
|
|
474
|
+
# 2. Fresh build
|
|
475
|
+
npm run build
|
|
476
|
+
|
|
477
|
+
# 3. Verify package contents
|
|
478
|
+
npm pack --dry-run
|
|
479
|
+
|
|
480
|
+
# 4. Update version (if needed)
|
|
481
|
+
npm version patch|minor|major
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### Package Contents
|
|
485
|
+
When published, the package includes:
|
|
486
|
+
- `lib/` - Compiled JavaScript
|
|
487
|
+
- `lib/index.d.ts` - Type definitions
|
|
488
|
+
- `package.json` - Package metadata
|
|
489
|
+
- `README.md` - Documentation
|
|
490
|
+
|
|
491
|
+
### npm Scripts Summary
|
|
492
|
+
|
|
493
|
+
#### Build & Development Scripts
|
|
494
|
+
| Script | Purpose | When to Use |
|
|
495
|
+
|--------|---------|-------------|
|
|
496
|
+
| `build` | Compile TypeScript | Before testing production build |
|
|
497
|
+
| `dev` | Watch mode compilation | During active development |
|
|
498
|
+
| `clean` | Remove build artifacts | Before fresh build or troubleshooting |
|
|
499
|
+
| `prepare` | Pre-publish build | Automatic before npm publish |
|
|
500
|
+
| `lint` | Check code quality | Before committing code |
|
|
501
|
+
| `lint:fix` | Fix linting issues | Code cleanup and formatting |
|
|
502
|
+
|
|
503
|
+
#### TM1 Connection Testing Scripts
|
|
504
|
+
| Script | Purpose | Prerequisites |
|
|
505
|
+
|--------|---------|---------------|
|
|
506
|
+
| `test:minimal` | Basic connection test | Running TM1 server, valid credentials |
|
|
507
|
+
| `test:simple` | Simple connection validation | Running TM1 server, configured `.env` |
|
|
508
|
+
| `test:connection` | Full connection test | TM1 server, network access, credentials |
|
|
509
|
+
| `test:working` | ⚠️ Comprehensive integration test | TM1 server, **may modify data** |
|
|
510
|
+
| `test:security` | Security & authentication test | TM1 server, admin privileges |
|
|
511
|
+
| `test:performance` | Performance testing | TM1 server, **may impact performance** |
|
|
512
|
+
| `test:edge-cases` | Error handling validation | TM1 server, expect errors in logs |
|
|
513
|
+
|
|
514
|
+
**⚠️ Important**: All TM1 connection tests require an actual TM1 server instance. Use development servers only!
|
|
515
|
+
|
|
516
|
+
## 🔧 Troubleshooting
|
|
517
|
+
|
|
518
|
+
### Common Issues
|
|
519
|
+
|
|
520
|
+
#### Build Errors
|
|
521
|
+
```bash
|
|
522
|
+
# Clear cache and rebuild
|
|
523
|
+
npm run clean
|
|
524
|
+
rm -rf node_modules package-lock.json
|
|
525
|
+
npm install
|
|
526
|
+
npm run build
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
#### Linting Issues
|
|
530
|
+
```bash
|
|
531
|
+
# Auto-fix common issues
|
|
532
|
+
npm run lint:fix
|
|
533
|
+
|
|
534
|
+
# For complex issues, check:
|
|
535
|
+
# - Import/export statements
|
|
536
|
+
# - Type annotations
|
|
537
|
+
# - Unused variables
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
#### TypeScript Errors
|
|
541
|
+
```bash
|
|
542
|
+
# Check TypeScript configuration
|
|
543
|
+
npx tsc --showConfig
|
|
544
|
+
|
|
545
|
+
# Verify types are installed
|
|
546
|
+
npm list @types/node
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
## 💡 Tips and Best Practices
|
|
550
|
+
|
|
551
|
+
### Development Tips
|
|
552
|
+
1. **Use watch mode** (`npm run dev`) for active development
|
|
553
|
+
2. **Run linting frequently** to catch issues early
|
|
554
|
+
3. **Clean builds** before major testing or publishing
|
|
555
|
+
4. **Keep environment files** out of version control
|
|
556
|
+
|
|
557
|
+
### Code Quality
|
|
558
|
+
1. **Follow TypeScript strict mode** - enabled in tsconfig.json
|
|
559
|
+
2. **Use explicit return types** for better documentation
|
|
560
|
+
3. **Handle errors properly** with custom TM1 exceptions
|
|
561
|
+
4. **Write self-documenting code** with clear variable names
|
|
562
|
+
|
|
563
|
+
### Performance
|
|
564
|
+
1. **Use incremental compilation** in development
|
|
565
|
+
2. **Minimize dependencies** in production builds
|
|
566
|
+
3. **Leverage TypeScript optimizations** through proper configuration
|
|
567
|
+
|
|
568
|
+
---
|
|
569
|
+
|
|
570
|
+
## 🤝 Contributing
|
|
571
|
+
|
|
572
|
+
When contributing to tm1npm:
|
|
573
|
+
|
|
574
|
+
1. **Fork the repository** and create a feature branch
|
|
575
|
+
2. **Follow the development workflow** outlined above
|
|
576
|
+
3. **Ensure all checks pass**: `npm run lint && npm run build`
|
|
577
|
+
4. **Write clear commit messages** describing your changes
|
|
578
|
+
5. **Test your changes** thoroughly before submitting
|
|
579
|
+
|
|
580
|
+
## 📞 Support
|
|
581
|
+
|
|
582
|
+
For development questions:
|
|
583
|
+
- **GitHub Issues**: Report bugs and feature requests
|
|
584
|
+
- **Documentation**: Check README.md for usage examples
|
|
585
|
+
- **Code Examples**: See `/tests` directory for integration patterns
|
|
586
|
+
|
|
587
|
+
Happy coding! 🚀
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 KimKaoPoo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|