Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create announcements workspace and migrate search module #2148

Merged
merged 20 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
1c89244
yarn create-workspace announcements
kurtaking Dec 6, 2024
cafc0f9
Migrate announcements search module
kurtaking Dec 6, 2024
65806f4
Merge branch 'main' into announcements-search-module
kurtaking Dec 6, 2024
3726c1a
fix prettier
kurtaking Dec 6, 2024
05bde89
fix: yarn build:api-reports
kurtaking Dec 6, 2024
f3ebd05
Merge branch 'main' into announcements-search-module
kurtaking Dec 6, 2024
a1c43dd
Merge branch 'main' into announcements-search-module
kurtaking Dec 7, 2024
23f47de
fix: yarn backstage-cli repo fix --publish
kurtaking Dec 7, 2024
19e25c2
Merge branch 'main' into announcements-search-module
kurtaking Dec 7, 2024
ac246cd
Merge branch 'main' into announcements-search-module
kurtaking Dec 9, 2024
4fd5b31
Merge branch 'main' into announcements-search-module
kurtaking Dec 10, 2024
1b5e977
Merge branch 'main' into announcements-search-module
kurtaking Dec 11, 2024
9970114
chore: add myself to codeowners
kurtaking Dec 13, 2024
ffa8871
Merge branch 'main' into announcements-search-module
kurtaking Dec 13, 2024
db5fc04
Merge branch 'main' into announcements-search-module
kurtaking Dec 16, 2024
76a6851
Merge branch 'main' into announcements-search-module
kurtaking Dec 17, 2024
8c5360c
Merge branch 'main' into announcements-search-module
kurtaking Dec 18, 2024
959e822
Merge branch 'main' into announcements-search-module
kurtaking Dec 18, 2024
6aad2f0
Merge branch 'main' into announcements-search-module
kurtaking Dec 18, 2024
07c1d15
Merge branch 'main' into announcements-search-module
awanlin Dec 18, 2024
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: 8 additions & 0 deletions workspaces/announcements/.changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
14 changes: 14 additions & 0 deletions workspaces/announcements/.changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"privatePackages": {
"tag": false,
"version": false
}
}
8 changes: 8 additions & 0 deletions workspaces/announcements/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.git
.yarn/cache
.yarn/install-state.gz
node_modules
packages/*/src
packages/*/node_modules
plugins
*.local.yaml
1 change: 1 addition & 0 deletions workspaces/announcements/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
playwright.config.ts
1 change: 1 addition & 0 deletions workspaces/announcements/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('../../.eslintrc.cjs');
54 changes: 54 additions & 0 deletions workspaces/announcements/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# macOS
.DS_Store

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Coverage directory generated when running tests with coverage
coverage

# Dependencies
node_modules/

# Yarn 3 files
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# Node version directives
.nvmrc

# dotenv environment variables file
.env
.env.test

# Build output
dist
dist-types

# Temporary change files created by Vim
*.swp

# MkDocs build output
site

# Local configuration files
*.local.yaml

# Sensitive credentials
*-credentials.yaml

# vscode database functionality support files
*.session.sql

# E2E test reports
e2e-test-report/
5 changes: 5 additions & 0 deletions workspaces/announcements/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dist
dist-types
coverage
.vscode
.eslintrc.js
16 changes: 16 additions & 0 deletions workspaces/announcements/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# [Backstage](https://backstage.io)

This is your newly scaffolded Backstage App, Good Luck!

To start the app, run:

```sh
yarn install
yarn dev
```

To generate knip reports for this app, run:

