@openwebf/webf 0.1.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 (60) hide show
  1. package/CLAUDE.md +206 -0
  2. package/README-zhCN.md +256 -0
  3. package/README.md +232 -0
  4. package/bin/webf.js +25 -0
  5. package/coverage/clover.xml +1295 -0
  6. package/coverage/coverage-final.json +12 -0
  7. package/coverage/lcov-report/IDLBlob.ts.html +142 -0
  8. package/coverage/lcov-report/analyzer.ts.html +2158 -0
  9. package/coverage/lcov-report/analyzer_original.ts.html +1450 -0
  10. package/coverage/lcov-report/base.css +224 -0
  11. package/coverage/lcov-report/block-navigation.js +87 -0
  12. package/coverage/lcov-report/commands.ts.html +700 -0
  13. package/coverage/lcov-report/dart.ts.html +490 -0
  14. package/coverage/lcov-report/declaration.ts.html +337 -0
  15. package/coverage/lcov-report/favicon.png +0 -0
  16. package/coverage/lcov-report/generator.ts.html +1171 -0
  17. package/coverage/lcov-report/index.html +266 -0
  18. package/coverage/lcov-report/logger.ts.html +424 -0
  19. package/coverage/lcov-report/prettify.css +1 -0
  20. package/coverage/lcov-report/prettify.js +2 -0
  21. package/coverage/lcov-report/react.ts.html +619 -0
  22. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  23. package/coverage/lcov-report/sorter.js +196 -0
  24. package/coverage/lcov-report/utils.ts.html +466 -0
  25. package/coverage/lcov-report/vue.ts.html +613 -0
  26. package/coverage/lcov.info +2149 -0
  27. package/global.d.ts +2 -0
  28. package/jest.config.js +24 -0
  29. package/package.json +36 -0
  30. package/src/IDLBlob.ts +20 -0
  31. package/src/analyzer.ts +692 -0
  32. package/src/commands.ts +645 -0
  33. package/src/dart.ts +170 -0
  34. package/src/declaration.ts +84 -0
  35. package/src/generator.ts +454 -0
  36. package/src/logger.ts +114 -0
  37. package/src/react.ts +186 -0
  38. package/src/utils.ts +127 -0
  39. package/src/vue.ts +176 -0
  40. package/templates/class.dart.tpl +86 -0
  41. package/templates/gitignore.tpl +2 -0
  42. package/templates/react.component.tsx.tpl +53 -0
  43. package/templates/react.createComponent.tpl +286 -0
  44. package/templates/react.index.ts.tpl +8 -0
  45. package/templates/react.package.json.tpl +26 -0
  46. package/templates/react.tsconfig.json.tpl +16 -0
  47. package/templates/react.tsup.config.ts.tpl +10 -0
  48. package/templates/tsconfig.json.tpl +8 -0
  49. package/templates/vue.component.partial.tpl +31 -0
  50. package/templates/vue.components.d.ts.tpl +49 -0
  51. package/templates/vue.package.json.tpl +11 -0
  52. package/templates/vue.tsconfig.json.tpl +15 -0
  53. package/test/IDLBlob.test.ts +75 -0
  54. package/test/analyzer.test.ts +370 -0
  55. package/test/commands.test.ts +1253 -0
  56. package/test/generator.test.ts +460 -0
  57. package/test/logger.test.ts +215 -0
  58. package/test/react.test.ts +49 -0
  59. package/test/utils.test.ts +316 -0
  60. package/tsconfig.json +30 -0
package/global.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ type double = number;
2
+ type int = number;
package/jest.config.js ADDED
@@ -0,0 +1,24 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ roots: ['<rootDir>/src', '<rootDir>/test'],
5
+ testMatch: ['**/__tests__/**/*.ts', '**/*.test.ts', '**/*.spec.ts'],
6
+ collectCoverageFrom: [
7
+ 'src/**/*.ts',
8
+ '!src/**/*.d.ts',
9
+ '!src/**/__tests__/**',
10
+ ],
11
+ coverageThreshold: {
12
+ global: {
13
+ branches: 70,
14
+ functions: 70,
15
+ lines: 70,
16
+ statements: 70,
17
+ },
18
+ },
19
+ moduleFileExtensions: ['ts', 'js', 'json'],
20
+ transform: {
21
+ '^.+\\.ts$': 'ts-jest',
22
+ },
23
+ testTimeout: 10000,
24
+ };
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@openwebf/webf",
3
+ "version": "0.1.0",
4
+ "description": "Command line tools for WebF",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "webf": "./bin/webf.js"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "test": "jest",
12
+ "test:watch": "jest --watch",
13
+ "test:coverage": "jest --coverage"
14
+ },
15
+ "keywords": [],
16
+ "author": "",
17
+ "license": "MIT",
18
+ "type": "commonjs",
19
+ "devDependencies": {
20
+ "@types/inquirer": "^8.2.11",
21
+ "@types/jest": "^29.5.12",
22
+ "@types/lodash": "^4.17.17",
23
+ "@types/node": "^22.15.21",
24
+ "@types/yaml": "^1.9.6",
25
+ "jest": "^29.7.0",
26
+ "ts-jest": "^29.1.2"
27
+ },
28
+ "dependencies": {
29
+ "commander": "^14.0.0",
30
+ "glob": "^10.3.10",
31
+ "inquirer": "^8.2.6",
32
+ "lodash": "^4.17.21",
33
+ "typescript": "^5.8.3",
34
+ "yaml": "^2.8.0"
35
+ }
36
+ }
package/src/IDLBlob.ts ADDED
@@ -0,0 +1,20 @@
1
+ import {ClassObject, FunctionObject} from "./declaration";
2
+
3
+ export class IDLBlob {
4
+ raw: string = '';
5
+ dist: string;
6
+ source: string;
7
+ filename: string;
8
+ implement: string;
9
+ relativeDir: string = '';
10
+ objects: (ClassObject | FunctionObject)[] = [];
11
+
12
+ constructor(source: string, dist: string, filename: string, implement: string, relativeDir: string = '') {
13
+ this.source = source;
14
+ this.dist = dist;
15
+ this.filename = filename;
16
+ this.implement = implement;
17
+ this.relativeDir = relativeDir;
18
+ // Don't read file in constructor - let the generator handle it
19
+ }
20
+ }