Skip to content

Commit

Permalink
fix: improve ts output for create logger (#8763)
Browse files Browse the repository at this point in the history
## Description
Typescript =< 5.2 generated better types for `log` than >= 5.3. We're on
5.5 as that has the better import syntax.
Changing createLogger to use `function log()` rather than `const log =
function()` outputs as before.

Also updates typescript to 5.5.1 (rc) from 5.5.0 (beta).

5.2, or 5.5 with this change
```
export default log;
declare const log: {
    (...args: any[]): void;
    createLogger(subName: string, subDelimiter?: string, subStyles?: string): any;
    createNewLogger(newName: string, newDelimiter?: string, newStyles?: string): any;
    levels: any;
    level(lvl?: "info" | "error" | "all" | "debug" | "warn" | "off"): string;
    history: {
        (): any[];
        filter(fname: string): any[];
        clear(): void;
        disable(): void;
        enable(): void;
    };
    error(...args: any[]): any;
    warn(...args: any[]): any;
    debug(...args: any[]): any;
};
export const createLogger: (subName: string, subDelimiter?: string, subStyles?: string) => any;
//# sourceMappingURL=log.d.ts.map%
```

5.3+, without this change
```
export default log;
declare function log(...args: any[]): void;
declare namespace log { }
export const createLogger: (subName: string, subDelimiter?: string, subStyles?: string) => any;
//# sourceMappingURL=log.d.ts.map%
```

## Requirements Checklist
- [x] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [x] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [ ] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [x] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
  • Loading branch information
mister-ben authored Jun 12, 2024
1 parent b58b4c5 commit 86ff612
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@
"shelljs": "^0.8.5",
"shx": "^0.3.2",
"sinon": "^11.1.1",
"typescript": "^5.5.0-beta",
"typescript": "^5.5.1-rc",
"uglify-js": "^3.6.0",
"unified": "^7.0.2",
"videojs-generate-karma-config": "^8.1.0",
Expand Down
6 changes: 3 additions & 3 deletions src/js/utils/create-logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,17 +104,17 @@ export default function createLogger(name, delimiter = ':', styles = '') {
* @param {...*} args
* One or more messages or objects that should be logged.
*/
const log = function(...args) {
function log(...args) {
logByType('log', level, args);
};
}

// This is the logByType helper that the logging methods below use
logByType = LogByTypeFactory(name, log, styles);

/**
* Create a new subLogger which chains the old name to the new name.
*
* For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:
* For example, doing `mylogger = videojs.log.createLogger('player')` and then using that logger will log the following:
* ```js
* mylogger('foo');
* // > VIDEOJS: player: foo
Expand Down

0 comments on commit 86ff612

Please # to comment.