Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolaRHristov committed Aug 8, 2023
0 parents commit a66dcab
Show file tree
Hide file tree
Showing 27 changed files with 539 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

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

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

permissions:
pull-requests: write

on:
workflow_dispatch:
pull_request:

jobs:
Approve:
runs-on: ubuntu-latest

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

steps:
- uses: dependabot/[email protected]
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/[email protected]
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/[email protected]

- uses: actions/[email protected]
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/[email protected]

- uses: pnpm/[email protected]
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/[email protected]
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/[email protected]
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/[email protected]

- uses: github/codeql-action/[email protected]
with:
languages: javascript

- name: Perform CodeQL Analysis
uses: github/codeql-action/[email protected]
with:
category: "/language:javascript"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.turbo
3 changes: 3 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.github/
.turbo/
Source/
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## 0.0.2

- Cleanup

## 0.0.1

- Initial version
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
}
}
Loading

0 comments on commit a66dcab

Please sign in to comment.