Skip to content

Commit

Permalink
Merge branch 'master' into london-xyz
Browse files Browse the repository at this point in the history
  • Loading branch information
thulieblack authored Sep 30, 2024
2 parents 03a97a6 + ba25057 commit a1fb897
Show file tree
Hide file tree
Showing 10 changed files with 77 additions and 60 deletions.
4 changes: 2 additions & 2 deletions components/FinancialSummary/BarChartComponent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { Bar, BarChart, CartesianGrid, Legend, Tooltip, YAxis } from 'recharts';

import type { ExpenseItem, ExpensesLinkItem } from '@/types/FinancialSummary/BarChartComponent';

import ExpensesData from '../../config/finance/json-data/2024/Expenses.json';
import ExpensesLinkData from '../../config/finance/json-data/2024/ExpensesLink.json';
import ExpensesData from '../../config/finance/json-data/Expenses.json';
import ExpensesLinkData from '../../config/finance/json-data/ExpensesLink.json';
import { getUniqueCategories } from '../../utils/getUniqueCategories';
import CustomTooltip from './CustomTooltip';
import ExpensesCard from './ExpensesCard';
Expand Down
2 changes: 1 addition & 1 deletion components/FinancialSummary/Card.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { ExpenseItem, Expenses } from '@/types/FinancialSummary/BarChartComponent';

import ExpensesLinkData from '../../config/finance/json-data/2024/ExpensesLink.json';
import ExpensesLinkData from '../../config/finance/json-data/ExpensesLink.json';

