Skip to content
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7745727
Phase 3: Prepare core package for workspace structure
AbanoubGhadban Sep 26, 2025
ce91f23
Fix CI failures: Update Knip config and test imports for workspace st…
AbanoubGhadban Sep 26, 2025
0182224
Fix package.json workspace configuration for publishing
AbanoubGhadban Sep 26, 2025
6f08b49
Fix workspace configuration for publishing and CI
AbanoubGhadban Sep 26, 2025
385df7f
Fix Knip configuration to ignore build output directories
AbanoubGhadban Sep 28, 2025
4417277
Fix ESLint configuration for workspace package imports
AbanoubGhadban Sep 28, 2025
3b34f34
Fix Jest configuration for workspace and testing library setup
AbanoubGhadban Sep 28, 2025
5fd223e
Fix Jest setupFilesAfterEnv path resolution for CI
AbanoubGhadban Sep 28, 2025
ef7c6e6
Update Gemfile.lock and package.json for path corrections
AbanoubGhadban Sep 28, 2025
4b94aba
Update script/convert for workspace structure
AbanoubGhadban Sep 28, 2025
8cf9138
Remove setupFilesAfterEnv from Jest configuration and clean up conver…
AbanoubGhadban Sep 28, 2025
ee4487a
Update CircleCI configuration to enhance caching strategy for node_mo…
AbanoubGhadban Sep 28, 2025
5eb784f
Update package.json to simplify link-source script by removing redund…
AbanoubGhadban Sep 28, 2025
a9e1e01
Update link-source script in package.json to target the correct direc…
AbanoubGhadban Sep 28, 2025
3250a03
Update build output path to workspace package directory
AbanoubGhadban Sep 28, 2025
660cab3
Complete workspace migration: move tests, scripts, and babel config
AbanoubGhadban Sep 28, 2025
eab8e2a
Refactor package.json scripts to utilize workspaces for improved comm…
AbanoubGhadban Sep 28, 2025
c1c6b45
Enhance package.json scripts for improved workspace management
AbanoubGhadban Sep 28, 2025
b34e161
Rename package to react-on-rails-workspace and streamline scripts in …
AbanoubGhadban Sep 28, 2025
946698d
Update CircleCI configuration to streamline caching for node_modules …
AbanoubGhadban Sep 28, 2025
a784eb6
Update Knip configuration and package.json scripts for improved path …
AbanoubGhadban Sep 28, 2025
87fe9cc
Revert unnecessary file extension changes
AbanoubGhadban Sep 29, 2025
3e992bc
Add global Jest configuration and refactor Knip settings
AbanoubGhadban Sep 29, 2025
20f2f0b
Update ESLint configuration to reflect new package structure
AbanoubGhadban Sep 29, 2025
dfc1275
Update configuration files to reflect package structure changes
AbanoubGhadban Sep 29, 2025
caf8d34
Update MONOREPO_MERGER_PLAN.md to reflect co-located test structure
AbanoubGhadban Sep 29, 2025
325e4e8
Update documentation and references to reflect new package structure
AbanoubGhadban Sep 29, 2025
e0d1365
Update test command in convert script for improved execution
AbanoubGhadban Sep 29, 2025
fd728b3
Update Knip configuration and package.json scripts for improved execu…
AbanoubGhadban Sep 29, 2025
0a97c1e
Update test command in package.json for improved execution
AbanoubGhadban Sep 29, 2025
86e0ab6
Update DIRECTORY_LICENSING.md to reflect new directory structure
AbanoubGhadban Sep 29, 2025
ceb15a6
Update DIRECTORY_LICENSING.md to reflect new directory structure and …
AbanoubGhadban Sep 29, 2025
4331ea1
Update CONTRIBUTING.md to correct link formatting
AbanoubGhadban Sep 29, 2025
40ccdb2
Update MONOREPO_MERGER_PLAN.md to specify new build output locations …
AbanoubGhadban Sep 29, 2025
c9c406f
Update MONOREPO_MERGER_PLAN.md and MONOREPO_MERGER_PLAN_REF.md to ref…
AbanoubGhadban Sep 29, 2025
804a88d
Update MONOREPO_MERGER_PLAN.md and MONOREPO_MERGER_PLAN_REF.md to ref…
AbanoubGhadban Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/lint-js-and-ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
yarn install --no-progress --no-emoji --frozen-lockfile
sudo yarn global add yalc
- name: yalc publish for react-on-rails
run: yalc publish
run: cd packages/react-on-rails && yalc publish
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Build before yalc publish to ensure lib exists

