Skip to content

Commit

Permalink
feat: initial 3.0 GA release (#26)
Browse files Browse the repository at this point in the history
  • Loading branch information
DRiFTy17 authored Jun 11, 2024
1 parent 03c91f3 commit 05787e6
Show file tree
Hide file tree
Showing 82 changed files with 9,617 additions and 36,020 deletions.
4 changes: 1 addition & 3 deletions .autorc
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
plugins:
- - npm
- setRcToken: false
publishFolder: dist/
- npm
- conventional-commits
- released
- first-time-contributor
Expand Down
18 changes: 5 additions & 13 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"overrides": [
{
"files": [
"*.js",
"*.ts"
],
"parserOptions": {
Expand All @@ -22,20 +23,11 @@
"extends": [
"plugin:@tylertech-eslint/recommended"
],
"plugins": [
"import"
],
"rules": {
"@typescript-eslint/indent": ["error", 2, { "SwitchCase": 1 }],
"@typescript-eslint/no-empty-interface": ["error", { "allowSingleExtends": true }],
"no-trailing-spaces": ["error", { "ignoreComments": true, "skipBlankLines": true }],
"quote-props": ["error", "as-needed", { "unnecessary": false }],
"@typescript-eslint/explicit-function-return-type": ["error", { "allowExpressions": true }],
"comma-dangle": "error",
"@typescript-eslint/comma-dangle": ["error"],
"comma-spacing": "off",
"@typescript-eslint/comma-spacing": ["error"],
"no-extra-parens": "off",
"@typescript-eslint/no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false }],
"@typescript-eslint/explicit-member-accessibility": ["error", { "overrides": { "constructors": "no-public" } }],
"max-len": "off"
"import/extensions": ["error", "ignorePackages"]
}
}
]
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/auto-pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@ name: Pull Request Validation

on:
pull_request:
branches:
- main
types: [opened, synchronize, reopened, labeled, unlabeled]
workflow_dispatch:

jobs:
release:
name: Pull Request Validation
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/wf-auto-pr-check.yml@v2.8.1
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/wf-auto-pr-check.yml@v2.10.3
18 changes: 2 additions & 16 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,10 @@ name: Build Pull Request

on:
pull_request:
paths:
- '.github/workflows/**/*'
- '.eslintrc.json'
- 'gulpfile.ts'
- 'tsconfig.json'
- 'bin/**/*'
- 'config/**/*'
- 'src/**/*'
- 'templates/**/*'
- 'test/**/*'
- 'package.json'
- 'package-lock.json'

jobs:
build:
name: Build and Test
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/[email protected]
with:
TESTS_ENABLED: true
name: Build
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/[email protected]
secrets:
NPM_TOKEN: ${{ secrets.FORGE_NPM_TOKEN }}
43 changes: 8 additions & 35 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,27 @@
## We only run this workflow on pushes to the branch. This workflow will
## first determine if a release is to be published, and if so, build and publish.
## Otherwise, if not a release, we just perform CI build validation.

name: Build and Release

on:
push:
branches:
- main
paths:
- '.github/workflows/**/*'
- '.eslintrc.json'
- 'gulpfile.ts'
- 'tsconfig.json'
- 'auto.config.ts'
- 'bin/**/*'
- 'config/**/*'
- 'src/**/*'
- 'templates/**/*'
- 'test/**/*'
- 'package.json'
- 'package-lock.json'
workflow_dispatch:

concurrency: build-release-${{ github.ref }}

jobs:
## Gather configuration required by other jobs
wf-config:
name: Workflow Configuration
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Prepare Repository
# Fetch full git history and tags
run: git fetch --unshallow --tags

- name: Cache Dependencies
id: cache
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
Expand All @@ -52,9 +33,9 @@ jobs:
${{ runner.os }}-
- name: Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: "20"

- name: Install
id: install
Expand All @@ -78,47 +59,39 @@ jobs:
echo "release=false" >> $GITHUB_OUTPUT
fi
## Detect if any specific files we care about have changed to help us know if we need to execute a CI build at all or not
- name: Check File Changes
uses: dorny/paths-filter@v2
uses: dorny/paths-filter@v3
id: file-filter
with:
filters: |
build:
- '.github/workflows/**'
- '.eslintrc.json'
- 'auto.config.ts'
- '.autorc'
- 'gulpfile.ts'
- 'tsconfig.json'
- 'bin/**'
- 'config/**'
- 'src/**'
- 'templates/**'
test:
- 'src/**'
- 'test/**'
outputs:
is-release: ${{ steps.detect-release.outputs.release }}
build-files-changed: ${{ steps.file-filter.outputs.build == 'true' }}
test-files-changed: ${{ steps.file-filter.outputs.test == 'true' }}

# This job will run on non-release builds for general CI validation only if files are changed that need to be built
build:
name: Build and Test
needs: wf-config
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/wf-build-and-test.yml@v2.8.1
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/wf-build-and-test.yml@v2.10.3
if: ${{ needs.wf-config.outputs.is-release == 'false' && (needs.wf-config.outputs.build-files-changed == 'true' || needs.wf-config.outputs.test-files-changed == 'true') }}
with:
BUILD_ENABLED: ${{ needs.wf-config.outputs.build-files-changed == 'true' }}
TESTS_ENABLED: ${{ needs.wf-config.outputs.test-files-changed == 'true' }}
secrets:
NPM_TOKEN: ${{ secrets.FORGE_NPM_TOKEN }}

## This job will run on release builds when publishing a new version
build-and-release:
name: Build and Release
needs: wf-config
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/wf-build-release.yml@v2.8.1
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/wf-build-release.yml@v2.10.3
if: ${{ needs.wf-config.outputs.is-release == 'true' }}
with:
PRODUCTION_RELEASE: true
Expand Down
3 changes: 0 additions & 3 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit "$1"
3 changes: 0 additions & 3 deletions .husky/pre-push
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run lint
9 changes: 1 addition & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,6 @@ $ forge help
$ forge new
```

## Serving the static demo application

```shell
$ forge serve
```
Run `$ forge help serve demo` for information on options that can be passed to the serve command.

## Development

Install dependencies:
Expand All @@ -54,7 +47,7 @@ $ npm run watch
Testing the CLI locally can be done by using `npm link`, or by just using a path to the `dist` directory after a successful build:

```shell
$ node ../forge-cli/dist/bin/forge help
$ node ../forge-cli/bin/forge help
```

## License
Expand Down
20 changes: 0 additions & 20 deletions bin/forge

This file was deleted.

9 changes: 9 additions & 0 deletions bin/forge.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env node
'use strict';

process.title = 'forge';

import { fileURLToPath } from 'url';
import { run } from '../dist/index.js';

run(process, fileURLToPath(import.meta.url));
6 changes: 3 additions & 3 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module.exports = {
export default {
extends: ['@commitlint/config-conventional'],
rules: {
"header-max-length": [0, 'always', 100],
"footer-max-line-length": [0, 'always', 100]
'header-max-length': [0, 'always', 100],
'footer-max-line-length': [0, 'always', 100]
}
};
7 changes: 2 additions & 5 deletions config/build-schema.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.tylertech.com/build-schema.json",
"title": "Forge CLI Configuration",
"$id": "tyler-forge-build-schema",
"title": "Tyler Forge CLI Configuration",
"type": "object",
"additionalProperties": false,
"required": [
"build"
],
"properties": {
"$schema": {
"type": "string"
Expand Down
Loading

0 comments on commit 05787e6

Please sign in to comment.