@electron/lint-roller 1.3.2 → 1.5.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/README.md CHANGED
@@ -38,8 +38,9 @@ detection of code blocks.
38
38
 
39
39
  `electron-lint-markdown-ts-check` is a command to type check JS code blocks in
40
40
  Markdown with `tsc`. Type checking can be disabled for specific code blocks
41
- by adding `@ts-nocheck` to the info string, and specific lines can be ignored
42
- by adding `@ts-ignore=[<line1>,<line2>]` to the info string.
41
+ by adding `@ts-nocheck` to the info string, specific lines can be ignored
42
+ by adding `@ts-ignore=[<line1>,<line2>]` to the info string, and additional
43
+ globals can be defined with `@ts-type={name:type}`.
43
44
 
44
45
  ## License
45
46
 
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ const crypto = require("node:crypto");
4
5
  const fs = require("node:fs");
5
6
  const os = require("node:os");
6
7
  const path = require("node:path");
@@ -36,7 +37,7 @@ const DEFAULT_IMPORTS = `${NODE_IMPORTS}; const { ${ELECTRON_MODULES.join(', ')}
36
37
  // not tied to Electron - will require passing in the list of modules
37
38
  // as a CLI option, probably a file since there's a lot of info
38
39
  async function main(workspaceRoot, globs, { ignoreGlobs = [] }) {
39
- var _a, _b, _c;
40
+ var _a, _b, _c, _d, _e, _f, _g;
40
41
  const workspace = new markdown_1.DocsWorkspace(workspaceRoot, globs, ignoreGlobs);
41
42
  const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'electron-ts-check-'));
42
43
  try {
@@ -44,6 +45,7 @@ async function main(workspaceRoot, globs, { ignoreGlobs = [] }) {
44
45
  const originalFilenames = new Map();
45
46
  // Copy over the typings so that a relative path can be used
46
47
  fs.copyFileSync(path.join(process.cwd(), 'electron.d.ts'), path.join(tempDir, 'electron.d.ts'));
48
+ let ambientModules = '';
47
49
  let errors = false;
48
50
  for (const document of await workspace.getAllMarkdownDocuments()) {
49
51
  const uri = vscode_uri_1.URI.parse(document.uri);
@@ -53,9 +55,19 @@ async function main(workspaceRoot, globs, { ignoreGlobs = [] }) {
53
55
  const line = codeBlock.position.start.line;
54
56
  const indent = codeBlock.position.start.column - 1;
55
57
  const tsNoCheck = (_a = codeBlock.meta) === null || _a === void 0 ? void 0 : _a.split(' ').includes('@ts-nocheck');
56
- const tsIgnoreLines = (_c = (_b = codeBlock.meta) === null || _b === void 0 ? void 0 : _b.match(/\B@ts-ignore=\[([\d,]*)\]\B/)) === null || _c === void 0 ? void 0 : _c[1].split(',').map((line) => parseInt(line));
57
- if (tsNoCheck && tsIgnoreLines) {
58
- console.log(`${filepath}:${line}:${indent + 1}: Code block has both @ts-nocheck and @ts-ignore, they conflict`);
58
+ const tsExpectErrorLines = (_c = (_b = codeBlock.meta) === null || _b === void 0 ? void 0 : _b.match(/\B@ts-expect-error=\[([\d,]*)\]\B/)) === null || _c === void 0 ? void 0 : _c[1].split(',').map((line) => parseInt(line));
59
+ const tsIgnoreLines = (_e = (_d = codeBlock.meta) === null || _d === void 0 ? void 0 : _d.match(/\B@ts-ignore=\[([\d,]*)\]\B/)) === null || _e === void 0 ? void 0 : _e[1].split(',').map((line) => parseInt(line));
60
+ const tsTypeLines = Array.from((_g = (_f = codeBlock.meta) === null || _f === void 0 ? void 0 : _f.matchAll(/\B@ts-type={([^:\r\n\t\f\v ]+):\s?([^}]+)}\B/g)) !== null && _g !== void 0 ? _g : []);
61
+ if (tsNoCheck && (tsExpectErrorLines || tsIgnoreLines || tsTypeLines.length)) {
62
+ console.log(`${filepath}:${line}:${indent + 1}: Code block has both @ts-nocheck and @ts-expect-error/@ts-ignore/@ts-type, they conflict`);
63
+ errors = true;
64
+ continue;
65
+ }
66
+ // There should be no overlap between @ts-expect-error and @ts-ignore
67
+ if (tsExpectErrorLines &&
68
+ tsIgnoreLines &&
69
+ tsExpectErrorLines.some((line) => tsIgnoreLines.includes(line))) {
70
+ console.log(`${filepath}:${line}:${indent + 1}: Code block has both @ts-expect-error and @ts-ignore with same line number(s)`);
59
71
  errors = true;
60
72
  continue;
61
73
  }
@@ -68,12 +80,9 @@ async function main(workspaceRoot, globs, { ignoreGlobs = [] }) {
68
80
  continue;
69
81
  }
70
82
  const codeLines = codeBlock.value.split('\n');
71
- let firstLineIsTsIgnore = false;
72
- // Blocks can have @ts-ignore=[1,10,50] in their info string
73
- // (1-based lines) to insert an "// @ts-ignore" comment before
74
- // specified lines, in order to ignore specific lines (like
75
- // requires of extra modules) without skipping the whole block
76
- for (const line of tsIgnoreLines !== null && tsIgnoreLines !== void 0 ? tsIgnoreLines : []) {
83
+ let insertedInitialLine = false;
84
+ let types = '';
85
+ const insertComment = (comment, line) => {
77
86
  // Inserting additional lines will make the tsc output
78
87
  // incorrect which would be a pain to manually adjust,
79
88
  // and there is no @ts-ignore-line, so tack the comment
@@ -82,21 +91,32 @@ async function main(workspaceRoot, globs, { ignoreGlobs = [] }) {
82
91
  // The first line of the file is an edge case where an
83
92
  // insertion is necessary, so take that into account
84
93
  if (line === 1) {
85
- codeLines.unshift('// @ts-ignore');
86
- firstLineIsTsIgnore = true;
94
+ codeLines.unshift(comment);
95
+ insertedInitialLine = true;
87
96
  }
88
97
  else {
89
- const offset = firstLineIsTsIgnore ? 1 : 2;
98
+ const offset = insertedInitialLine ? 1 : 2;
90
99
  const codeLine = codeLines[line - offset];
91
100
  // If the line is already a comment, fully replace it,
92
- // otherwise tsc won't pick up the @ts-ignore comment
101
+ // otherwise tsc won't pick up the inserted comment
93
102
  if (codeLine.match(/^\s*\/\/\s/)) {
94
- codeLines[line - offset] = '// @ts-ignore';
103
+ codeLines[line - offset] = comment;
95
104
  }
96
105
  else {
97
- codeLines[line - offset] = `${codeLine} // @ts-ignore`;
106
+ codeLines[line - offset] = `${codeLine} ${comment}`;
98
107
  }