The workflow publishes via yalc without building first. Insert a build step before publishing.

-      - name: yalc publish for react-on-rails
-        run: cd packages/react-on-rails && yalc publish
+      - name: Build package
+        run: yarn workspace react-on-rails build
+      - name: yalc publish for react-on-rails
+        run: cd packages/react-on-rails && yalc publish
πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
run: cd packages/react-on-rails && yalc publish
- name: Build package
run: yarn workspace react-on-rails build
- name: yalc publish for react-on-rails
run: cd packages/react-on-rails && yalc publish
πŸ€– Prompt for AI Agents
.github/workflows/lint-js-and-ruby.yml around line 48: the workflow calls "cd
packages/react-on-rails && yalc publish" without building the package first;
update the job to run the package's build script before publishing (e.g., "cd
packages/react-on-rails && yarn install && yarn build" or the equivalent
npm/pnpm commands), ensuring the lib/dist output exists before invoking "yalc
publish".

- name: yalc add react-on-rails
run: cd spec/dummy && yalc add react-on-rails
- name: Install Node modules with Yarn for dummy app
Expand Down Expand Up @@ -81,12 +81,12 @@ jobs:
- name: Type-check TypeScript
run: yarn run type-check
- name: Pack for attw and publint
run: yarn pack -f react-on-rails.tgz
run: cd packages/react-on-rails && yarn pack -f react-on-rails.tgz
- name: Lint package types
# our package is ESM-only
run: yarn run attw react-on-rails.tgz --profile esm-only
run: yarn run attw packages/react-on-rails/react-on-rails.tgz --profile esm-only
- name: Lint package publishing
run: yarn run publint --strict react-on-rails.tgz
run: yarn run publint --strict packages/react-on-rails/react-on-rails.tgz
# We only download and run Actionlint if there is any difference in GitHub Action workflows
# https://github.com/rhysd/actionlint/blob/main/docs/usage.md#on-github-actions
- name: Check GitHub Action changes
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
yarn install --no-progress --no-emoji ${{ matrix.dependency-level == 'latest' && '--frozen-lockfile' || '' }}
sudo yarn global add yalc
- name: yalc publish for react-on-rails
run: yalc publish
run: cd packages/react-on-rails && yalc publish
- name: yalc add react-on-rails
run: cd spec/dummy && yalc add react-on-rails
- name: Install Node modules with Yarn for dummy app
Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
yarn install --no-progress --no-emoji ${{ matrix.dependency-level == 'latest' && '--frozen-lockfile' || '' }}
sudo yarn global add yalc
- name: yalc publish for react-on-rails
run: yalc publish
run: cd packages/react-on-rails && yalc publish
- name: yalc add react-on-rails
run: cd spec/dummy && yalc add react-on-rails
- name: Install Node modules with Yarn for dummy app
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ tmp/

node_modules

/node_package/lib
/packages/*/lib

yarn-debug.*
yarn-error.*
Expand Down
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tmp/
coverage/
**/app/assets/webpack/
gen-examples/examples/*
node_package/lib/*
packages/*/lib/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Keep ignoring node_package/lib while builds still output there

PR states outDir remains node_package/lib; replacing the ignore with packages//lib/ drops coverage for node_package/lib and may format compiled artifacts. Add both patterns.

Apply:

