Skip to content

Commit

Permalink
Merge pull request #76 from credbull/fix-app-build2
Browse files Browse the repository at this point in the history
Fix the `ci-dev-app.yml` Github Action/build.
  • Loading branch information
lucasia authored Jul 9, 2024
2 parents bee7655 + 87a59e2 commit d49c752
Show file tree
Hide file tree
Showing 13 changed files with 183 additions and 255 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/ci-dev-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,11 @@ jobs:
with:
version: nightly

- name: Install Project dependencies and Build
run: |
yarn install
yarn build
- name: Install Project dependencies
run: yarn install
working-directory: .

- name: Run Tests
- name: Run app Tests
run: yarn run test
env:
API_BASE_URL: http://localhost:3001
Expand All @@ -63,11 +62,16 @@ jobs:
- name: Pull Vercel Environment Information
run: vercel pull --yes --environment=preview --cwd ../.. --token=${{ secrets.VERCEL_TOKEN }}

# NOTE (JL,2024-07-09): We create a `.env.local` file on the fly, to get the server-side Env Variables past
# the `vercel build` invocation.
- name: Build Project Artifacts
run: vercel build --cwd ../.. --token=${{ secrets.VERCEL_TOKEN }}
env:
run: |
cat >.env.local <<EOS
API_BASE_URL: http://localhost:3001
SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.TEST_SUPABASE_SERVICE_ROLE_KEY }}
EOS
vercel build --cwd ../.. --token=${{ secrets.VERCEL_TOKEN }}
env:
NEXT_PUBLIC_SUPABASE_URL: ${{ vars.TEST_SUPABASE_URL }}
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ vars.TEST_SUPABASE_ANON_KEY }}
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID: ${{ vars.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID }}
Expand Down
3 changes: 1 addition & 2 deletions .vercelignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
packages/ops
packages/sdk
packages/ops
21 changes: 10 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,22 @@
"private": true,
"workspaces": {
"packages": [
"packages/*",
"spikes/*",
"scripts/*"
"packages/*"
]
},
"scripts": {
"build": "turbo build",
"lint": "turbo lint",
"test": "turbo test",
"format": "turbo format",
"dev": "turbo dev",
"clean": "turbo run clean",
"build": "turbo run build",
"test": "turbo run test",
"int-test": "turbo run int-test",
"format": "turbo run format",
"lint": "turbo run lint",
"postinstall": "husky install"
},
"devDependencies": {
"husky": "~8.0.3",
"lint-staged": "^15.2.0",
"turbo": "^1.11.2"
"husky": "^9.0.11",
"lint-staged": "^15.2.7",
"turbo": "^2.0.6"
},
"packageManager": "[email protected]",
"resolutions": {
Expand Down
1 change: 1 addition & 0 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"scripts": {
"migrate:pull": "supabase db pull && supabase gen types typescript --linked --schema public > src/types/supabase.ts && yarn format",
"migrate:local": "supabase migration up —local",
"clean": "rm -rf dist",
"dev": "nest start --watch",
"build": "nest build",
"build:ci": "yarn build",
Expand Down
5 changes: 3 additions & 2 deletions packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "0.1.0",
"private": true,
"scripts": {
"clean": "rm -rf .next next-env.d.ts",
"dev": "next dev",
"build": "next build",
"build:ci": "yarn build",
Expand Down Expand Up @@ -66,9 +67,9 @@
"eslint-config-next": "13.5.6",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.2",
"husky": "^8.0.3",
"husky": "^9.0.11",
"jsdom": "^23.0.1",
"lint-staged": "^15.2.0",
"lint-staged": "^15.2.7",
"prettier": "3.1.1",
"start-server-and-test": "^2.0.3",
"typescript": "^5.4.5",
Expand Down
8 changes: 5 additions & 3 deletions packages/contracts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
"main": "index.js",
"types": "index.ts",
"scripts": {
"chain": "rm ./script/output/dbdata.json || true && anvil --config-out localhost.json",
"dev": "rm ./script/output/dbdata.json || true && anvil --config-out localhost.json & make deploy-local",
"build": "forge clean && forge build",
"rm-dbdata": "rm -f ./script/output/dbdata.json",
"chain": "yarn rm-dbdata && anvil --config-out localhost.json",
"clean": "forge clean && rm -rf broadcast cache deployments types localhost.json index.js",
"dev": "yarn rm-dbdata && anvil --config-out localhost.json & make deploy-local",
"build": "forge build && yarn gen-types",
"test": "forge test",
"format": "forge fmt && prettier './script/**/*.js' --write",
"lint": "forge fmt && eslint --fix --ignore-path .gitignore && yarn solhint './*(test|src)/**/*.sol'",
Expand Down
1 change: 1 addition & 0 deletions packages/ops/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@credbull/ops",
"packageManager": "[email protected]",
"scripts": {
"clean": "rm -rf playwright-report test-results",
"op": "ts-node index.ts",
"int-test": "playwright test"
},
Expand Down
112 changes: 7 additions & 105 deletions packages/ops/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,109 +1,11 @@
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */

/* Projects */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */

/* Language and Environment */
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
// "jsx": "preserve", /* Specify what JSX code is generated. */
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */

/* Modules */
"module": "commonjs", /* Specify what module code is generated. */
// "rootDir": "./", /* Specify the root folder within your source files. */
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
"paths": { "@/*": ["./src/*"] }, /* Specify a set of entries that re-map imports to additional lookup locations. */
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
// "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
// "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
// "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
// "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
// "resolveJsonModule": true, /* Enable importing .json files. */
// "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
// "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */

/* JavaScript Support */
// "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */

/* Emit */
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
// "sourceMap": true, /* Create source map files for emitted JavaScript files. */
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
// "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
// "outDir": "./", /* Specify an output folder for all emitted files. */
// "removeComments": true, /* Disable emitting comments. */
// "noEmit": true, /* Disable emitting files from a compilation. */
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
// "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
// "newLine": "crlf", /* Set the newline character for emitting files. */
// "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
// "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
// "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
// "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */

/* Interop Constraints */
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
// "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
// "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */

/* Type Checking */
"strict": true, /* Enable all strict type-checking options. */
// "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
// "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
// "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
// "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
// "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
// "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
// "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
// "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */

/* Completeness */
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
"skipLibCheck": true /* Skip type checking all .d.ts files. */
"target": "es2016",
"module": "commonjs",
"paths": { "@/*": ["./src/*"] },
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
}
}
7 changes: 5 additions & 2 deletions packages/sdk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"clean": "tsc --build --clean",
"clean": "tsc --build --clean && rm -rf playwright-report test-results",
"dev": "tsc --build --watch",
"build": "tsc --build",
"format": "prettier . --write",
"build:ci": "yarn build",
"int-test": "playwright test",
"format": "prettier . --write",
"lint": "eslint --fix --ignore-path .gitignore",
"report": "playwright show-report"
},
"dependencies": {
Expand Down
6 changes: 4 additions & 2 deletions packages/sdk/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"outDir": "./dist",
"outDir": "dist",
"rootDir": "src",
"declaration": true
},
"include": ["./src"]
"include": ["src"],
"exclude": ["node_modules", "dist", "test"]
}
18 changes: 13 additions & 5 deletions turbo.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {},
"tasks": {
"clean": {
"dependsOn": ["^clean"],
"cache": false
},
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**", "!.next/cache/**", "types/**", "out/**"]
},
"build:ci": {
"dependsOn": ["^build:ci"],
"outputs": [".next/**", "!.next/cache/**"]
"outputs": ["dist/**"]
},
"api#build:ci": {
"app#build:ci": {
"dependsOn": ["^build:ci"],
"outputs": ["dist/**"]
"outputs": [".next/**", "!.next/cache/**"]
},
"test": {},
"int-test": {},
"format": {},
"lint": {},
"dev": {
Expand Down
4 changes: 4 additions & 0 deletions vercel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"buildCommand": "turbo run build:ci",
"outputDirectory": "packages/app/.next"
}
Loading

0 comments on commit d49c752

Please sign in to comment.