Skip to content

Commit

Permalink
Merge branch 'main' of ssh://github.com/baxast/baxast
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolaRHristov committed Aug 8, 2023
2 parents 3dafefc + 69f8879 commit f14e797
Show file tree
Hide file tree
Showing 11 changed files with 422 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
version: 2

updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
versioning-strategy: increase
45 changes: 45 additions & 0 deletions .github/workflows/Dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Dependabot

concurrency:
group: Dependabot-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
security-events: write
contents: write
pull-requests: write

on:
workflow_dispatch:
pull_request:

jobs:
Approve:
runs-on: ubuntu-latest

if: ${{ github.actor == 'dependabot[bot]' }}

steps:
- uses: dependabot/fetch-metadata@v1.6.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"

- run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

Merge:
runs-on: ubuntu-latest

if: ${{ github.actor == 'dependabot[bot]' }}

steps:
- uses: dependabot/fetch-metadata@v1.6.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"

- run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
41 changes: 41 additions & 0 deletions .github/workflows/NPM.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: NPM

concurrency:
group: NPM-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
security-events: write
contents: write
pull-requests: write

on:
workflow_dispatch:
release:
types: [created]
workflow_call:

jobs:
Publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v3.5.3

- uses: actions/setup-node@v3.7.0
with:
node-version: "18"
registry-url: "https://registry.npmjs.org"

- run: npm install -g npm

- name: Publish .
continue-on-error: true
working-directory: .
run: |
npm install --legacy-peer-deps
npm publish --legacy-peer-deps --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
93 changes: 93 additions & 0 deletions .github/workflows/Node.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Node

concurrency:
group: Node-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
security-events: write
contents: write
pull-requests: write

on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
workflow_call:

jobs:
Pre-Publish:
runs-on: ubuntu-latest

env:
ADBLOCK: true
TELEMETRY_DISABLED: 1
ASTRO_TELEMETRY_DISABLED: 1
AUTOMATEDLAB_TELEMETRY_OPTOUT: 1
AZURE_CORE_COLLECT_TELEMETRY: 0
CHOOSENIM_NO_ANALYTICS: 1
DIEZ_DO_NOT_TRACK: 1
DO_NOT_TRACK: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1
ET_NO_TELEMETRY: 1
GATSBY_TELEMETRY_DISABLED: 1
GATSBY_TELEMETRY_OPT_OUT: 1
GATSBY_TELEMETRY_OPTOUT: 1
HASURA_GRAPHQL_ENABLE_TELEMETRY: false
HINT_TELEMETRY: off
HOMEBREW_NO_ANALYTICS: 1
INFLUXD_REPORTING_DISABLED: true
ITERATIVE_DO_NOT_TRACK: 1
NEXT_TELEMETRY_DEBUG: 1
NEXT_TELEMETRY_DISABLED: 1
NG_CLI_ANALYTICS: false
NUXT_TELEMETRY_DISABLED: 1
PIN_DO_NOT_TRACK: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
SAM_CLI_TELEMETRY: 0
STNOUPGRADE: 1
STRIPE_CLI_TELEMETRY_OPTOUT: 1

strategy:
matrix:
node-version: [16, 18, 19]

steps:
- uses: actions/checkout@v3.5.3

- uses: pnpm/action-setup@v2.4.0
with:
version: 8.6.12
run_install: |
- recursive: true
args: [
--child-concurrency=9999,
--link-workspace-packages=true,
--lockfile-only,
--network-concurrency=9999,
--prefer-frozen-lockfile=false,
--shamefully-hoist=false,
--shared-workspace-lockfile=true,
--strict-peer-dependencies=false,
--unsafe-perm=true
]
- uses: actions/setup-node@v3.7.0
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
cache-dependency-path: ./pnpm-lock.yaml

- run: pnpm install
working-directory: .

- run: pnpm run prepublishOnly
working-directory: .

- uses: actions/upload-artifact@v3.1.2
with:
name: .-Node-${{ matrix.node-version }}-Target
path: ./Target
64 changes: 64 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: "CodeQL"

concurrency:
group: CodeQL-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
security-events: write
contents: write
pull-requests: write

on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
workflow_call:

jobs:
CodeQL:
runs-on: ubuntu-latest

