@@ -3,57 +3,18 @@ import type { KnipConfig } from 'knip';
33const config : KnipConfig = {
44 // ! at the end means files are used in production
55 workspaces : {
6+ // Root workspace - manages the monorepo and global tooling
67 '.' : {
7- entry : [
8- 'packages/react-on-rails/src/ReactOnRails.node.ts!' ,
9- 'packages/react-on-rails/src/pro/ReactOnRailsRSC.ts!' ,
10- 'packages/react-on-rails/src/pro/registerServerComponent/client.tsx!' ,
11- 'packages/react-on-rails/src/pro/registerServerComponent/server.tsx!' ,
12- 'packages/react-on-rails/src/pro/registerServerComponent/server.rsc.ts!' ,
13- 'packages/react-on-rails/src/pro/wrapServerComponentRenderer/server.tsx!' ,
14- 'packages/react-on-rails/src/pro/wrapServerComponentRenderer/server.rsc.tsx!' ,
15- 'packages/react-on-rails/src/pro/RSCRoute.tsx!' ,
16- 'packages/react-on-rails/src/pro/ServerComponentFetchError.ts!' ,
17- 'packages/react-on-rails/src/pro/getReactServerComponent.server.ts!' ,
18- 'packages/react-on-rails/src/pro/transformRSCNodeStream.ts!' ,
19- 'packages/react-on-rails/src/loadJsonFile.ts!' ,
20- 'eslint.config.ts' ,
21- ] ,
22- project : [
23- 'packages/react-on-rails/src/**/*.[jt]s{x,}!' ,
24- 'packages/react-on-rails/tests/**/*.[jt]s{x,}' ,
25- '!react_on_rails_pro/**' ,
26- '!packages/react-on-rails/lib/**' ,
27- ] ,
28- babel : {
29- config : [ 'packages/react-on-rails/babel.config.js' ] ,
30- } ,
31- ignore : [
32- 'packages/react-on-rails/tests/emptyForTesting.js' ,
33- // Build output directories that should be ignored
34- 'packages/react-on-rails/lib/**' ,
35- // Pro features exported for external consumption
36- 'packages/react-on-rails/src/pro/streamServerRenderedReactComponent.ts:transformRenderStreamChunksToResultObject' ,
37- 'packages/react-on-rails/src/pro/streamServerRenderedReactComponent.ts:streamServerRenderedComponent' ,
38- 'packages/react-on-rails/src/pro/ServerComponentFetchError.ts:isServerComponentFetchError' ,
39- 'packages/react-on-rails/src/pro/RSCRoute.tsx:RSCRouteProps' ,
40- 'packages/react-on-rails/src/pro/streamServerRenderedReactComponent.ts:StreamingTrackers' ,
41- // Exclude entire pro directory - it has its own package.json with dependencies
42- 'react_on_rails_pro/**' ,
43- ] ,
8+ entry : [ 'eslint.config.ts' ] ,
9+ project : [ '*.{js,mjs,ts}' ] ,
4410 ignoreBinaries : [
45- // Knip fails to detect it's declared in devDependencies
46- 'nps' ,
47- // local scripts
48- 'packages/react-on-rails/scripts/.*' ,
4911 // Has to be installed globally
5012 'yalc' ,
5113 ] ,
14+ ignore : [ 'react_on_rails_pro/**' ] ,
5215 ignoreDependencies : [
5316 // Required for TypeScript compilation, but we don't depend on Turbolinks itself.
5417 '@types/turbolinks' ,
55- // Keep this even though knip doesn't detect usage
56- '@babel/preset-typescript' ,
5718 // The Knip ESLint plugin fails to detect these are transitively required by a config,
5819 // though we don't actually use its rules anywhere.
5920 '@babel/eslint-parser' ,
@@ -74,6 +35,39 @@ const config: KnipConfig = {
7435 'react-on-rails-rsc' ,
7536 ] ,
7637 } ,
38+
39+ // React on Rails core package workspace
40+ 'packages/react-on-rails' : {
41+ entry : [
42+ 'src/ReactOnRails.node.ts!' ,
43+ 'src/pro/ReactOnRailsRSC.ts!' ,
44+ 'src/pro/registerServerComponent/client.tsx!' ,
45+ 'src/pro/registerServerComponent/server.tsx!' ,
46+ 'src/pro/registerServerComponent/server.rsc.ts!' ,
47+ 'src/pro/wrapServerComponentRenderer/server.tsx!' ,
48+ 'src/pro/wrapServerComponentRenderer/server.rsc.tsx!' ,
49+ 'src/pro/RSCRoute.tsx!' ,
50+ 'src/pro/ServerComponentFetchError.ts!' ,
51+ 'src/pro/getReactServerComponent.server.ts!' ,
52+ 'src/pro/transformRSCNodeStream.ts!' ,
53+ 'src/loadJsonFile.ts!' ,
54+ ] ,
55+ project : [ 'src/**/*.[jt]s{x,}!' , 'tests/**/*.[jt]s{x,}' , '!lib/**' ] ,
56+ ignore : [
57+ 'tests/emptyForTesting.js' ,
58+ // Jest setup and test utilities - not detected by Jest plugin in workspace setup
59+ 'tests/jest.setup.js' ,
60+ 'tests/testUtils.js' ,
61+ // Build output directories that should be ignored
62+ 'lib/**' ,
63+ // Pro features exported for external consumption
64+ 'src/pro/streamServerRenderedReactComponent.ts:transformRenderStreamChunksToResultObject' ,
65+ 'src/pro/streamServerRenderedReactComponent.ts:streamServerRenderedComponent' ,
66+ 'src/pro/ServerComponentFetchError.ts:isServerComponentFetchError' ,
67+ 'src/pro/RSCRoute.tsx:RSCRouteProps' ,
68+ 'src/pro/streamServerRenderedReactComponent.ts:StreamingTrackers' ,
69+ ] ,
70+ } ,
7771 'spec/dummy' : {
7872 entry : [
7973 'app/assets/config/manifest.js!' ,
0 commit comments