JSON Files

package.JSON

Description or Title for the JSON file
 1{
 2  "name": "pose-format",
 3  "version": "1.4.1",
 4  "description": "Library for handling .pose files",
 5  "scripts": {
 6    "build": "tsc",
 7    "start": "tsc -w"
 8  },
 9  "files": [
10    "dist/"
11  ],
12  "types": "dist/index.d.ts",
13  "main": "dist/index.js",
14  "module": "dist/index.js",
15  "author": "Amit Moryossef",
16  "license": "MIT",
17  "dependencies": {
18    "binary-parser": "2.2.1"
19  },
20  "devDependencies": {
21    "@types/node": "20.8.6",
22    "typescript": "5.2.2"
23  }
24}

package-lock.JSON

Description or Title for the JSON file
 1{
 2  "name": "pose-format",
 3  "version": "1.3.1",
 4  "lockfileVersion": 2,
 5  "requires": true,
 6  "packages": {
 7    "": {
 8      "name": "pose-format",
 9      "version": "1.3.1",
10      "license": "MIT",
11      "dependencies": {
12        "binary-parser": "^2.2.1"
13      },
14      "devDependencies": {
15        "@types/node": "^20.8.6",
16        "typescript": "5.2.2"
17      }
18    },
19    "node_modules/@types/node": {
20      "version": "20.8.6",
21      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz",
22      "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==",
23      "dev": true,
24      "dependencies": {
25        "undici-types": "~5.25.1"
26      }
27    },
28    "node_modules/binary-parser": {
29      "version": "2.2.1",
30      "resolved": "https://registry.npmjs.org/binary-parser/-/binary-parser-2.2.1.tgz",
31      "integrity": "sha512-5ATpz/uPDgq5GgEDxTB4ouXCde7q2lqAQlSdBRQVl/AJnxmQmhIfyxJx+0MGu//D5rHQifkfGbWWlaysG0o9NA==",
32      "engines": {
33        "node": ">=12"
34      }
35    },
36    "node_modules/typescript": {
37      "version": "5.2.2",
38      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
39      "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
40      "dev": true,
41      "bin": {
42        "tsc": "bin/tsc",
43        "tsserver": "bin/tsserver"
44      },
45      "engines": {
46        "node": ">=14.17"
47      }
48    },
49    "node_modules/undici-types": {
50      "version": "5.25.3",
51      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
52      "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
53      "dev": true
54    }
55  },
56  "dependencies": {
57    "@types/node": {
58      "version": "20.8.6",
59      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz",
60      "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==",
61      "dev": true,
62      "requires": {
63        "undici-types": "~5.25.1"
64      }
65    },
66    "binary-parser": {
67      "version": "2.2.1",
68      "resolved": "https://registry.npmjs.org/binary-parser/-/binary-parser-2.2.1.tgz",
69      "integrity": "sha512-5ATpz/uPDgq5GgEDxTB4ouXCde7q2lqAQlSdBRQVl/AJnxmQmhIfyxJx+0MGu//D5rHQifkfGbWWlaysG0o9NA=="
70    },
71    "typescript": {
72      "version": "5.2.2",
73      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
74      "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
75      "dev": true
76    },
77    "undici-types": {
78      "version": "5.25.3",
79      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
80      "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
81      "dev": true
82    }
83  }
84}

tsconfig.JSON

Description or Title for the JSON file
 1{
 2  "compilerOptions": {
 3    "noImplicitReturns": true,
 4    "skipLibCheck": true,
 5    "noUnusedLocals": true,
 6    "outDir": "dist",
 7    "sourceMap": true,
 8    "declaration": true,
 9    "strict": true,
10    "target": "es2017",
11    "moduleResolution": "node"
12  },
13  "compileOnSave": true,
14  "files": [
15    "node_modules/binary-parser/dist/binary_parser.d.ts"
16  ],
17  "include": [
18    "src/**/*",
19    "src/**/*.json"
20  ],
21  "exclude": [
22    "node_modules",
23    "**/*.spec.ts"
24  ]
25}

tslint.JSON

