mirror of
https://github.com/denoland/deno.git
synced 2025-03-03 09:31:22 -05:00
fix: skip formatting of deleted files (denoland/deno_std#161)
Original: c758845601
This commit is contained in:
parent
b79d2a9d41
commit
d2a336ee02
5 changed files with 71 additions and 65 deletions
28
format.ts
28
format.ts
|
@ -38,6 +38,18 @@ async function getSourceFiles() {
|
|||
.split(/\r?\n/);
|
||||
}
|
||||
|
||||
async function readFileIfExists(filename: string): Promise<string | null> {
|
||||
let data;
|
||||
try {
|
||||
data = await readFile(filename);
|
||||
} catch (e) {
|
||||
// The file is deleted. Returns null.
|
||||
return null;
|
||||
}
|
||||
|
||||
return decoder.decode(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the file has been formatted with prettier.
|
||||
*/
|
||||
|
@ -45,7 +57,13 @@ async function checkFile(
|
|||
filename: string,
|
||||
parser: "typescript" | "markdown"
|
||||
): Promise<boolean> {
|
||||
const text = decoder.decode(await readFile(filename));
|
||||
const text = await readFileIfExists(filename);
|
||||
|
||||
if (!text) {
|
||||
// The file is deleted. Skip.
|
||||
return;
|
||||
}
|
||||
|
||||
const formatted = prettier.check(text, {
|
||||
parser,
|
||||
plugins: prettierPlugins
|
||||
|
@ -66,7 +84,13 @@ async function formatFile(
|
|||
filename: string,
|
||||
parser: "typescript" | "markdown"
|
||||
): Promise<void> {
|
||||
const text = decoder.decode(await readFile(filename));
|
||||
const text = await readFileIfExists(filename);
|
||||
|
||||
if (!text) {
|
||||
// The file is deleted. Skip.
|
||||
return;
|
||||
}
|
||||
|
||||
const formatted = prettier.format(text, {
|
||||
parser,
|
||||
plugins: prettierPlugins
|
||||
|
|
|
@ -13,31 +13,31 @@ class TestHandler extends BaseHandler {
|
|||
|
||||
test(function simpleHandler() {
|
||||
const cases = new Map<number, string[]>([
|
||||
[LogLevel.DEBUG, [
|
||||
"DEBUG debug-test",
|
||||
"INFO info-test",
|
||||
"WARNING warning-test",
|
||||
"ERROR error-test",
|
||||
"CRITICAL critical-test"
|
||||
]],
|
||||
[LogLevel.INFO, [
|
||||
"INFO info-test",
|
||||
"WARNING warning-test",
|
||||
"ERROR error-test",
|
||||
"CRITICAL critical-test"
|
||||
]],
|
||||
[LogLevel.WARNING, [
|
||||
"WARNING warning-test",
|
||||
"ERROR error-test",
|
||||
"CRITICAL critical-test"
|
||||
]],
|
||||
[LogLevel.ERROR, [
|
||||
"ERROR error-test",
|
||||
"CRITICAL critical-test"
|
||||
]],
|
||||
[LogLevel.CRITICAL, [
|
||||
"CRITICAL critical-test"
|
||||
]]
|
||||
[
|
||||
LogLevel.DEBUG,
|
||||
[
|
||||
"DEBUG debug-test",
|
||||
"INFO info-test",
|
||||
"WARNING warning-test",
|
||||
"ERROR error-test",
|
||||
"CRITICAL critical-test"
|
||||
]
|
||||
],
|
||||
[
|
||||
LogLevel.INFO,
|
||||
[
|
||||
"INFO info-test",
|
||||
"WARNING warning-test",
|
||||
"ERROR error-test",
|
||||
"CRITICAL critical-test"
|
||||
]
|
||||
],
|
||||
[
|
||||
LogLevel.WARNING,
|
||||
["WARNING warning-test", "ERROR error-test", "CRITICAL critical-test"]
|
||||
],
|
||||
[LogLevel.ERROR, ["ERROR error-test", "CRITICAL critical-test"]],
|
||||
[LogLevel.CRITICAL, ["CRITICAL critical-test"]]
|
||||
]);
|
||||
|
||||
for (const [testCase, messages] of cases.entries()) {
|
||||
|
|
|
@ -8,7 +8,7 @@ class TestHandler extends BaseHandler {
|
|||
public records: LogRecord[] = [];
|
||||
|
||||
handle(record: LogRecord): void {
|
||||
this.records.push({...record, datetime: null });
|
||||
this.records.push({ ...record, datetime: null });
|
||||
super.handle(record);
|
||||
}
|
||||
|
||||
|
@ -83,22 +83,13 @@ test(function logFunctions() {
|
|||
|
||||
doLog("WARNING");
|
||||
|
||||
assertEqual(handler.messages, [
|
||||
"WARNING baz",
|
||||
"ERROR boo",
|
||||
"CRITICAL doo"
|
||||
]);
|
||||
assertEqual(handler.messages, ["WARNING baz", "ERROR boo", "CRITICAL doo"]);
|
||||
|
||||
doLog("ERROR");
|
||||
|
||||
assertEqual(handler.messages, [
|
||||
"ERROR boo",
|
||||
"CRITICAL doo"
|
||||
]);
|
||||
assertEqual(handler.messages, ["ERROR boo", "CRITICAL doo"]);
|
||||
|
||||
doLog("CRITICAL");
|
||||
|
||||
assertEqual(handler.messages, [
|
||||
"CRITICAL doo"
|
||||
]);
|
||||
assertEqual(handler.messages, ["CRITICAL doo"]);
|
||||
});
|
||||
|
|
20
log/mod.ts
20
log/mod.ts
|
@ -23,11 +23,11 @@ export interface LogConfig {
|
|||
const DEFAULT_LEVEL = "INFO";
|
||||
const DEFAULT_CONFIG: LogConfig = {
|
||||
handlers: {
|
||||
"default": new ConsoleHandler(DEFAULT_LEVEL)
|
||||
default: new ConsoleHandler(DEFAULT_LEVEL)
|
||||
},
|
||||
|
||||
loggers: {
|
||||
"default": {
|
||||
default: {
|
||||
level: DEFAULT_LEVEL,
|
||||
handlers: ["default"]
|
||||
}
|
||||
|
@ -48,19 +48,19 @@ export const handlers = {
|
|||
};
|
||||
|
||||
export const debug = (msg: string, ...args: any[]) =>
|
||||
getLogger('default').debug(msg, ...args);
|
||||
getLogger("default").debug(msg, ...args);
|
||||
export const info = (msg: string, ...args: any[]) =>
|
||||
getLogger('default').info(msg, ...args);
|
||||
getLogger("default").info(msg, ...args);
|
||||
export const warning = (msg: string, ...args: any[]) =>
|
||||
getLogger('default').warning(msg, ...args);
|
||||
getLogger("default").warning(msg, ...args);
|
||||
export const error = (msg: string, ...args: any[]) =>
|
||||
getLogger('default').error(msg, ...args);
|
||||
getLogger("default").error(msg, ...args);
|
||||
export const critical = (msg: string, ...args: any[]) =>
|
||||
getLogger('default').critical(msg, ...args);
|
||||
getLogger("default").critical(msg, ...args);
|
||||
|
||||
export function getLogger(name?: string) {
|
||||
if (!name) {
|
||||
return state.loggers.get('default');
|
||||
return state.loggers.get("default");
|
||||
}
|
||||
|
||||
if (!state.loggers.has(name)) {
|
||||
|
@ -78,8 +78,8 @@ export function getHandler(name: string) {
|
|||
|
||||
export async function setup(config: LogConfig) {
|
||||
state.config = {
|
||||
handlers: {...DEFAULT_CONFIG.handlers, ...config.handlers},
|
||||
loggers: {...DEFAULT_CONFIG.loggers, ...config.loggers}
|
||||
handlers: { ...DEFAULT_CONFIG.handlers, ...config.handlers },
|
||||
loggers: { ...DEFAULT_CONFIG.loggers, ...config.loggers }
|
||||
};
|
||||
|
||||
// tear down existing handlers
|
||||
|
|
21
log/test.ts
21
log/test.ts
|
@ -52,10 +52,7 @@ test(async function defaultHandlers() {
|
|||
logger("foo");
|
||||
logger("bar", 1, 2);
|
||||
|
||||
assertEqual(handler.messages, [
|
||||
`${levelName} foo`,
|
||||
`${levelName} bar`
|
||||
]);
|
||||
assertEqual(handler.messages, [`${levelName} foo`, `${levelName} bar`]);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -64,7 +61,7 @@ test(async function getLogger() {
|
|||
|
||||
await log.setup({
|
||||
handlers: {
|
||||
default: handler
|
||||
default: handler
|
||||
},
|
||||
loggers: {
|
||||
default: {
|
||||
|
@ -77,9 +74,7 @@ test(async function getLogger() {
|
|||
const logger = log.getLogger();
|
||||
|
||||
assertEqual(logger.levelName, "DEBUG");
|
||||
assertEqual(logger.handlers, [
|
||||
handler
|
||||
]);
|
||||
assertEqual(logger.handlers, [handler]);
|
||||
});
|
||||
|
||||
test(async function getLoggerWithName() {
|
||||
|
@ -100,17 +95,13 @@ test(async function getLoggerWithName() {
|
|||
const logger = log.getLogger("bar");
|
||||
|
||||
assertEqual(logger.levelName, "INFO");
|
||||
assertEqual(logger.handlers, [
|
||||
fooHandler
|
||||
]);
|
||||
assertEqual(logger.handlers, [fooHandler]);
|
||||
});
|
||||
|
||||
test(async function getLoggerUnknown() {
|
||||
await log.setup({
|
||||
handlers: {
|
||||
},
|
||||
loggers: {
|
||||
}
|
||||
handlers: {},
|
||||
loggers: {}
|
||||
});
|
||||
|
||||
const logger = log.getLogger("nonexistent");
|
||||
|
|
Loading…
Add table
Reference in a new issue