/**
* @description Card component displays expense details for a specific month.
Expand Down
2 changes: 1 addition & 1 deletion components/FinancialSummary/ExpensesCard.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { Expenses } from '@/types/FinancialSummary/BarChartComponent';

import ExpensesData from '../../config/finance/json-data/2024/Expenses.json';
import ExpensesData from '../../config/finance/json-data/Expenses.json';
import Card from './Card';

/**
Expand Down
2 changes: 1 addition & 1 deletion components/GeneratorInstallation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ asyncapi generate fromTemplate ${specPath} ${template} ${params}`;
* @returns {string} The Docker command.
*/
function getDockerCode(): string {
return `docker run --rm -it -v \${PWD}/example:/app/example -v \${PWD}/output:/app/output \\
return `docker run --rm -it --user=root -v \${PWD}/example:/app/example -v \${PWD}/output:/app/output \\
asyncapi/cli generate fromTemplate ${specPath} ${template} ${params}`;
}

Expand Down
2 changes: 1 addition & 1 deletion config/all-tags.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"languages":[{"name":"Go/Golang","color":"bg-[#8ECFDF]","borderColor":"border-[#00AFD9]"},{"name":"Java","color":"bg-[#ECA2A4]","borderColor":"border-[#EC2125]"},{"name":"JavaScript","color":"bg-[#F2F1C7]","borderColor":"border-[#BFBE86]"},{"name":"HTML","color":"bg-[#E2A291]","borderColor":"border-[#E44D26]"},{"name":"C/C++","color":"bg-[#93CDEF]","borderColor":"border-[#0080CC]"},{"name":"C#","color":"bg-[#E3AFE0]","borderColor":"border-[#9B4F96]"},{"name":"Python","color":"bg-[#A8D0EF]","borderColor":"border-[#3878AB]"},{"name":"TypeScript","color":"bg-[#7DBCFE]","borderColor":"border-[#2C78C7]"},{"name":"Kotlin","color":"bg-[#B1ACDF]","borderColor":"border-[#756BD9]"},{"name":"Scala","color":"bg-[#FFA299]","borderColor":"border-[#DF301F]"},{"name":"Markdown","color":"bg-[#BABEBF]","borderColor":"border-[#445B64]"},{"name":"YAML","color":"bg-[#FFB764]","borderColor":"border-[#F1901F]"},{"name":"R","color":"bg-[#84B5ED]","borderColor":"border-[#246BBE]"},{"name":"Ruby","color":"bg-[#FF8289]","borderColor":"border-[#FF000F]"},{"name":"Rust","color":"bg-[#FFB8AA]","borderColor":"border-[#E43716]"},{"name":"Shell","color":"bg-[#87D4FF]","borderColor":"border-[#389ED7]"},{"name":"Groovy","color":"bg-[#B6D5E5]","borderColor":"border-[#609DBC]"}],"technologies":[{"name":"Node.js","color":"bg-[#BDFF67]","borderColor":"border-[#84CE24]"},{"name":"Hermes","color":"bg-[#8AEEBD]","borderColor":"border-[#2AB672]"},{"name":"React JS","color":"bg-[#9FECFA]","borderColor":"border-[#08D8FE]"},{"name":".NET","color":"bg-[#A184FF]","borderColor":"border-[#5026D4]"},{"name":"ASP.NET","color":"bg-[#71C2FB]","borderColor":"border-[#1577BC]"},{"name":"Springboot","color":"bg-[#98E279]","borderColor":"border-[#68BC44]"},{"name":"AWS","color":"bg-[#FF9F59]","borderColor":"border-[#EF6703]"},{"name":"Docker","color":"bg-[#B8E0FF]","borderColor":"border-[#2596ED]"},{"name":"Node-RED","color":"bg-[#FF7474]","borderColor":"border-[#8F0101]"},{"name":"Maven","color":"bg-[#FF6B80]","borderColor":"border-[#CA1A33]"},{"name":"Saas","color":"bg-[#6AB8EC]","borderColor":"border-[#2275AD]"},{"name":"Kubernetes-native","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Scala","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Azure","color":"bg-[#4B93FF]","borderColor":"border-[#015ADF]"},{"name":"Jenkins","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Flask","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Nest Js","color":"bg-[#E1224E]","borderColor":"border-[#B9012b]"},{"name":"TypeScript","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Socket.IO","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Liquid","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Kotlin","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Gradle","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Spring Cloud Streams","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JHipster JDL","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Groovy","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Markdown","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Shell","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"WebComponents","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Babel","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Storybook","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"AsyncAPI Generator","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JetBrains","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"IntelliJ IDEA","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"VSCode","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"SmartPaste","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Java","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"HTML","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"}]}
{"languages":[{"name":"Go/Golang","color":"bg-[#8ECFDF]","borderColor":"border-[#00AFD9]"},{"name":"Java","color":"bg-[#ECA2A4]","borderColor":"border-[#EC2125]"},{"name":"JavaScript","color":"bg-[#F2F1C7]","borderColor":"border-[#BFBE86]"},{"name":"HTML","color":"bg-[#E2A291]","borderColor":"border-[#E44D26]"},{"name":"C/C++","color":"bg-[#93CDEF]","borderColor":"border-[#0080CC]"},{"name":"C#","color":"bg-[#E3AFE0]","borderColor":"border-[#9B4F96]"},{"name":"Python","color":"bg-[#A8D0EF]","borderColor":"border-[#3878AB]"},{"name":"TypeScript","color":"bg-[#7DBCFE]","borderColor":"border-[#2C78C7]"},{"name":"Kotlin","color":"bg-[#B1ACDF]","borderColor":"border-[#756BD9]"},{"name":"Scala","color":"bg-[#FFA299]","borderColor":"border-[#DF301F]"},{"name":"Markdown","color":"bg-[#BABEBF]","borderColor":"border-[#445B64]"},{"name":"YAML","color":"bg-[#FFB764]","borderColor":"border-[#F1901F]"},{"name":"R","color":"bg-[#84B5ED]","borderColor":"border-[#246BBE]"},{"name":"Ruby","color":"bg-[#FF8289]","borderColor":"border-[#FF000F]"},{"name":"Rust","color":"bg-[#FFB8AA]","borderColor":"border-[#E43716]"},{"name":"Shell","color":"bg-[#87D4FF]","borderColor":"border-[#389ED7]"},{"name":"Groovy","color":"bg-[#B6D5E5]","borderColor":"border-[#609DBC]"}],"technologies":[{"name":"Node.js","color":"bg-[#BDFF67]","borderColor":"border-[#84CE24]"},{"name":"Hermes","color":"bg-[#8AEEBD]","borderColor":"border-[#2AB672]"},{"name":"React JS","color":"bg-[#9FECFA]","borderColor":"border-[#08D8FE]"},{"name":".NET","color":"bg-[#A184FF]","borderColor":"border-[#5026D4]"},{"name":"ASP.NET","color":"bg-[#71C2FB]","borderColor":"border-[#1577BC]"},{"name":"Springboot","color":"bg-[#98E279]","borderColor":"border-[#68BC44]"},{"name":"AWS","color":"bg-[#FF9F59]","borderColor":"border-[#EF6703]"},{"name":"Docker","color":"bg-[#B8E0FF]","borderColor":"border-[#2596ED]"},{"name":"Node-RED","color":"bg-[#FF7474]","borderColor":"border-[#8F0101]"},{"name":"Maven","color":"bg-[#FF6B80]","borderColor":"border-[#CA1A33]"},{"name":"Saas","color":"bg-[#6AB8EC]","borderColor":"border-[#2275AD]"},{"name":"Kubernetes-native","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Scala","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Azure","color":"bg-[#4B93FF]","borderColor":"border-[#015ADF]"},{"name":"Jenkins","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Flask","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Nest Js","color":"bg-[#E1224E]","borderColor":"border-[#B9012b]"},{"name":"TypeScript","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Socket.IO","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Liquid","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Kotlin","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Gradle","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Spring Cloud Streams","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JHipster JDL","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Groovy","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Markdown","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Shell","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"WebComponents","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Babel","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Storybook","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"AsyncAPI Generator","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JetBrains","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"IntelliJ IDEA","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"VSCode","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"SmartPaste","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"HTML","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Java","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"}]}
78 changes: 39 additions & 39 deletions config/tools-automated.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,48 +290,48 @@
"description": "Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.",
"toolsList": [
{
"title": "ZenWave SDK",
"description": "DDD and API-First for Event-Driven Microservices",
"title": "Zod Sockets",
"description": "Socket.IO solution with I/O validation and the ability to generate AsyncAPI specification and a contract for consumers.",
"links": {
"websiteUrl": "https://zenwave360.github.io/",
"docsUrl": "https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/",
"repoUrl": "https://github.com/zenwave360/zenwave-sdk"
"websiteUrl": "https://www.npmjs.com/package/zod-sockets",
"repoUrl": "https://github.com/RobinTail/zod-sockets"
},
"filters": {
"language": "Java",
"language": "TypeScript",
"technology": [
"Maven",
"CLI",
"Spring Cloud Streams",
"JHipster JDL"
"Node.js",
"TypeScript"
],
"categories": [
"code-generator",
"code-first",
"dsl",
"mocking-and-testing",
"cli"
"framework"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
{
"title": "Zod Sockets",
"description": "Socket.IO solution with I/O validation and the ability to generate AsyncAPI specification and a contract for consumers.",
"title": "ZenWave SDK",
"description": "DDD and API-First for Event-Driven Microservices",
"links": {
"websiteUrl": "https://www.npmjs.com/package/zod-sockets",
"repoUrl": "https://github.com/RobinTail/zod-sockets"
"websiteUrl": "https://zenwave360.github.io/",
"docsUrl": "https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/",
"repoUrl": "https://github.com/zenwave360/zenwave-sdk"
},
"filters": {
"language": "TypeScript",
"language": "Java",
"technology": [
"Node.js",
"TypeScript"
"Maven",
"CLI",
"Spring Cloud Streams",
"JHipster JDL"
],
"categories": [
"code-first",
"code-generator",
"dsl",
"framework"
"mocking-and-testing",
"cli"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
Expand Down Expand Up @@ -720,17 +720,18 @@
}
},
{
"title": "Java Template",
"description": "Java template for the AsyncAPI Generator",
"title": "Java Spring Cloud Stream Template",
"description": "Java Spring Cloud Stream template for the AsyncAPI Generator",
"links": {
"repoUrl": "https://github.com/asyncapi/java-template"
"repoUrl": "https://github.com/asyncapi/java-spring-cloud-stream-template"
},
"filters": {
"language": [
"javascript"
],
"technology": [
"Java"
"Spring Cloud Streams",
"Maven"
],
"categories": [
"generator-template"
Expand All @@ -740,18 +741,15 @@
}
},
{
"title": "Java Spring Cloud Stream Template",
"description": "Java Spring Cloud Stream template for the AsyncAPI Generator",
"title": "HTML Template",
"description": "HTML template for AsyncAPI Generator. Use it to generate a static docs. It is using AsyncAPI React component under the hood.",
"links": {
"repoUrl": "https://github.com/asyncapi/java-spring-cloud-stream-template"
"repoUrl": "https://github.com/asyncapi/html-template"
},
"filters": {
"language": [
"javascript"
],
"language": "javascript",
"technology": [
"Spring Cloud Streams",
"Maven"
"HTML"
],
"categories": [
"generator-template"
Expand Down Expand Up @@ -779,15 +777,17 @@
}
},
{
"title": "HTML Template",
"description": "HTML template for AsyncAPI Generator. Use it to generate a static docs. It is using AsyncAPI React component under the hood.",
"title": "Java Template",
"description": "Java template for the AsyncAPI Generator",
"links": {
"repoUrl": "https://github.com/asyncapi/html-template"
"repoUrl": "https://github.com/asyncapi/java-template"
},
"filters": {
"language": "javascript",
"language": [
"javascript"
],
"technology": [
"HTML"
"Java"
],
"categories": [
"generator-template"
Expand Down
14 changes: 5 additions & 9 deletions scripts/finance/index.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
const { promises: { mkdir } } = require('fs');
const {
promises: { mkdir }
} = require('fs');
const { resolve } = require('path');
const writeJSON = require('../utils/readAndWriteJson.js');

module.exports = async function buildFinanceInfoList({
currentDir,
configDir,
financeDir,
year,
jsonDataDir
}) {
module.exports = async function buildFinanceInfoList({ currentDir, configDir, financeDir, year, jsonDataDir }) {
try {
const expensesPath = resolve(currentDir, configDir, financeDir, year, 'Expenses.yml');
const expensesLinkPath = resolve(currentDir, configDir, financeDir, year, 'ExpensesLink.yml');

// Ensure the directory exists before writing the files
const jsonDirectory = resolve(currentDir, configDir, financeDir, jsonDataDir, year);
const jsonDirectory = resolve(currentDir, configDir, financeDir, jsonDataDir);
await mkdir(jsonDirectory, { recursive: true });

// Write Expenses and ExpensesLink to JSON files
Expand Down
27 changes: 24 additions & 3 deletions scripts/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
const { resolve } = require('path');
const fs = require('fs');
const rssFeed = require('./build-rss');
const buildPostList = require('./build-post-list');
const buildCaseStudiesList = require('./casestudies');
const buildAdoptersList = require('./adopters')
const buildAdoptersList = require('./adopters');
const buildFinanceInfoList = require('./finance');
const { resolve } = require('path');

async function start() {
await buildPostList();
Expand All @@ -18,11 +19,31 @@ async function start() {
resolve(__dirname, '../config', 'case-studies.json')
);
await buildAdoptersList();
const financeDir = resolve('.', 'config', 'finance');

// loop through all the files finance in directory and find the latest year to build the finance info list
const yearsList = fs
.readdirSync(financeDir)
// filter out any files that are not numbers
.filter((file) => {
return !Number.isNaN(parseFloat(file));
})
// sort the years in descending order
.sort((a, b) => {
return parseFloat(b) - parseFloat(a);
});

if (yearsList.length === 0) {
throw new Error('No finance data found in the finance directory.');
}

const latestYear = yearsList[0];

await buildFinanceInfoList({
currentDir: '.',
configDir: 'config',
financeDir: 'finance',
year: '2024',
year: latestYear,
jsonDataDir: 'json-data'
});
}
Expand Down
4 changes: 2 additions & 2 deletions tests/finance/index.test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const path = require('path');
const buildFinanceInfoList = require('../../scripts/finance/index');
const { expensesYaml, expensesLinkYaml, expensesjson, expensesLinkjson } = require("../fixtures/financeData")
const { expensesYaml, expensesLinkYaml, expensesjson, expensesLinkjson } = require('../fixtures/financeData');

describe('buildFinanceInfoList', () => {
const testDir = path.resolve(__dirname, 'test-finance-info');
Expand Down Expand Up @@ -32,7 +32,7 @@ describe('buildFinanceInfoList', () => {
jsonDataDir
});

const jsonDir = path.resolve(testDir, configDir, financeDir, jsonDataDir, year);
const jsonDir = path.resolve(testDir, configDir, financeDir, jsonDataDir);

// Check if JSON directory was created
expect(fs.existsSync(jsonDir)).toBe(true);
Expand Down
2 changes: 1 addition & 1 deletion utils/getUniqueCategories.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Expenses from '../config/finance/json-data/2024/Expenses.json';
import Expenses from '../config/finance/json-data/Expenses.json';

/**
* Retrieves unique expense categories from the Expenses data.
Expand Down

0 comments on commit a1fb897

Please sign in to comment.