Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .editorconfig

This file was deleted.

4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

11 changes: 0 additions & 11 deletions .eslintrc.cjs

This file was deleted.

10 changes: 10 additions & 0 deletions .fallowrc.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"extends": ["npm:@block65/shared-config/fallow.jsonc"],

"entry": [
"lib/index.ts",
"lib/node.ts",
"oxfmt.config.ts",
"oxlint.config.ts"
]
}
46 changes: 46 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI

on:
workflow_dispatch: {}
push:
branches: ["master"]
pull_request:
branches: ["master"]

permissions:
contents: read

env:
DO_NOT_TRACK: 1

jobs:
check:
strategy:
matrix:
version: [24, 26]
os: [ubuntu-latest]

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0

- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.version }}
cache: "pnpm"

# The package scripts call just, so it is needed before install
- uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4.0.0

- run: pnpm install --frozen-lockfile

- run: just typecheck
- run: just lint-ci
- run: just fmt-check
- run: just test
- run: just dead-code
- run: just dupes
- run: just pack
37 changes: 26 additions & 11 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,35 @@ on:
release:
types: [published]

env:
DO_NOT_TRACK: 1

jobs:
publish-npm:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
attestations: write
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0

- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 18
node-version: 26
registry-url: https://registry.npmjs.org/
cache: 'pnpm'
- run: make
- run: pnpm publish --access=public --no-git-checks
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
cache: "pnpm"

# The package scripts call just, so it is needed before install
- uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4.0.0

- run: pnpm install --frozen-lockfile

- run: just check

# the trusted publisher grants "npm stage publish", so this uploads for
# review rather than going live. approve it with pnpm stage approve.
# provenance is attached automatically when publishing over oidc
- run: pnpm stage publish --access public --no-git-checks
23 changes: 0 additions & 23 deletions .github/workflows/pr.yml

This file was deleted.

13 changes: 3 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
# node
node_modules

# bazel
.bazelrc.user
bazel-out
dist

# log files
*.log

# general
coverage
tmp
.vscode
*.tsbuildinfo
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18
26
7 changes: 0 additions & 7 deletions .prettierignore

This file was deleted.

35 changes: 0 additions & 35 deletions Makefile

This file was deleted.

26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# @block65/logger

A structured logger for Block65 projects. The main entry point uses only web
streams, so it works in Cloudflare Workers. `@block65/logger/node` adds
`createLogger()`, which writes to stdout in a format that suits the environment
(CloudWatch, Cloud Logging, a terminal, or JSON lines).

```ts
import { jsonTransformer, Level, Logger } from "@block65/logger";

const logger = new Logger({
destination: new WritableStream({
write(line) {
console.log(line);
},
}),
transformer: jsonTransformer,
level: Level.Debug,
});

logger.info({ requestId: "r_1" }, "slow request took %dms", 1200);
await logger.flush();
```

The package ships TypeScript source, so use it through a bundler or a
TypeScript-aware runtime.
52 changes: 0 additions & 52 deletions __tests__/__snapshots__/auto.test.ts.snap

This file was deleted.

27 changes: 0 additions & 27 deletions __tests__/__snapshots__/aws-cloudwatch.test.ts.snap

This file was deleted.

20 changes: 0 additions & 20 deletions __tests__/__snapshots__/aws-lambda-wrapper.test.ts.snap

This file was deleted.

Loading
Loading