@platformos/platformos-check-node 0.0.2

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 (57) hide show
  1. package/README.md +9 -0
  2. package/configs/all.yml +214 -0
  3. package/configs/nothing.yml +3 -0
  4. package/configs/recommended.yml +192 -0
  5. package/dist/NodeFileSystem.d.ts +2 -0
  6. package/dist/NodeFileSystem.js +37 -0
  7. package/dist/autofix.d.ts +6 -0
  8. package/dist/autofix.js +18 -0
  9. package/dist/backfill-docs/argument-collector.d.ts +6 -0
  10. package/dist/backfill-docs/argument-collector.js +167 -0
  11. package/dist/backfill-docs/doc-generator.d.ts +18 -0
  12. package/dist/backfill-docs/doc-generator.js +31 -0
  13. package/dist/backfill-docs/doc-updater.d.ts +13 -0
  14. package/dist/backfill-docs/doc-updater.js +154 -0
  15. package/dist/backfill-docs/index.d.ts +14 -0
  16. package/dist/backfill-docs/index.js +233 -0
  17. package/dist/backfill-docs/types.d.ts +32 -0
  18. package/dist/backfill-docs/types.js +3 -0
  19. package/dist/cli.d.ts +1 -0
  20. package/dist/cli.js +47 -0
  21. package/dist/commands/generate-docs.d.ts +24 -0
  22. package/dist/commands/generate-docs.js +136 -0
  23. package/dist/commands/index.d.ts +1 -0
  24. package/dist/commands/index.js +7 -0
  25. package/dist/config/find-config-path.d.ts +1 -0
  26. package/dist/config/find-config-path.js +22 -0
  27. package/dist/config/index.d.ts +2 -0
  28. package/dist/config/index.js +8 -0
  29. package/dist/config/installation-location.d.ts +1 -0
  30. package/dist/config/installation-location.js +20 -0
  31. package/dist/config/load-config-description.d.ts +10 -0
  32. package/dist/config/load-config-description.js +97 -0
  33. package/dist/config/load-config.d.ts +18 -0
  34. package/dist/config/load-config.js +30 -0
  35. package/dist/config/load-third-party-checks.d.ts +16 -0
  36. package/dist/config/load-third-party-checks.js +69 -0
  37. package/dist/config/resolve/index.d.ts +1 -0
  38. package/dist/config/resolve/index.js +6 -0
  39. package/dist/config/resolve/merge-fragments.d.ts +11 -0
  40. package/dist/config/resolve/merge-fragments.js +52 -0
  41. package/dist/config/resolve/read-yaml.d.ts +11 -0
  42. package/dist/config/resolve/read-yaml.js +205 -0
  43. package/dist/config/resolve/resolve-config.d.ts +8 -0
  44. package/dist/config/resolve/resolve-config.js +37 -0
  45. package/dist/config/types.d.ts +35 -0
  46. package/dist/config/types.js +19 -0
  47. package/dist/config/validation.d.ts +2 -0
  48. package/dist/config/validation.js +85 -0
  49. package/dist/file-utils.d.ts +1 -0
  50. package/dist/file-utils.js +17 -0
  51. package/dist/index.d.ts +23 -0
  52. package/dist/index.js +160 -0
  53. package/dist/temp.d.ts +2 -0
  54. package/dist/temp.js +3 -0
  55. package/dist/test/test-helpers.d.ts +14 -0
  56. package/dist/test/test-helpers.js +119 -0
  57. package/package.json +45 -0
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.mockNodeModuleCheck = void 0;
40
+ exports.makeTmpFolder = makeTmpFolder;
41
+ exports.removeTmpFolder = removeTmpFolder;
42
+ exports.createMockConfigFile = createMockConfigFile;
43
+ exports.createMockNodeModule = createMockNodeModule;
44
+ exports.makeTempWorkspace = makeTempWorkspace;
45
+ const mktemp = __importStar(require("mktemp"));
46
+ const promises_1 = __importDefault(require("node:fs/promises"));
47
+ const node_os_1 = __importDefault(require("node:os"));
48
+ const node_path_1 = __importDefault(require("node:path"));
49
+ const platformos_check_common_1 = require("@platformos/platformos-check-common");
50
+ async function makeTmpFolder() {
51
+ const tmpDir = await promises_1.default.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), 'test-'));
52
+ await promises_1.default.mkdir(node_path_1.default.join(tmpDir, '.git'));
53
+ return tmpDir;
54
+ }
55
+ async function removeTmpFolder(tempDir) {
56
+ return promises_1.default.rm(tempDir, { recursive: true, force: true });
57
+ }
58
+ async function createMockConfigFile(tempDir, contents = 'dummy content', relativePath = '.theme-check.yml') {
59
+ const filePath = node_path_1.default.join(tempDir, relativePath);
60
+ await promises_1.default.writeFile(filePath, contents, 'utf8');
61
+ return filePath;
62
+ }
63
+ exports.mockNodeModuleCheck = `
64
+ const NodeModuleCheck = {
65
+ meta: {
66
+ name: 'NodeModuleCheck',
67
+ code: 'NodeModuleCheck',
68
+ docs: { description: '...' },
69
+ schema: {},
70
+ severity: 0,
71
+ targets: [],
72
+ type: 'LiquidHtml',
73
+ },
74
+ create() {
75
+ return {};
76
+ },
77
+ };
78
+
79
+ exports.checks = [
80
+ NodeModuleCheck,
81
+ ];
82
+ `;
83
+ async function createMockNodeModule(tempDir, moduleName, moduleContent = exports.mockNodeModuleCheck) {
84
+ const nodeModuleRoot = node_path_1.default.join(tempDir, 'node_modules', ...moduleName.split('/'));
85
+ await promises_1.default.mkdir(nodeModuleRoot, { recursive: true });
86
+ await promises_1.default.writeFile(node_path_1.default.join(nodeModuleRoot, 'package.json'), JSON.stringify({
87
+ name: moduleName,
88
+ main: './index.js',
89
+ }), 'utf8');
90
+ await promises_1.default.writeFile(node_path_1.default.join(nodeModuleRoot, 'index.js'), moduleContent);
91
+ return nodeModuleRoot;
92
+ }
93
+ async function makeTempWorkspace(structure) {
94
+ const root = await mktemp.createDir(node_path_1.default.join(__dirname, '..', '.XXXXX'));
95
+ if (!root)
96
+ throw new Error('Could not create temp dir for temp workspace');
97
+ await createFiles(structure, [root]);
98
+ const rootUri = platformos_check_common_1.path.normalize('file:' + root);
99
+ return {
100
+ rootUri: 'file:' + root,
101
+ uri: (relativePath) => platformos_check_common_1.path.join(rootUri, ...relativePath.split('/')),
102
+ clean: async () => promises_1.default.rm(root, { recursive: true, force: true }),
103
+ };
104
+ function createFiles(tree, ancestors) {
105
+ const promises = [];
106
+ for (const [pathEl, value] of Object.entries(tree)) {
107
+ if (typeof value === 'string') {
108
+ promises.push(promises_1.default.writeFile(node_path_1.default.join(...ancestors, pathEl), value, 'utf8'));
109
+ }
110
+ else {
111
+ promises.push(promises_1.default
112
+ .mkdir(node_path_1.default.join(...ancestors, pathEl))
113
+ .then(() => createFiles(value, ancestors.concat(pathEl))));
114
+ }
115
+ }
116
+ return Promise.all(promises);
117
+ }
118
+ }
119
+ //# sourceMappingURL=test-helpers.js.map
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@platformos/platformos-check-node",
3
+ "version": "0.0.2",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "author": "platformOS",
7
+ "homepage": "https://github.com/Platform-OS/platformos-tools/tree/main/packages/platformos-check-node#readme",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/Platform-OS/platformos-tools.git",
11
+ "directory": "packages/platformos-check-node"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/Platform-OS/platformos-tools/issues"
15
+ },
16
+ "license": "MIT",
17
+ "publishConfig": {
18
+ "access": "public",
19
+ "@platformos:registry": "https://registry.npmjs.org"
20
+ },
21
+ "files": [
22
+ "configs/*",
23
+ "dist/**/*.js",
24
+ "dist/**/*.ts"
25
+ ],
26
+ "scripts": {
27
+ "build": "yarn build:ts",
28
+ "build:ci": "yarn build",
29
+ "build:ts": "tsc -b tsconfig.build.json",
30
+ "postbuild:ts": "yarn generate-factory-configs",
31
+ "generate-factory-configs": "node scripts/generate-factory-configs",
32
+ "test": "vitest",
33
+ "type-check": "tsc --noEmit"
34
+ },
35
+ "dependencies": {
36
+ "@platformos/platformos-check-common": "0.0.2",
37
+ "@platformos/platformos-check-docs-updater": "0.0.2",
38
+ "glob": "^8.0.3",
39
+ "vscode-uri": "^3.0.7",
40
+ "yaml": "^2.3.0"
41
+ },
42
+ "devDependencies": {
43
+ "@types/glob": "^8.0.0"
44
+ }
45
+ }