Skip to content

Commit

Permalink
Enable TypeSript strict mode
Browse files Browse the repository at this point in the history
  • Loading branch information
Satya Rohith committed Mar 23, 2019
1 parent a4c4d32 commit 231e209
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 17 deletions.
13 changes: 12 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
"jpeg"
],
"dependencies": {
"array-differ": "^2.0.3",
"array-differ": "^2.1.0",
"array-uniq": "^2.0.0",
"capture-website": "^0.3.0",
"date-fns": "^1.30.1",
Expand All @@ -70,9 +70,20 @@
},
"devDependencies": {
"@sindresorhus/tsconfig": "^0.3.0",
"@types/array-uniq": "^1.0.1",
"@types/cookie": "^0.3.2",
"@types/filenamify-url": "^1.0.1",
"@types/get-res": "^3.0.1",
"@types/image-size": "^0.7.0",
"@types/lodash.template": "^4.4.5",
"@types/log-symbols": "^2.0.0",
"@types/node": "^11.11.4",
"@types/path-exists": "^3.0.0",
"@types/pify": "^3.0.2",
"@types/plur": "^3.0.0",
"@types/png.js": "^0.2.0",
"@types/sinon": "^7.0.6",
"@types/viewport-list": "^5.1.1",
"@typescript-eslint/eslint-plugin": "^1.3.0",
"ava": "^1.2.0",
"cookie": "^0.3.1",
Expand Down
6 changes: 3 additions & 3 deletions source/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,9 @@ export default class Pageres extends EventEmitter {
successMessage(): void {
const {screenshots, sizes, urls} = this.stats;
const words = {
screenshots: plur('screenshot', screenshots),
sizes: plur('size', sizes),
urls: plur('url', urls)
screenshots: plur('screenshot', Number(screenshots)),
sizes: plur('size', Number(sizes)),
urls: plur('url', Number(urls))
};

console.log(`\n${logSymbols.success} Generated ${screenshots} ${words.screenshots} from ${urls} ${words.urls} and ${sizes} ${words.sizes}`);
Expand Down
6 changes: 4 additions & 2 deletions test/_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import pify from 'pify';

export const host = 'localhost';

interface TestServer extends http.Server {
export interface TestServer extends http.Server {
host: string;
port: number;
url: string;
protocol: string;
}

const baseCreateServer = (fn): (() => Promise<TestServer>) => {
const baseCreateServer = (fn: http.RequestListener): (() => Promise<TestServer>) => {
return async (): Promise<TestServer> => {
const port = await getPort();
const server = http.createServer(fn) as TestServer;
Expand All @@ -24,6 +24,7 @@ const baseCreateServer = (fn): (() => Promise<TestServer>) => {
server.url = `http://${host}:${port}`;
server.protocol = 'http';
server.listen(port);
// @ts-ignore
server.close = pify(server.close);

return server;
Expand All @@ -36,6 +37,7 @@ export const createServer = baseCreateServer((_request, response) => {
});

export const createCookieServer = baseCreateServer((request, response) => {
// @ts-ignore
const color = cookie.parse(request.headers.cookie).pageresColor || 'white';
response.writeHead(200, {'content-type': 'text/html'});
response.end(`<body><div style="background: ${color}; position: absolute; top: 0; bottom: 0; left: 0; right: 0;"></div></body`);
Expand Down
8 changes: 6 additions & 2 deletions test/cookie.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import test from 'ava';
import test, {ExecutionContext} from 'ava';
// eslint-disable-next-line ava/no-import-test-files
import PNG from 'png.js';
import pify from 'pify';
import Pageres from '../source';
import {createCookieServer} from './_server';

async function cookieTest(input, t): Promise<void> {
interface Cookie {
[key: string]: string;
}

async function cookieTest(input: string | Cookie, t: ExecutionContext): Promise<void> {
const server = await createCookieServer();

const screenshots = await new Pageres({cookies: [input]})
Expand Down
10 changes: 6 additions & 4 deletions test/test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ import pathExists from 'path-exists';
import sinon from 'sinon';
import fileType from 'file-type';
import Pageres, {Screenshot} from '../source';
import {createServer} from './_server';
import {createServer, TestServer} from './_server';

const fsP = pify(fs);

const hasScreenshotsWithFilenames = (screenshots: Screenshot[], filenames: string[]): boolean => {
return screenshots.some(screenshot => filenames.includes(screenshot.filename));
};

const getPngPixels = async (buffer): Promise<Buffer> => {
const getPngPixels = async (buffer: Buffer): Promise<Buffer> => {
const png = new PNG(buffer);
const {pixels} = await pify(png.parse.bind(png))();
return pixels;
};

let server;
let serverFileName;
let server: TestServer;
let serverFileName: string;
test.before(async () => {
server = await createServer();
serverFileName = server.url
Expand Down Expand Up @@ -246,11 +246,13 @@ test('`scale` option', async t => {

test('support data URL', async t => {
const screenshots = await new Pageres().src('data:text/html;base64,PGgxPkZPTzwvaDE+', ['100x100']).run();
// @ts-ignore
t.is(fileType(screenshots[0]).mime, 'image/png');
});

test('`format` option', async t => {
const screenshots = await new Pageres().src(server.url, ['100x100'], {format: 'jpg'}).run();
// @ts-ignore
t.is(fileType(screenshots[0]).mime, 'image/jpeg');
});

Expand Down
7 changes: 2 additions & 5 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,9 @@
"target": "es2016",
"lib": [
"es2016"
],

// TODO: Remove this
"strict": false
]
},
"include": [
"source"
]
],
}

0 comments on commit 231e209

Please sign in to comment.