env:
ADBLOCK: true
TELEMETRY_DISABLED: 1
ASTRO_TELEMETRY_DISABLED: 1
AUTOMATEDLAB_TELEMETRY_OPTOUT: 1
AZURE_CORE_COLLECT_TELEMETRY: 0
CHOOSENIM_NO_ANALYTICS: 1
DIEZ_DO_NOT_TRACK: 1
DO_NOT_TRACK: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1
ET_NO_TELEMETRY: 1
GATSBY_TELEMETRY_DISABLED: 1
GATSBY_TELEMETRY_OPT_OUT: 1
GATSBY_TELEMETRY_OPTOUT: 1
HASURA_GRAPHQL_ENABLE_TELEMETRY: false
HINT_TELEMETRY: off
HOMEBREW_NO_ANALYTICS: 1
INFLUXD_REPORTING_DISABLED: true
ITERATIVE_DO_NOT_TRACK: 1
NEXT_TELEMETRY_DEBUG: 1
NEXT_TELEMETRY_DISABLED: 1
NG_CLI_ANALYTICS: false
NUXT_TELEMETRY_DISABLED: 1
PIN_DO_NOT_TRACK: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
SAM_CLI_TELEMETRY: 0
STNOUPGRADE: 1
STRIPE_CLI_TELEMETRY_OPTOUT: 1

steps:
- uses: actions/checkout@v3.5.3

- uses: github/codeql-action/init@v2.21.2
with:
languages: javascript

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2.21.2
with:
category: "/language:javascript"
3 changes: 3 additions & 0 deletions Source/Bin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env node

import "./Index.js";
43 changes: 43 additions & 0 deletions Source/Command/Build.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import { exec as Exec } from "child_process";
import { deepmerge as Merge } from "deepmerge-ts";
import type { BuildOptions } from "esbuild";
import { build as Build } from "esbuild";
import type { Pattern } from "fast-glob";
import Glob from "fast-glob";
import esbuild from "../Configuration/esbuild.js";

export type Pipe = string[];

export default async (Files: Pattern[], Options?: { TypeScript?: string }) => {
const Pipe: Pipe = [];

for (const File of Files) {
for (const _File of await Glob(
File.replaceAll("'", "").replaceAll('"', "")
)) {
Pipe.push(_File);
}
}

Pipe.reverse();

await Build(
Merge(esbuild, {
entryPoints: Object.fromEntries(
Pipe.map((File) => [
File.replace("Source/", "")
.split(".")
.slice(0, -1.0)
.join("."),
File,
])
),
} satisfies BuildOptions)
);

if (Options?.TypeScript) {
Exec(`tsc -p ${Options?.TypeScript}`);
} else {
Exec("tsc");
}
};
50 changes: 50 additions & 0 deletions Source/Configuration/TypeScript.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"allowArbitraryExtensions": true,
"allowImportingTsExtensions": true,
"allowJs": true,
"allowSyntheticDefaultImports": true,
"allowUmdGlobalAccess": false,
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"alwaysStrict": true,
"assumeChangesOnlyAffectDirectDependencies": true,
"baseUrl": "./",
"checkJs": true,
"declaration": true,
"disableReferencedProjectLoad": false,
"emitDeclarationOnly": true,
"esModuleInterop": true,
"exactOptionalPropertyTypes": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"jsx": "preserve",
"lib": [
"ESNext"
],
"module": "NodeNext",
"moduleResolution": "NodeNext",
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noPropertyAccessFromIndexSignature": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"strict": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"target": "ESNext",
"types": [
"node"
],
"verbatimModuleSyntax": true
},
"ts-node": {
"esm": true
}
}
39 changes: 39 additions & 0 deletions Source/Configuration/esbuild.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import type { BuildOptions, PluginBuild } from "esbuild";
import { rm as Remove } from "fs/promises";
import { copy as Copy } from "esbuild-plugin-copy";

const Out = "Target";

export default {
format: "esm",
minify: true,
outdir: Out,
platform: "node",
target: "esnext",
write: true,
plugins: [
{
name: "Target",
setup(build: PluginBuild) {
build.onStart(async () => {
try {
await Remove(Out, {
recursive: true,
});
} catch (_Error) {
console.log(_Error);
}
});
},
},
Copy({
resolveFrom: "out",
assets: [
{
from: "./Source/Configuration/TypeScript.json",
to: "./Configuration/",
},
],
}),
],
} satisfies BuildOptions;
Loading

0 comments on commit f14e797

Please sign in to comment.