- packages/*/lib/*
+node_package/lib/*
+packages/*/lib/*

Based on learnings.

πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
packages/*/lib/*
node_package/lib/*
packages/*/lib/*
πŸ€– Prompt for AI Agents
In .prettierignore around line 9, the current single pattern "packages/*/lib/*"
removes the existing ignore for node_package/lib and may cause compiled
artifacts to be formatted and coverage to drop; update the file to include both
patterns so compiled output remains ignored β€” add or preserve both
"packages/*/lib/*" and "node_package/lib" (or "node_package/lib/*") on separate
lines to ensure both locations are ignored.

spec/react_on_rails/dummy-for-generators/app/javascript/bundles/HelloWorld/*
bundle/
spec/dummy/lib/bs/**
Expand Down
4 changes: 2 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This repository contains code under two different licenses:
The following directories and all their contents are licensed under the **MIT License** (see full text below):

- `lib/react_on_rails/` (excluding `lib/react_on_rails/pro/`)
- `node_package/src/` (excluding `node_package/src/pro/`)
- `packages/react-on-rails/` (excluding `packages/react-on-rails/src/pro/`)
- `node_package/lib/` (excluding `node_package/lib/pro/`)
- All other directories in this repository not explicitly listed as Pro-licensed

Expand All @@ -21,7 +21,7 @@ The following directories and all their contents are licensed under the **MIT Li
The following directories and all their contents are licensed under the **React on Rails Pro License**:

- `lib/react_on_rails/pro/`
- `node_package/src/pro/`
- `packages/react-on-rails/src/pro/`
- `node_package/lib/pro/`
- `react_on_rails_pro/` (entire directory)

Expand Down
14 changes: 10 additions & 4 deletions eslint.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const config = tsEslint.config([
includeIgnoreFile(path.resolve(__dirname, '.gitignore')),
globalIgnores([
// compiled code
'node_package/lib/',
'packages/*/lib/',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

ESLint should also ignore node_package/lib/

Given builds still emit to node_package/lib/, linting that tree will slow CI and surface false positives. Keep the new packages/*/lib/ ignore, but also ignore node_package/lib/.

Apply:

-    'packages/*/lib/',
+    'packages/*/lib/',
+    'node_package/lib/',
πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'packages/*/lib/',
'packages/*/lib/',
'node_package/lib/',
πŸ€– Prompt for AI Agents
In eslint.config.ts around line 22, the ignorePatterns currently includes
'packages/*/lib/' but is missing the build output path 'node_package/lib/';
update the ignorePatterns array to also include 'node_package/lib/' (i.e., add
'node_package/lib/' as an entry next to 'packages/*/lib/') so ESLint skips that
directory and avoids CI slowdowns and false positives.

