]> git.wincent.com - wincent.git/commitdiff
chore(fig): turn on more TypeScript checks
authorGreg Hurrell <greg@hurrell.net>
Sun, 5 Apr 2020 11:19:47 +0000 (13:19 +0200)
committerGreg Hurrell <greg@hurrell.net>
Sun, 5 Apr 2020 11:19:47 +0000 (13:19 +0200)
Because `--strict` isn't actually as strict as it could be. This makes
`tsc` do a few ESLint-like additional checks (and given that I have no
intention of adding ESLint or any other deps to this project, so this
will have to do).

src/Fig/compare.ts
src/Fig/operations/file.ts
src/Fig/operations/template.ts
src/getOptions.ts
src/main.ts
tsconfig.json

index 477f2fb361f2d340d7b56f225dba8e2212492a26..37ee81a125d81f5324e1b9dd7c4e85610050b199 100644 (file)
@@ -184,5 +184,9 @@ export default async function compare({
         // TODO
     }
 
+    if (mode !== undefined && stats.mode !== mode) {
+        // TODO
+    }
+
     return diff;
 }
index 457caa103efd6e5d015f8b3aa1f203e23f011d4d..16a212d0f09974bd54dd5cddbd1564f93a716757 100644 (file)
@@ -1,7 +1,6 @@
 import {promises as fs} from 'fs';
 
 import ErrorWithMetadata from '../../ErrorWithMetadata';
-import {log} from '../../console';
 import expand from '../../expand';
 import stat from '../../stat';
 import Context from '../Context';
@@ -23,6 +22,12 @@ export default async function file({
     if (state === 'directory') {
         await directory(path);
     }
+
+    // TODO: probably refactor this to use compare.ts
+    if (0) {
+        // In the meantime, silence unused parameter warnings.
+        console.log(force, mode, src);
+    }
 }
 
 async function directory(path: string) {
index 8c3d175faaa1e9e761c2ae1cb3bc8a8408df0c19..44334db6dfd64b7dd77687b4ea4a8987da811588 100644 (file)
@@ -3,7 +3,6 @@ import chown from '../../chown';
 import {log} from '../../console';
 import expand from '../../expand';
 import tempfile from '../../tempfile';
-import {compile, fill} from '../../template';
 import Context from '../Context';
 import compare from '../compare';
 
@@ -55,6 +54,7 @@ export default async function template({
         if (diff.contents) {
             // log.info('change!');
             const temp = await tempfile(contents);
+            log.debug(`Wrote to temporary file: ${temp}`);
 
             // TODO: cp from temp to target
             // TODO: deal with group/owner/mode etc
index 745ce62214213aa4fefd01775cef3197dd87e2b7..9c7387d1497f4f7395349fc45471e49d11bfe4af 100644 (file)
@@ -2,7 +2,7 @@ import {promises as fs} from 'fs';
 import * as path from 'path';
 
 import {root} from './Fig';
-import {COLORS, LOG_LEVEL, log, setLogLevel} from './console';
+import {COLORS, LOG_LEVEL, log} from './console';
 import dedent from './dedent';
 import ErrorWithMetadata from './ErrorWithMetadata';
 import escapeRegExpPattern from './escapeRegExpPattern';
index 2522e3bf4cf0f30c88d8a683f5d2ecef592325bf..096277a93614943ed543f2e208fc1f0495cb896c 100644 (file)
@@ -52,11 +52,9 @@ async function main() {
     const profiles = project.profiles ?? {};
 
     const [profile] =
-        Object.entries(profiles).find(([, {pattern}]) => {
-            if (regExpFromString(pattern).test(hostname)) {
-                return true;
-            }
-        }) || [];
+        Object.entries(profiles).find(([, {pattern}]) =>
+            regExpFromString(pattern).test(hostname)
+        ) || [];
 
     log.info(`Profile: ${profile || 'n/a'}`);
 
index 22cf8e8290d76a64c5f0de76587e98a552352156..0fc78684716e99d9dfe72c4e3a2ca3264c9d3937 100644 (file)
@@ -1,6 +1,10 @@
 {
     "compilerOptions": {
         "module": "CommonJS",
+        "noFallthroughCasesInSwitch": true,
+        "noImplicitReturns": true,
+        "noUnusedLocals": true,
+        "noUnusedParameters": true,
         "outDir": "./lib",
         "strict": true,
         "target": "ES2019"