service status on atproto

feat: add lexicons, setup projects

ptr.pet 6cc4ad1e 926bf28e

verified
+34
.gitignore
···
+
# dependencies (bun install)
+
node_modules
+
+
# output
+
out
+
dist
+
*.tgz
+
+
# code coverage
+
coverage
+
*.lcov
+
+
# logs
+
logs
+
_.log
+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
+
+
# dotenv environment variable files
+
.env
+
.env.development.local
+
.env.test.local
+
.env.production.local
+
.env.local
+
+
# caches
+
.eslintcache
+
.cache
+
*.tsbuildinfo
+
+
# IntelliJ based IDEs
+
.idea
+
+
# Finder (MacOS) folder config
+
.DS_Store
+51
bun.lock
···
+
{
+
"lockfileVersion": 1,
+
"workspaces": {
+
"": {
+
"name": "barometer",
+
"dependencies": {
+
"@atcute/lexicons": "^1.1.0",
+
"barometer-lexicon": "file:lib",
+
},
+
"devDependencies": {
+
"@types/bun": "latest",
+
},
+
"peerDependencies": {
+
"typescript": "^5",
+
},
+
},
+
},
+
"packages": {
+
"@atcute/lex-cli": ["@atcute/lex-cli@2.1.1", "", { "dependencies": { "@atcute/lexicon-doc": "^1.0.2", "@badrap/valita": "^0.4.5", "@externdefs/collider": "^0.3.0", "picocolors": "^1.1.1", "prettier": "^3.5.3" }, "bin": { "lex-cli": "cli.mjs" } }, "sha512-QaR0sOP8Z24opGHKsSfleDbP/ahUb6HECkVaOqSwG7ORZzbLK1w0265o1BRjCVr2dT6FxlsMUa2Ge85JMA9bxg=="],
+
+
"@atcute/lexicon-doc": ["@atcute/lexicon-doc@1.0.3", "", { "dependencies": { "@badrap/valita": "^0.4.5" } }, "sha512-U7rinsTOwXGGcrF6/s7GzTXargcQpDr4BTrj5ci/XTK+POEK5jpcI+Ag1fF932pBX3k97em6y4TWwTSO8M/McQ=="],
+
+
"@atcute/lexicons": ["@atcute/lexicons@1.1.0", "", { "dependencies": { "esm-env": "^1.2.2" } }, "sha512-LFqwnria78xLYb62Ri/+WwQpUTgZp2DuyolNGIIOV1dpiKhFFFh//nscHMA6IExFLQRqWDs3tTjy7zv0h3sf1Q=="],
+
+
"@badrap/valita": ["@badrap/valita@0.4.5", "", {}, "sha512-4QwGbuhh/JesHRQj79mO/l37PvJj4l/tlAu7+S1n4h47qwaNpZ0WDvIwUGLYUsdi9uQ5UPpiG9wb1Wm3XUFBUQ=="],
+
+
"@externdefs/collider": ["@externdefs/collider@0.3.0", "", { "peerDependencies": { "@badrap/valita": "^0.4.4" } }, "sha512-x5CpeZ4c8n+1wMFthUMWSQKqCGcQo52/Qbda5ES+JFRRg/D8Ep6/JOvUUq5HExFuv/wW+6UYG2U/mXzw0IAd8Q=="],
+
+
"@types/bun": ["@types/bun@1.2.18", "", { "dependencies": { "bun-types": "1.2.18" } }, "sha512-Xf6RaWVheyemaThV0kUfaAUvCNokFr+bH8Jxp+tTZfx7dAPA8z9ePnP9S9+Vspzuxxx9JRAXhnyccRj3GyCMdQ=="],
+
+
"@types/node": ["@types/node@24.0.13", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ=="],
+
+
"@types/react": ["@types/react@19.1.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g=="],
+
+
"barometer-lexicon": ["barometer-lexicon@file:lib", { "dependencies": { "@atcute/lexicons": "^1.1.0" }, "devDependencies": { "@atcute/lex-cli": "^2.1.1", "@types/bun": "latest" }, "peerDependencies": { "typescript": "^5" } }],
+
+
"bun-types": ["bun-types@1.2.18", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-04+Eha5NP7Z0A9YgDAzMk5PHR16ZuLVa83b26kH5+cp1qZW4F6FmAURngE7INf4tKOvCE69vYvDEwoNl1tGiWw=="],
+
+
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
+
+
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
+
+
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
+
+
"prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="],
+
+
"typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
+
+
"undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="],
+
}
+
}
+29
lexicon/check.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.check",
+
"defs": {
+
"main": {
+
"type": "record",
+
"key": "tid",
+
"record": {
+
"type": "object",
+
"required": ["id", "name", "forService"],
+
"properties": {
+
"id": {
+
"type": "string"
+
},
+
"name": {
+
"type": "string"
+
},
+
"description": {
+
"type": "string"
+
},
+
"forService": {
+
"type": "string",
+
"format": "at-uri"
+
}
+
}
+
}
+
}
+
}
+
}
+25
lexicon/host.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.host",
+
"defs": {
+
"main": {
+
"type": "record",
+
"key": "any",
+
"record": {
+
"type": "object",
+
"required": ["name", "os"],
+
"properties": {
+
"name": {
+
"type": "string"
+
},
+
"description": {
+
"type": "string"
+
},
+
"os": {
+
"type": "string"
+
}
+
}
+
}
+
}
+
}
+
}
+30
lexicon/service.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.service",
+
"defs": {
+
"main": {
+
"type": "record",
+
"key": "any",
+
"record": {
+
"type": "object",
+
"required": ["name", "hostedBy"],
+
"properties": {
+
"name": {
+
"type": "string"
+
},
+
"description": {
+
"type": "string"
+
},
+
"hostedBy": {
+
"type": "string",
+
"format": "at-uri"
+
},
+
"appUri": {
+
"type": "string",
+
"format": "uri"
+
}
+
}
+
}
+
}
+
}
+
}
+42
lexicon/state.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.state",
+
"defs": {
+
"main": {
+
"type": "record",
+
"key": "tid",
+
"record": {
+
"type": "object",
+
"required": ["from", "to", "changedAt", "generatedBy"],
+
"properties": {
+
"from": {
+
"type": "string",
+
"enum": [
+
"systems.gaze.barometer.status.passed",
+
"systems.gaze.barometer.status.failed",
+
"systems.gaze.barometer.status.unknown"
+
]
+
},
+
"to": {
+
"type": "string",
+
"enum": [
+
"systems.gaze.barometer.status.passed",
+
"systems.gaze.barometer.status.failed"
+
]
+
},
+
"reason": {
+
"type": "string"
+
},
+
"changedAt": {
+
"type": "string",
+
"format": "datetime"
+
},
+
"generatedBy": {
+
"type": "string",
+
"format": "at-uri"
+
}
+
}
+
}
+
}
+
}
+
}
+10
lexicon/status/failed.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.status.failed",
+
"defs": {
+
"main": {
+
"type": "token",
+
"description": "Token representing a failed state in the barometer system"
+
}
+
}
+
}
+10
lexicon/status/passed.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.status.passed",
+
"defs": {
+
"main": {
+
"type": "token",
+
"description": "Token representing a passed state in the barometer system"
+
}
+
}
+
}
+10
lexicon/status/unknown.json
···
+
{
+
"lexicon": 1,
+
"id": "systems.gaze.barometer.status.unknown",
+
"defs": {
+
"main": {
+
"type": "token",
+
"description": "Token representing an unknown state in the barometer system"
+
}
+
}
+
}
+34
lib/.gitignore
···
+
# dependencies (bun install)
+
node_modules
+
+
# output
+
out
+
dist
+
*.tgz
+
+
# code coverage
+
coverage
+
*.lcov
+
+
# logs
+
logs
+
_.log
+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
+
+
# dotenv environment variable files
+
.env
+
.env.development.local
+
.env.test.local
+
.env.production.local
+
.env.local
+
+
# caches
+
.eslintcache
+
.cache
+
*.tsbuildinfo
+
+
# IntelliJ based IDEs
+
.idea
+
+
# Finder (MacOS) folder config
+
.DS_Store
+49
lib/bun.lock
···
+
{
+
"lockfileVersion": 1,
+
"workspaces": {
+
"": {
+
"name": "barometer-lexicon",
+
"dependencies": {
+
"@atcute/lexicons": "^1.1.0",
+
},
+
"devDependencies": {
+
"@atcute/lex-cli": "^2.1.1",
+
"@types/bun": "latest",
+
},
+
"peerDependencies": {
+
"typescript": "^5",
+
},
+
},
+
},
+
"packages": {
+
"@atcute/lex-cli": ["@atcute/lex-cli@2.1.1", "", { "dependencies": { "@atcute/lexicon-doc": "^1.0.2", "@badrap/valita": "^0.4.5", "@externdefs/collider": "^0.3.0", "picocolors": "^1.1.1", "prettier": "^3.5.3" }, "bin": { "lex-cli": "cli.mjs" } }, "sha512-QaR0sOP8Z24opGHKsSfleDbP/ahUb6HECkVaOqSwG7ORZzbLK1w0265o1BRjCVr2dT6FxlsMUa2Ge85JMA9bxg=="],
+
+
"@atcute/lexicon-doc": ["@atcute/lexicon-doc@1.0.3", "", { "dependencies": { "@badrap/valita": "^0.4.5" } }, "sha512-U7rinsTOwXGGcrF6/s7GzTXargcQpDr4BTrj5ci/XTK+POEK5jpcI+Ag1fF932pBX3k97em6y4TWwTSO8M/McQ=="],
+
+
"@atcute/lexicons": ["@atcute/lexicons@1.1.0", "", { "dependencies": { "esm-env": "^1.2.2" } }, "sha512-LFqwnria78xLYb62Ri/+WwQpUTgZp2DuyolNGIIOV1dpiKhFFFh//nscHMA6IExFLQRqWDs3tTjy7zv0h3sf1Q=="],
+
+
"@badrap/valita": ["@badrap/valita@0.4.5", "", {}, "sha512-4QwGbuhh/JesHRQj79mO/l37PvJj4l/tlAu7+S1n4h47qwaNpZ0WDvIwUGLYUsdi9uQ5UPpiG9wb1Wm3XUFBUQ=="],
+
+
"@externdefs/collider": ["@externdefs/collider@0.3.0", "", { "peerDependencies": { "@badrap/valita": "^0.4.4" } }, "sha512-x5CpeZ4c8n+1wMFthUMWSQKqCGcQo52/Qbda5ES+JFRRg/D8Ep6/JOvUUq5HExFuv/wW+6UYG2U/mXzw0IAd8Q=="],
+
+
"@types/bun": ["@types/bun@1.2.18", "", { "dependencies": { "bun-types": "1.2.18" } }, "sha512-Xf6RaWVheyemaThV0kUfaAUvCNokFr+bH8Jxp+tTZfx7dAPA8z9ePnP9S9+Vspzuxxx9JRAXhnyccRj3GyCMdQ=="],
+
+
"@types/node": ["@types/node@24.0.13", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ=="],
+
+
"@types/react": ["@types/react@19.1.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g=="],
+
+
"bun-types": ["bun-types@1.2.18", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-04+Eha5NP7Z0A9YgDAzMk5PHR16ZuLVa83b26kH5+cp1qZW4F6FmAURngE7INf4tKOvCE69vYvDEwoNl1tGiWw=="],
+
+
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
+
+
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
+
+
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
+
+
"prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="],
+
+
"typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
+
+
"undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="],
+
}
+
}
+6
lib/lex.config.js
···
+
import { defineLexiconConfig } from "@atcute/lex-cli";
+
+
export default defineLexiconConfig({
+
files: ["../lexicon/**/*.json"],
+
outdir: "src/lexicons/",
+
});
+27
lib/package.json
···
+
{
+
"name": "barometer-lexicon",
+
"type": "module",
+
"files": [
+
"dist/",
+
"src/"
+
],
+
"exports": {
+
".": "./dist/index.js",
+
"./types/*": "./dist/lexicons/types/com/atproto/*.js"
+
},
+
"scripts": {
+
"build": "tsc",
+
"generate": "rm -rf ./src/lexicons/; lex-cli generate -c ./lex.config.js",
+
"prepublish": "rm -rf dist; pnpm run build"
+
},
+
"devDependencies": {
+
"@atcute/lex-cli": "^2.1.1",
+
"@types/bun": "latest"
+
},
+
"peerDependencies": {
+
"typescript": "^5"
+
},
+
"dependencies": {
+
"@atcute/lexicons": "^1.1.0"
+
}
+
}
+1
lib/src/index.ts
···
+
export * from "./lexicons/index.ts";
+7
lib/src/lexicons/index.ts
···
+
export * as SystemsGazeBarometerCheck from "./types/systems/gaze/barometer/check.js";
+
export * as SystemsGazeBarometerHost from "./types/systems/gaze/barometer/host.js";
+
export * as SystemsGazeBarometerService from "./types/systems/gaze/barometer/service.js";
+
export * as SystemsGazeBarometerState from "./types/systems/gaze/barometer/state.js";
+
export * as SystemsGazeBarometerStatusFailed from "./types/systems/gaze/barometer/status/failed.js";
+
export * as SystemsGazeBarometerStatusPassed from "./types/systems/gaze/barometer/status/passed.js";
+
export * as SystemsGazeBarometerStatusUnknown from "./types/systems/gaze/barometer/status/unknown.js";
+27
lib/src/lexicons/types/systems/gaze/barometer/check.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
import type {} from "@atcute/lexicons/ambient";
+
+
const _mainSchema = /*#__PURE__*/ v.record(
+
/*#__PURE__*/ v.string(),
+
/*#__PURE__*/ v.object({
+
$type: /*#__PURE__*/ v.literal("systems.gaze.barometer.check"),
+
description: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
+
forService: /*#__PURE__*/ v.resourceUriString(),
+
name: /*#__PURE__*/ v.string(),
+
}),
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export interface Main extends v.InferInput<typeof mainSchema> {}
+
+
declare module "@atcute/lexicons/ambient" {
+
interface Records {
+
"systems.gaze.barometer.check": mainSchema;
+
}
+
}
+27
lib/src/lexicons/types/systems/gaze/barometer/host.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
import type {} from "@atcute/lexicons/ambient";
+
+
const _mainSchema = /*#__PURE__*/ v.record(
+
/*#__PURE__*/ v.string(),
+
/*#__PURE__*/ v.object({
+
$type: /*#__PURE__*/ v.literal("systems.gaze.barometer.host"),
+
description: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
+
name: /*#__PURE__*/ v.string(),
+
os: /*#__PURE__*/ v.string(),
+
}),
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export interface Main extends v.InferInput<typeof mainSchema> {}
+
+
declare module "@atcute/lexicons/ambient" {
+
interface Records {
+
"systems.gaze.barometer.host": mainSchema;
+
}
+
}
+28
lib/src/lexicons/types/systems/gaze/barometer/service.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
import type {} from "@atcute/lexicons/ambient";
+
+
const _mainSchema = /*#__PURE__*/ v.record(
+
/*#__PURE__*/ v.string(),
+
/*#__PURE__*/ v.object({
+
$type: /*#__PURE__*/ v.literal("systems.gaze.barometer.service"),
+
appUri: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.genericUriString()),
+
description: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
+
hostedBy: /*#__PURE__*/ v.resourceUriString(),
+
name: /*#__PURE__*/ v.string(),
+
}),
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export interface Main extends v.InferInput<typeof mainSchema> {}
+
+
declare module "@atcute/lexicons/ambient" {
+
interface Records {
+
"systems.gaze.barometer.service": mainSchema;
+
}
+
}
+36
lib/src/lexicons/types/systems/gaze/barometer/state.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
import type {} from "@atcute/lexicons/ambient";
+
+
const _mainSchema = /*#__PURE__*/ v.record(
+
/*#__PURE__*/ v.tidString(),
+
/*#__PURE__*/ v.object({
+
$type: /*#__PURE__*/ v.literal("systems.gaze.barometer.state"),
+
changedAt: /*#__PURE__*/ v.datetimeString(),
+
from: /*#__PURE__*/ v.literalEnum([
+
"systems.gaze.barometer.status.failed",
+
"systems.gaze.barometer.status.passed",
+
"systems.gaze.barometer.status.unknown",
+
]),
+
generatedBy: /*#__PURE__*/ v.resourceUriString(),
+
reason: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
+
to: /*#__PURE__*/ v.literalEnum([
+
"systems.gaze.barometer.status.failed",
+
"systems.gaze.barometer.status.passed",
+
]),
+
}),
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export interface Main extends v.InferInput<typeof mainSchema> {}
+
+
declare module "@atcute/lexicons/ambient" {
+
interface Records {
+
"systems.gaze.barometer.state": mainSchema;
+
}
+
}
+14
lib/src/lexicons/types/systems/gaze/barometer/status/failed.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
+
const _mainSchema = /*#__PURE__*/ v.literal(
+
"systems.gaze.barometer.status.failed",
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export type Main = v.InferInput<typeof mainSchema>;
+14
lib/src/lexicons/types/systems/gaze/barometer/status/passed.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
+
const _mainSchema = /*#__PURE__*/ v.literal(
+
"systems.gaze.barometer.status.passed",
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export type Main = v.InferInput<typeof mainSchema>;
+14
lib/src/lexicons/types/systems/gaze/barometer/status/unknown.ts
···
+
import type {} from "@atcute/lexicons";
+
import * as v from "@atcute/lexicons/validations";
+
+
const _mainSchema = /*#__PURE__*/ v.literal(
+
"systems.gaze.barometer.status.unknown",
+
);
+
+
type main$schematype = typeof _mainSchema;
+
+
export interface mainSchema extends main$schematype {}
+
+
export const mainSchema = _mainSchema as mainSchema;
+
+
export type Main = v.InferInput<typeof mainSchema>;
+30
lib/tsconfig.json
···
+
{
+
"compilerOptions": {
+
// Environment setup & latest features
+
"lib": ["ESNext"],
+
"target": "ESNext",
+
"module": "Preserve",
+
"moduleDetection": "force",
+
"jsx": "react-jsx",
+
"allowJs": true,
+
+
// Bundler mode
+
"moduleResolution": "bundler",
+
"allowImportingTsExtensions": true,
+
"verbatimModuleSyntax": true,
+
"noEmit": true,
+
+
// Best practices
+
"strict": true,
+
"skipLibCheck": true,
+
"noFallthroughCasesInSwitch": true,
+
"noUncheckedIndexedAccess": true,
+
"noImplicitOverride": true,
+
+
// Some stricter flags (disabled by default)
+
"noUnusedLocals": false,
+
"noUnusedParameters": false,
+
"noPropertyAccessFromIndexSignature": false
+
},
+
"include": ["src"]
+
}
+16
package.json
···
+
{
+
"name": "barometer",
+
"module": "index.ts",
+
"type": "module",
+
"private": true,
+
"devDependencies": {
+
"@types/bun": "latest"
+
},
+
"peerDependencies": {
+
"typescript": "^5"
+
},
+
"dependencies": {
+
"@atcute/lexicons": "^1.1.0",
+
"barometer-lexicon": "file:lib"
+
}
+
}
+1
src/index.ts
···
+
console.log("Hello via Bun!");
+30
tsconfig.json
···
+
{
+
"compilerOptions": {
+
// Environment setup & latest features
+
"lib": ["ESNext"],
+
"target": "ESNext",
+
"module": "Preserve",
+
"moduleDetection": "force",
+
"jsx": "react-jsx",
+
"allowJs": true,
+
+
// Bundler mode
+
"moduleResolution": "bundler",
+
"allowImportingTsExtensions": true,
+
"verbatimModuleSyntax": true,
+
"noEmit": true,
+
+
// Best practices
+
"strict": true,
+
"skipLibCheck": true,
+
"noFallthroughCasesInSwitch": true,
+
"noUncheckedIndexedAccess": true,
+
"noImplicitOverride": true,
+
+
// Some stricter flags (disabled by default)
+
"noUnusedLocals": false,
+
"noUnusedParameters": false,
+
"noPropertyAccessFromIndexSignature": false
+
},
+
"include": ["src/**/*.ts"]
+
}