// pro package (has its own linting)
'react_on_rails_pro/',
// used for tests only
Expand Down Expand Up @@ -145,7 +145,13 @@ const config = tsEslint.config([
},
},
{
files: ['node_package/**/*'],
files: ['packages/**/*'],
rules: {
'import/extensions': ['error', 'ignorePackages'],
},
},
{
files: ['packages/react-on-rails/src/**/*'],
rules: {
'import/extensions': ['error', 'ignorePackages'],
},
Expand Down Expand Up @@ -176,7 +182,7 @@ const config = tsEslint.config([
languageOptions: {
parserOptions: {
projectService: {
allowDefaultProject: ['eslint.config.ts', 'knip.ts', 'node_package/tests/*.test.{ts,tsx}'],
allowDefaultProject: ['eslint.config.ts', 'knip.ts', 'packages/*/tests/*.test.{ts,tsx}'],
// Needed because `import * as ... from` instead of `import ... from` doesn't work in this file
// for some imports.
defaultProject: 'tsconfig.eslint.json',
Expand Down Expand Up @@ -211,7 +217,7 @@ const config = tsEslint.config([
},
},
{
files: ['node_package/tests/**', '**/*.test.{js,jsx,ts,tsx}'],
files: ['packages/*/tests/**', '**/*.test.{js,jsx,ts,tsx}'],

extends: [
jest.configs['flat/recommended'],
Expand Down
27 changes: 27 additions & 0 deletions jest.config.base.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { createJsWithTsPreset } from 'ts-jest';

// Global Jest configuration for the monorepo
// Contains common settings that all packages inherit
export default {
// === TypeScript Configuration ===
// ts-jest preset with custom TypeScript settings
...createJsWithTsPreset({
tsconfig: {
// Relative imports in our TS code include `.ts` extensions.
// When compiling the package, TS rewrites them to `.js`,
// but ts-jest runs on the original code where the `.js` files don't exist,
// so this setting needs to be disabled here.
rewriteRelativeImportExtensions: false,
},
}),

// === Test Environment Configuration ===
testEnvironment: 'jsdom',

// === Common Test Patterns ===
// Default test pattern - packages can override this
testMatch: ['**/?(*.)+(spec|test).[jt]s?(x)'],

// === Common Module File Extensions ===
moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json'],
};
26 changes: 0 additions & 26 deletions jest.config.js

This file was deleted.

79 changes: 39 additions & 40 deletions knip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,52 +3,18 @@ import type { KnipConfig } from 'knip';
const config: KnipConfig = {
// ! at the end means files are used in production
workspaces: {
// Root workspace - manages the monorepo and global tooling
'.': {
entry: [
'node_package/src/ReactOnRails.node.ts!',
'node_package/src/pro/ReactOnRailsRSC.ts!',
'node_package/src/pro/registerServerComponent/client.tsx!',
'node_package/src/pro/registerServerComponent/server.tsx!',
'node_package/src/pro/registerServerComponent/server.rsc.ts!',
'node_package/src/pro/wrapServerComponentRenderer/server.tsx!',
'node_package/src/pro/wrapServerComponentRenderer/server.rsc.tsx!',
'node_package/src/pro/RSCRoute.tsx!',
'node_package/src/pro/ServerComponentFetchError.ts!',
'node_package/src/pro/getReactServerComponent.server.ts!',
'node_package/src/pro/transformRSCNodeStream.ts!',
'node_package/src/loadJsonFile.ts!',
'eslint.config.ts',
],
project: [
'node_package/src/**/*.[jt]s{x,}!',
'node_package/tests/**/*.[jt]s{x,}',
'!react_on_rails_pro/**',
],
babel: {
config: ['node_package/babel.config.js'],
},
ignore: [
'node_package/tests/emptyForTesting.js',
// Pro features exported for external consumption
'node_package/src/pro/streamServerRenderedReactComponent.ts:transformRenderStreamChunksToResultObject',
'node_package/src/pro/streamServerRenderedReactComponent.ts:streamServerRenderedComponent',
'node_package/src/pro/ServerComponentFetchError.ts:isServerComponentFetchError',
'node_package/src/pro/RSCRoute.tsx:RSCRouteProps',
'node_package/src/pro/streamServerRenderedReactComponent.ts:StreamingTrackers',
// Exclude entire pro directory - it has its own package.json with dependencies
'react_on_rails_pro/**',
],
entry: ['eslint.config.ts'],
project: ['*.{js,mjs,ts}'],
ignoreBinaries: [
// Knip fails to detect it's declared in devDependencies
'nps',
// local scripts
'node_package/scripts/.*',
// Has to be installed globally
'yalc',
],
ignore: ['react_on_rails_pro/**'],
ignoreDependencies: [
// Required for TypeScript compilation, but we don't depend on Turbolinks itself.
'@types/turbolinks',
// Keep this even though knip doesn't detect usage
'@babel/preset-typescript',
// The Knip ESLint plugin fails to detect these are transitively required by a config,
// though we don't actually use its rules anywhere.
'@babel/eslint-parser',
Expand All @@ -69,6 +35,39 @@ const config: KnipConfig = {
'react-on-rails-rsc',
],
},

// React on Rails core package workspace
'packages/react-on-rails': {
entry: [
'src/ReactOnRails.node.ts!',
'src/pro/ReactOnRailsRSC.ts!',
'src/pro/registerServerComponent/client.tsx!',
'src/pro/registerServerComponent/server.tsx!',
'src/pro/registerServerComponent/server.rsc.ts!',
'src/pro/wrapServerComponentRenderer/server.tsx!',
'src/pro/wrapServerComponentRenderer/server.rsc.tsx!',
'src/pro/RSCRoute.tsx!',
'src/pro/ServerComponentFetchError.ts!',
'src/pro/getReactServerComponent.server.ts!',
'src/pro/transformRSCNodeStream.ts!',
'src/loadJsonFile.ts!',
],
project: ['src/**/*.[jt]s{x,}!', 'tests/**/*.[jt]s{x,}', '!lib/**'],
ignore: [
'tests/emptyForTesting.js',
// Jest setup and test utilities - not detected by Jest plugin in workspace setup
'tests/jest.setup.js',
'tests/testUtils.js',
// Build output directories that should be ignored
'lib/**',
// Pro features exported for external consumption
'src/pro/streamServerRenderedReactComponent.ts:transformRenderStreamChunksToResultObject',
'src/pro/streamServerRenderedReactComponent.ts:streamServerRenderedComponent',
'src/pro/ServerComponentFetchError.ts:isServerComponentFetchError',
'src/pro/RSCRoute.tsx:RSCRouteProps',
'src/pro/streamServerRenderedReactComponent.ts:StreamingTrackers',
],
},
'spec/dummy': {
entry: [
'app/assets/config/manifest.js!',
Expand Down
4 changes: 2 additions & 2 deletions package-scripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ scripts:
# 3. Check if the project is built now;
# 4. If it failed, print an error message (still follow https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices).
script: >
[ -f node_package/lib/ReactOnRails.full.js ] ||
[ -f packages/react-on-rails/lib/ReactOnRails.full.js ] ||
(npm run build >/dev/null 2>&1 || true) &&
[ -f node_package/lib/ReactOnRails.full.js ] ||
[ -f packages/react-on-rails/lib/ReactOnRails.full.js ] ||
{ echo 'Building react-on-rails seems to have failed!'; }
Comment on lines +28 to 31
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Restore the prepack build guard to node_package/lib.

Our build artifacts are still emitted into node_package/lib/ReactOnRails.full.js for backward compatibility. Pointing the guard to packages/react-on-rails/lib makes the prepack step believe the build never succeeded, so it always echoes the failure warning even after a successful build. Please keep the existence checks aimed at the actual output directory unless the build output location changes in tandem.

-        [ -f packages/react-on-rails/lib/ReactOnRails.full.js ] ||
+        [ -f node_package/lib/ReactOnRails.full.js ] ||
           (npm run build >/dev/null 2>&1 || true) &&
-          [ -f packages/react-on-rails/lib/ReactOnRails.full.js ] ||
+          [ -f node_package/lib/ReactOnRails.full.js ] ||
πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[ -f packages/react-on-rails/lib/ReactOnRails.full.js ] ||
(npm run build >/dev/null 2>&1 || true) &&
[ -f node_package/lib/ReactOnRails.full.js ] ||
[ -f packages/react-on-rails/lib/ReactOnRails.full.js ] ||
{ echo 'Building react-on-rails seems to have failed!'; }
[ -f node_package/lib/ReactOnRails.full.js ] ||
(npm run build >/dev/null 2>&1 || true) &&
[ -f node_package/lib/ReactOnRails.full.js ] ||
{ echo 'Building react-on-rails seems to have failed!'; }
πŸ€– Prompt for AI Agents
In package-scripts.yml around lines 28 to 31, the prepack existence check was
changed to look for packages/react-on-rails/lib/ReactOnRails.full.js but the
actual build output remains node_package/lib/ReactOnRails.full.js; restore the
guard to check node_package/lib/ReactOnRails.full.js so the prepack step
correctly detects a successful build. Update the two path checks in that block
back to node_package/lib/ReactOnRails.full.js (or to a single correct path used
by the build) so the conditional short-circuiting works and the false failure
message no longer appears.


format:
Expand Down
69 changes: 19 additions & 50 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,12 @@
{
"name": "react-on-rails",
"name": "react-on-rails-workspace",
"version": "16.1.1",
"description": "react-on-rails JavaScript for react_on_rails Ruby gem",
"main": "node_package/lib/ReactOnRails.full.js",
"description": "react-on-rails monorepo workspace manager",
"private": true,
"type": "module",
"exports": {
".": {
"react-server": "./node_package/lib/pro/ReactOnRailsRSC.js",
"node": "./node_package/lib/ReactOnRails.node.js",
"default": "./node_package/lib/ReactOnRails.full.js"
},
"./client": "./node_package/lib/ReactOnRails.client.js",
"./registerServerComponent/client": "./node_package/lib/pro/registerServerComponent/client.js",
"./registerServerComponent/server": {
"react-server": "./node_package/lib/pro/registerServerComponent/server.rsc.js",
"default": "./node_package/lib/pro/registerServerComponent/server.js"
},
"./wrapServerComponentRenderer/client": "./node_package/lib/pro/wrapServerComponentRenderer/client.js",
"./wrapServerComponentRenderer/server": {
"react-server": "./node_package/lib/pro/wrapServerComponentRenderer/server.rsc.js",
"default": "./node_package/lib/pro/wrapServerComponentRenderer/server.js"
},
"./RSCRoute": "./node_package/lib/pro/RSCRoute.js",
"./RSCProvider": "./node_package/lib/pro/RSCProvider.js",
"./ServerComponentFetchError": "./node_package/lib/pro/ServerComponentFetchError.js"
},
"workspaces": [
"packages/react-on-rails"
],
"directories": {
"doc": "docs"
},
Expand Down Expand Up @@ -75,34 +57,21 @@
"typescript": "^5.8.3",
"typescript-eslint": "^8.35.0"
},
"peerDependencies": {
"react": ">= 16",
"react-dom": ">= 16",
"react-on-rails-rsc": "19.0.2"
},
"peerDependenciesMeta": {
"react-on-rails-rsc": {
"optional": true
}
},
"files": [
"node_package/lib"
],
"scripts": {
"test": "jest node_package/tests",
"clean": "rm -rf node_package/lib",
"start": "nps",
"prepack": "nps build.prepack",
"prepare": "nps build.prepack",
"prepublishOnly": "yarn run build",
"build": "yarn run clean && yarn run tsc --declaration",
"build-watch": "yarn run clean && yarn run tsc --watch",
"test": "yarn workspaces run test",
"clean": "yarn workspaces run clean",
"start": "yarn workspaces run start",
"build": "yarn workspaces run build",
"build-watch": "yarn workspaces run build-watch",
"lint": "nps eslint",
"check": "yarn run lint && yarn run test && yarn run type-check",
"type-check": "yarn run tsc --noEmit --noErrorTruncation",
"release:patch": "node_package/scripts/release patch",
"release:minor": "node_package/scripts/release minor",
"release:major": "node_package/scripts/release major",
"check": "yarn run lint && yarn workspaces run check",
"type-check": "yarn workspaces run type-check",
"yalc:publish": "yarn workspaces run yalc:publish",
"yalc": "yarn workspaces run yalc",
"publish": "yarn workspaces run publish",
"release:patch": "yarn workspaces run release:patch",
"release:minor": "yarn workspaces run release:minor",
"release:major": "yarn workspaces run release:major",
"postinstall": "test -f .lefthook.yml && test -d .git && command -v bundle >/dev/null 2>&1 && bundle exec lefthook install || true"
},
"repository": {
Expand Down
Loading
Loading