```sh
yarn backstage-repo-tools knip-reports
```
1 change: 1 addition & 0 deletions workspaces/announcements/backstage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "version": "1.33.0" }
13 changes: 13 additions & 0 deletions workspaces/announcements/catalog-info.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: announcements
description: An example of a Backstage application.
# Example for optional annotations
# annotations:
# github.com/project-slug: backstage/backstage
# backstage.io/techdocs-ref: dir:.
spec:
type: website
owner: [email protected]
lifecycle: experimental
63 changes: 63 additions & 0 deletions workspaces/announcements/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"name": "@internal/announcements",
"version": "1.0.0",
"private": true,
"engines": {
"node": "18 || 20"
},
"scripts": {
"tsc": "tsc",
"tsc:full": "tsc --skipLibCheck false --incremental false",
"build:all": "backstage-cli repo build --all",
"build:api-reports": "yarn build:api-reports:only --tsc",
"build:api-reports:only": "backstage-repo-tools api-reports -o ae-wrong-input-file-type,ae-undocumented --validate-release-tags",
"clean": "backstage-cli repo clean",
"test": "backstage-cli repo test",
"test:all": "backstage-cli repo test --coverage",
"fix": "backstage-cli repo fix",
"lint": "backstage-cli repo lint --since origin/main",
"lint:all": "backstage-cli repo lint",
"prettier:check": "prettier --check .",
"prettier:fix": "prettier --ignore-unknown --write .",
"new": "backstage-cli new --scope @backstage-community",
"postinstall": "cd ../../ && yarn install"
},
"workspaces": {
"packages": [
"packages/*",
"plugins/*"
]
},
"repository": {
"type": "git",
"url": "https://github.com/backstage/community-plugins",
"directory": "workspaces/announcements"
},
"devDependencies": {
"@backstage/cli": "^0.29.0",
"@backstage/e2e-test-utils": "^0.1.1",
"@backstage/repo-tools": "^0.10.0",
"@changesets/cli": "^2.27.1",
"@spotify/prettier-config": "^12.0.0",
"node-gyp": "^9.0.0",
"prettier": "^2.3.2",
"typescript": "~5.3.0"
},
"dependencies": {
"knip": "^5.27.4"
},
"resolutions": {
"@types/react": "^18",
"@types/react-dom": "^18"
},
"prettier": "@spotify/prettier-config",
"lint-staged": {
"*.{js,jsx,ts,tsx,mjs,cjs}": [
"eslint --fix",
"prettier --write"
],
"*.{json,md}": [
"prettier --write"
]
}
}
9 changes: 9 additions & 0 deletions workspaces/announcements/plugins/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# The Plugins Folder

This is where your own plugins and their associated modules live, each in a
separate folder of its own.

If you want to create a new plugin here, go to your project root directory, run
the command `yarn new`, and follow the on-screen instructions.

You can also check out existing plugins on [the plugin marketplace](https://backstage.io/plugins)!
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# @backstage-community/plugin-search-backend-module-announcements

The announcements backend module for the search plugin.

## Previously maintained by

- [procore-oss](https://github.com/procore-oss/backstage-plugin-announcements/tree/main/plugins/search-backend-module-announcements)
- [K-Phoen](https://github.com/K-Phoen/backstage-plugin-announcements/tree/main/plugins/announcements-backend/src/search)
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright 2024 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { SchedulerServiceTaskScheduleDefinitionConfig } from '@backstage/backend-plugin-api';

export interface Config {
search?: {
collators?: {
/**
* Configuration options for `@procore-oss/backstage-plugin-search-backend-module-announcements`
*/
announcements?: {
/**
* The schedule for how often to run the collation job.
*/
schedule?: SchedulerServiceTaskScheduleDefinitionConfig;
};
};
};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"name": "@backstage-community/plugin-search-backend-module-announcements",
"description": "The announcements backend module for the search plugin.",
"version": "0.1.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"publishConfig": {
"access": "public",
"main": "dist/index.cjs.js",
"types": "dist/index.d.ts"
},
"repository": {
"type": "git",
"url": "https://github.com/backstage/community-plugins",
"directory": "workspaces/announcements/plugins/search-backend-module-announcements"
},
"backstage": {
"role": "backend-plugin-module",
"pluginId": "search",
"pluginPackage": "@backstage/plugin-search-backend"
},
"scripts": {
"start": "backstage-cli package start",
"build": "backstage-cli package build",
"lint": "backstage-cli package lint",
"test": "backstage-cli package test",
"clean": "backstage-cli package clean",
"prepack": "backstage-cli package prepack",
"postpack": "backstage-cli package postpack"
},
"dependencies": {
"@backstage/backend-plugin-api": "^1.0.2",
"@backstage/plugin-search-backend-node": "^1.3.5",
"@backstage/plugin-search-common": "^1.2.15",
"@procore-oss/backstage-plugin-announcements-common": "^0.2.8",
"@procore-oss/backstage-plugin-announcements-node": "^0.3.3"
},
"devDependencies": {
"@backstage/backend-test-utils": "^1.1.0",
"@backstage/cli": "^0.29.0",
"@backstage/test-utils": "^1.7.2",
"@testing-library/react": "^14.0.0",
"msw": "^1.3.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.3.0"
},
"files": [
"dist",
"config.d.ts"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## API Report File for "@backstage-community/plugin-search-backend-module-announcements"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
import { BackendFeature } from '@backstage/backend-plugin-api';

// @public
const searchModuleAnnouncementsCollator: BackendFeature;
export default searchModuleAnnouncementsCollator;
```
Loading
Loading