Description or Title for the JSON file
  1{
  2  "rules": {
  3    // -- Strict errors --
  4    // These lint rules are likely always a good idea.
  5
  6    // Force function overloads to be declared together. This ensures readers understand APIs.
  7    "adjacent-overload-signatures": true,
  8    // Do not allow the subtle/obscure comma operator.
  9    "ban-comma-operator": true,
 10    // Do not allow internal modules or namespaces . These are deprecated in favor of ES6 modules.
 11    "no-namespace": true,
 12    // Do not allow parameters to be reassigned. To avoid bugs, developers should instead assign new values to new vars.
 13    "no-parameter-reassignment": true,
 14    // Force the use of ES6-style imports instead of /// <reference path=> imports.
 15    "no-reference": true,
 16    // Do not allow type assertions that do nothing. This is a big warning that the developer may not understand the
 17    // code currently being edited (they may be incorrectly handling a different type case that does not exist).
 18    "no-unnecessary-type-assertion": true,
 19    // Disallow nonsensical label usage.
 20    "label-position": true,
 21    // Disallows the (often typo) syntax if (var1 = var2). Replace with if (var2) { var1 = var2 }.
 22    "no-conditional-assignment": true,
 23    // Disallows constructors for primitive types (e.g. new Number('123'), though Number('123') is still allowed).
 24    "no-construct": true,
 25    // Do not allow super() to be called twice in a constructor.
 26    "no-duplicate-super": true,
 27    // Do not allow the same case to appear more than once in a switch block.
 28    "no-duplicate-switch-case": true,
 29    // Do not allow a variable to be declared more than once in the same block. Consider function parameters in this
 30    // rule.
 31    "no-duplicate-variable": [
 32      true,
 33      "check-parameters"
 34    ],
 35    // Disallows a variable definition in an inner scope from shadowing a variable in an outer scope. Developers should
 36    // instead use a separate variable name.
 37    "no-shadowed-variable": true,
 38    // Empty blocks are almost never needed. Allow the one general exception: empty catch blocks.
 39    "no-empty": [
 40      true,
 41      "allow-empty-catch"
 42    ],
 43    // Functions must either be handled directly (e.g. with a catch() handler) or returned to another function.
 44    // This is a major source of errors in Cloud Functions and the team strongly recommends leaving this rule on.
 45    "no-floating-promises": true,
 46    // Do not allow any imports for modules that are not in package.json. These will almost certainly fail when
 47    // deployed.
 48    "no-implicit-dependencies": true,
 49    // The 'this' keyword can only be used inside of classes.
 50    "no-invalid-this": true,
 51    // Do not allow strings to be thrown because they will not include stack traces. Throw Errors instead.
 52    "no-string-throw": true,
 53    // Disallow control flow statements, such as return, continue, break, and throw in finally blocks.
 54    "no-unsafe-finally": true,
 55    // Expressions must always return a value. Avoids common errors like const myValue = functionReturningVoid();
 56    "no-void-expression": [
 57      true,
 58      "ignore-arrow-function-shorthand"
 59    ],
 60    // Disallow duplicate imports in the same file.
 61    "no-duplicate-imports": true,
 62    // -- Strong Warnings --
 63    // These rules should almost never be needed, but may be included due to legacy code.
 64    // They are left as a warning to avoid frustration with blocked deploys when the developer
 65    // understand the warning and wants to deploy anyway.
 66
 67    // Warn when an empty interface is defined. These are generally not useful.
 68    "no-empty-interface": {
 69      "severity": "warning"
 70    },
 71    // Warn when an import will have side effects.
 72    "no-import-side-effect": {
 73      "severity": "warning"
 74    },
 75    // Warn when variables are defined with var. Var has subtle meaning that can lead to bugs. Strongly prefer const for
 76    // most values and let for values that will change.
 77    "no-var-keyword": {
 78      "severity": "warning"
 79    },
 80    // Prefer === and !== over == and !=. The latter operators support overloads that are often accidental.
 81    "triple-equals": {
 82      "severity": "warning"
 83    },
 84    // Warn when using deprecated APIs.
 85    "deprecation": {
 86      "severity": "warning"
 87    },
 88    // -- Light Warnings --
 89    // These rules are intended to help developers use better style. Simpler code has fewer bugs. These would be "info"
 90    // if TSLint supported such a level.
 91
 92    // prefer for( ... of ... ) to an index loop when the index is only used to fetch an object from an array.
 93    // (Even better: check out utils like .map if transforming an array!)
 94    "prefer-for-of": {
 95      "severity": "warning"
 96    },
 97    // Warns if function overloads could be unified into a single function with optional or rest parameters.
 98    "unified-signatures": {
 99      "severity": "warning"
100    },
101    // Prefer const for values that will not change. This better documents code.
102    "prefer-const": {
103      "severity": "warning"
104    },
105    // Multi-line object literals and function calls should have a trailing comma. This helps avoid merge conflicts.
106    "trailing-comma": {
107      "severity": "warning"
108    }
109  },
110  "defaultSeverity": "error"
111}