99
108
  }
109
+ };
110
+ // Blocks can have @ts-ignore=[1,10,50] in their info string
111
+ // (1-based lines) to insert an "// @ts-ignore" comment before
112
+ // specified lines, in order to ignore specific lines (like
113
+ // requires of extra modules) without skipping the whole block
114
+ for (const line of tsIgnoreLines !== null && tsIgnoreLines !== void 0 ? tsIgnoreLines : []) {
115
+ insertComment('// @ts-ignore', line);
116
+ }
117
+ // Blocks can also have @ts-expect-error
118
+ for (const line of tsExpectErrorLines !== null && tsExpectErrorLines !== void 0 ? tsExpectErrorLines : []) {
119
+ insertComment('// @ts-expect-error', line);
100
120
  }
101
121
  // Indent the lines if necessary so that tsc output is accurate
102
122
  const code = (0, helpers_1.wrapOrphanObjectInParens)(codeLines
@@ -106,31 +126,57 @@ async function main(workspaceRoot, globs, { ignoreGlobs = [] }) {
106
126
  // imports so that most snippets will have what they need.
107
127
  // This isn't foolproof and might cause name conflicts
108
128
  const imports = codeBlock.value.includes(' require(') ? '' : DEFAULT_IMPORTS;
109
- const types = '/// <reference path="electron.d.ts" />';
110
129
  // Insert the necessary number of blank lines so that the line
111
130
  // numbers in output from tsc is accurate to the original file
112
- const blankLines = '\n'.repeat(firstLineIsTsIgnore ? line - 4 : line - 3);
131
+ const blankLines = '\n'.repeat(insertedInitialLine ? line - 3 : line - 2);
113
132
  // Filename is unique since it is the name of the original Markdown
114
133
  // file, with the starting line number of the codeblock appended
115
134
  const filename = path.join(tempDir, `${filepath
116
135
  .replace(new RegExp(path.sep.replace(/\\/g, '\\\\'), 'g'), '-')
117
136
  .replace(/\./g, '-')}-${line}.js`);
118
- fs.writeFileSync(filename, `// @ts-check\n${types}\n${imports}\n${blankLines}${code}\n`);
137
+ // Blocks can have @ts-type={name:type} in their info string
138
+ // (1-based lines) to declare a global variable for a block
139
+ if (tsTypeLines.length) {
140
+ // To support this feature, generate a random name for a
141
+ // module, generate an ambient module declaration for the
142
+ // module, and then import the global variables we're
143
+ // defining from that module name - there's no code on
144
+ // disk for it, only an ambient module declaration which
145
+ // tsc will use to type the phantom variables being imported
146
+ const moduleName = crypto.randomBytes(16).toString('hex');
147
+ const extraTypes = tsTypeLines
148
+ .map((type) => ` export var ${type[1]}: ${type[2]};`)
149
+ .join('\n');
150
+ ambientModules += `declare module "${moduleName}" {\n${extraTypes}\n}\n\n`;
151
+ types = `const {${tsTypeLines
152
+ .map((type) => type[1])
153
+ .join(',')}} = require('${moduleName}')`;
154
+ }
155
+ fs.writeFileSync(filename, `// @ts-check\n${imports}\n${blankLines}${code}\n${types}`);
119
156
  filenames.push(filename);
120
157
  originalFilenames.set(filename, filepath);
121
158
  }
122
159
  }
