Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
13 changes: 13 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "text-search-worker",
"image": "mcr.microsoft.com/devcontainers/node:24",
"postCreateCommand": "npm ci",
"postStartCommand": "npm run dev",
"customizations": {
"vscode": {
"extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
}
},
"forwardPorts": [3000],
"remoteUser": "node"
}
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
80 changes: 80 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI

on:
push:
branches:
- main

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
ci:
strategy:
matrix:
os: [ubuntu-24.04, macos-15, windows-2025]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Compute node modules cache key
id: nodeModulesCacheKey
run: echo "value=$(node packages/build/src/computeNodeModulesCacheKey.ts)" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/cache@v5
id: npm-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-cacheNodeModules-${{ steps.nodeModulesCacheKey.outputs.value }}
- name: npm ci
run: npm ci --ignore-scripts && npm run postinstall
if: steps.npm-cache.outputs.cache-hit != 'true'
- run: npm run build
- run: npm run build:static
- run: npm test
- run: npm run type-check
- run: npm run lint
- name: install playwright dependencies
working-directory: ./packages/e2e
run: npx playwright install chromium
if: steps.npm-cache.outputs.cache-hit != 'true'
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: e2e
working-directory: ./packages/e2e
run: npm run e2e:headless
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: measure
run: npm run measure
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: Upload artifact
if: matrix.os == 'ubuntu-24.04'
uses: actions/upload-pages-artifact@v4
with:
path: ./.tmp/static
- name: Clean up
run: rm -rf .tmp
shell: bash

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-24.04
needs: ci
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
52 changes: 52 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: PR

on:
pull_request:
branches:
- main

jobs:
pr:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-15, windows-2025]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Compute node modules cache key
id: nodeModulesCacheKey
run: echo "value=$(node packages/build/src/computeNodeModulesCacheKey.ts)" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/cache@v5
id: npm-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-cacheNodeModules-${{ steps.nodeModulesCacheKey.outputs.value }}
- name: npm ci
run: npm ci --ignore-scripts && npm run postinstall
if: steps.npm-cache.outputs.cache-hit != 'true'
- run: npm run build
- run: npm run build:static
- run: npm test
- run: npm run type-check
- run: npm run lint
- name: install playwright dependencies
working-directory: ./packages/e2e
run: npx playwright install chromium
if: steps.npm-cache.outputs.cache-hit != 'true'
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: e2e
working-directory: ./packages/e2e
run: npm run e2e:headless
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: measure
run: npm run measure
env:
PLAYWRIGHT_BROWSERS_PATH: 0
112 changes: 112 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Based on https://github.com/BurntSushi/ripgrep/blob/master/.github/workflows/release.yml by BurntSushi (License MIT)

name: release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'

permissions:
id-token: write # Required for OIDC
contents: write

jobs:
create-release:
name: create-release
runs-on: ubuntu-24.04
outputs:
upload_url: ${{ steps.release.outputs.upload_url }}
rg_version: ${{ env.RG_VERSION }}
steps:
- name: Get the release version from the tag
shell: bash
if: env.RG_VERSION == ''
run: |
echo "RG_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
echo "version is: ${{ env.RG_VERSION }}"
- name: Create GitHub release
id: release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.RG_VERSION }}
name: ${{ env.RG_VERSION }}
draft: true

build-release:
name: build-release
needs: ['create-release']
strategy:
fail-fast: true
matrix:
os: [windows-2025, macos-15, ubuntu-24.04]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
registry-url: 'https://registry.npmjs.org'
- name: Compute node modules cache key
id: nodeModulesCacheKey
run: echo "value=$(node packages/build/src/computeNodeModulesCacheKey.ts)" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/cache@v5
id: npm-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-cacheNodeModules-${{ steps.nodeModulesCacheKey.outputs.value }}
- name: npm ci
run: npm ci --ignore-scripts && npm run postinstall
if: steps.npm-cache.outputs.cache-hit != 'true'
- run: npm run build
- run: npm run build:static
- run: npm test
- run: npm run type-check
- run: npm run lint
- name: install playwright dependencies
working-directory: ./packages/e2e
run: npx playwright install chromium
if: steps.npm-cache.outputs.cache-hit != 'true'
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: e2e
working-directory: ./packages/e2e
run: npm run e2e:headless
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- name: measure
run: npm run measure
env:
PLAYWRIGHT_BROWSERS_PATH: 0
- uses: actions/upload-artifact@v6
if: matrix.os == 'ubuntu-24.04'
with:
name: dist
path: ./.tmp/dist

publish-release:
name: publish-release
needs: ['create-release', 'build-release']
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v7
with:
name: dist
path: ./.tmp/dist
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
registry-url: 'https://registry.npmjs.org'

- run: npm publish --access public
working-directory: ./.tmp/dist

- name: Publish GitHub release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION="${{ needs.create-release.outputs.rg_version }}"
gh release edit $VERSION --draft=false
53 changes: 22 additions & 31 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
.vscode
.tmp
dist

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

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
Expand Down Expand Up @@ -56,6 +61,12 @@ web_modules/
# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

Expand All @@ -67,8 +78,10 @@ web_modules/

# dotenv environment variable files
.env
.env.*
!.env.example
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
Expand All @@ -81,7 +94,6 @@ out
# Nuxt.js build / generate output
.nuxt
dist
.output

# Gatsby files
.cache/
Expand All @@ -92,17 +104,9 @@ dist
# vuepress build output
.vuepress/dist

# vuepress v2.x temp directory
# vuepress v2.x temp and cache directory
.temp

# Sveltekit cache directory
.svelte-kit/

# vitepress build output
**/.vitepress/dist

# vitepress cache directory
**/.vitepress/cache
.cache

# Docusaurus cache and generated files
.docusaurus
Expand All @@ -116,28 +120,15 @@ dist
# DynamoDB Local files
.dynamodb/

# Firebase cache directory
.firebase/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# pnpm
.pnpm-store

# yarn v3
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# Vite files
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
.vite/
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v24.13.0
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2026 Lvce Editor
Copyright (c) 2024 Lvce Editor

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
# pull-request-github
# Explorer View

WebWorker for the explorer view functionality in Lvce Editor.

## Contributing

```sh
git clone git@github.com:lvce-editor/explorer-view.git &&
cd explorer-view &&
npm ci &&
npm test
```
Loading