@@ -27,6 +27,18 @@ const PageTemplate = css`
2727 }
2828` ;
2929
30+ const StatusBadge : React . FC < { packageName : string } > = ( { packageName } ) => < a href = { `https://www.npmjs.com/package/${ packageName } ` } target = "_blank" >
31+ < img style = { { display : 'inline' } } src = { `https://img.shields.io/npm/v/${ packageName } .svg?maxAge=3600` } alt = { packageName } />
32+ </ a >
33+
34+ const TableRow : React . FC < { packageName : string } > = ( { packageName } ) => < tr >
35+ < td > { packageName } </ td >
36+ < td > < StatusBadge packageName = { packageName } /> </ td >
37+ < td style = { { textAlign : 'center' } } >
38+ < a style = { { textDecoration : 'none' , boxShadow : 'none' , fontSize : '1.3em' } } href = { `/tags/${ packageName . split ( '/' ) [ 1 ] } ` } > 👉</ a >
39+ </ td >
40+ </ tr >
41+
3042
3143const PackagesPage : React . FC = ( ) => {
3244 return < IndexLayout >
@@ -51,23 +63,36 @@ const PackagesPage: React.FC = () => {
5163 < PostFullContent className = "post-full-content" >
5264 < div className = "post-content" >
5365 < h5 > A List of FuryStack Packages</ h5 >
54-
55-
56- < p >
57- The main goal of FuryStack is to bring enterprise-grade architecture to the NodeJS Ecosystem with a pack of separated but perfectly matched parts.
58- You can build a modern scalable backend service in no-time and a responsive SPA frontend without bloating your app with 3rd party
59- and low quality, often abandoned dependencies. Developer experience is the main focus while the framework also tries to encourage keeping the code
60- clean and decoupled.
61- </ p >
62- < p >
63- FuryStack contains all the basic parts that you need to start with - like DI/IOC, authentication, data stores, entity authorization, logging, etc... -
64- If you want to use only a subset of the layers (e.g. only the the Dependency Injection) you can also pick the one you like.
65- </ p >
66- < p >
67- In FuryStack, there are some concepts that are not very common nowdays - like sharing REST API definitions
68- with type checking between the service and the frontend in a monorepo.
69- </ p >
70-
66+ < table style = { { width : '100%' } } >
67+ < thead >
68+ < tr >
69+ < th > Name</ th >
70+ < th > NPM link</ th >
71+ < th > Related posts</ th >
72+ </ tr >
73+ </ thead >
74+ < tbody >
75+ < TableRow packageName = "@furystack/auth-google" />
76+ < TableRow packageName = "@furystack/core" />
77+ < TableRow packageName = "@furystack/filesystem-store" />
78+ < TableRow packageName = "@furystack/inject" />
79+ < TableRow packageName = "@furystack/logging" />
80+ < TableRow packageName = "@furystack/mongodb-store" />
81+ < TableRow packageName = "@furystack/redis-store" />
82+ < TableRow packageName = "@furystack/repository" />
83+ < TableRow packageName = "@furystack/rest" />
84+ < TableRow packageName = "@furystack/rest-client-fetch" />
85+ < TableRow packageName = "@furystack/rest-client-got" />
86+ < TableRow packageName = "@furystack/rest-service" />
87+ < TableRow packageName = "@furystack/sequelize-store" />
88+ < TableRow packageName = "@furystack/shades" />
89+ < TableRow packageName = "@furystack/shades-common-components" />
90+ < TableRow packageName = "@furystack/shades-lottie" />
91+ < TableRow packageName = "@furystack/shades-nipple" />
92+ < TableRow packageName = "@furystack/utils" />
93+ < TableRow packageName = "@furystack/websocket-api" />
94+ </ tbody >
95+ </ table >
7196 </ div >
7297 </ PostFullContent >
7398 </ article >
0 commit comments