160
+ fs.writeFileSync(path.join(tempDir, 'ambient.d.ts'), ambientModules);
123
161
  for (const chunk of (0, helpers_1.chunkFilenames)(filenames)) {
124
162
  const tscExec = path.join(require.resolve('typescript'), '..', '..', 'bin', 'tsc');
125
- const args = [tscExec, '--noEmit', '--checkJs', '--pretty', ...chunk];
163
+ const args = [
164
+ tscExec,
165
+ '--noEmit',
166
+ '--checkJs',
167
+ '--pretty',
168
+ path.join(tempDir, 'electron.d.ts'),
169
+ path.join(tempDir, 'ambient.d.ts'),
170
+ ...chunk,
171
+ ];
126
172
  const { status, stderr, stdout } = await (0, helpers_1.spawnAsync)(process.execPath, args);
127
173
  if (stderr) {
128
174
  throw new Error(stderr);
129
175
  }
130
176
  // Replace the temp file paths with the original source filename
131
177
  let correctedOutput = stdout.replace(new RegExp(`${path.relative(process.cwd(), tempDir)}${path.sep}`.replace(/\\/g, path.posix.sep), 'g'), '');
132
- // Strip any @ts-ignore comments we added
133
- correctedOutput = correctedOutput.replace(/ \/\/ @ts-ignore/g, '');
178
+ // Strip any @ts-expect-error/@ts-ignore comments we added
179
+ correctedOutput = correctedOutput.replace(/ \/\/ @ts-(?:expect-error|ignore)/g, '');
134
180
  if (correctedOutput.trim()) {
135
181
  for (const [filename, originalFilename] of originalFilenames.entries()) {
136
182
  correctedOutput = correctedOutput.replace(new RegExp(path.basename(filename), 'g'), originalFilename);
@@ -1 +1 @@
1
- {"version":3,"file":"lint-markdown-ts-check.js","sourceRoot":"","sources":["../../bin/lint-markdown-ts-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint-markdown-ts-check.js","sourceRoot":"","sources":["../../bin/lint-markdown-ts-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@electron/lint-roller",
3
- "version": "1.3.2",
3
+ "version": "1.5.0",
4
4
  "description": "Markdown linting helpers for Electron org repos",
5
5
  "engines": {
6
6
  "node": ">=14.0.0"