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 1a6fc0b
Show file tree
Hide file tree
Showing 27 changed files with 531 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .github/dependabot2.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
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"
33 changes: 33 additions & 0 deletions .github/workflows/Dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
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-and-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 review --approve "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
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:
node:
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
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?: { esbuild?: string; TypeScript?: string }
) => {
const Pipe: Pipe = [];

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

Pipe.reverse();

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

await Build(Configuration);

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 1a6fc0b

Please sign in to comment.