forked from icd/rentgen
Compare commits
3 Commits
26db356fdd
...
f41ccda54d
| Author | SHA1 | Date | |
|---|---|---|---|
| f41ccda54d | |||
| 46cd00253c | |||
| 5edebd4433 |
16
.dockerignore
Normal file
16
.dockerignore
Normal file
@ -0,0 +1,16 @@
|
||||
.log
|
||||
node_modules
|
||||
sidebar.js
|
||||
web-ext-artifacts/
|
||||
lib/*
|
||||
yarn-error.log
|
||||
rentgen.zip
|
||||
|
||||
# Generated PNG icons (build artifacts)
|
||||
assets/icons/*.png
|
||||
assets/icon-addon-*.png
|
||||
|
||||
# Exception: do not ignore the `browser-api` directory inside `lib`
|
||||
!/lib/browser-api/
|
||||
|
||||
Dockerfile
|
||||
59
Dockerfile
Normal file
59
Dockerfile
Normal file
@ -0,0 +1,59 @@
|
||||
# Rentgen Browser Extension - Docker Build
|
||||
#
|
||||
# Usage:
|
||||
# Build and extract artifacts directly:
|
||||
# docker buildx build . --output artifacts
|
||||
#
|
||||
# Build with tests (typecheck + lint):
|
||||
# docker build --build-arg RUN_TESTS=true -t rentgen .
|
||||
#
|
||||
# Or traditional build (creates full development environment):
|
||||
# docker build -t rentgen .
|
||||
# docker run --rm rentgen ls -lh /app/web-ext-artifacts/
|
||||
#
|
||||
# Run commands in the container:
|
||||
# docker run --rm rentgen npm run build:chrome
|
||||
# docker run --rm rentgen npm run typecheck
|
||||
|
||||
# Build stage
|
||||
FROM node:lts AS builder
|
||||
|
||||
# Optional: run tests during build (typecheck + lint)
|
||||
ARG RUN_TESTS=false
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy package files for dependency installation (better layer caching)
|
||||
COPY package.json package-lock.json ./
|
||||
|
||||
# Install dependencies
|
||||
RUN npm install
|
||||
|
||||
# Copy source code (respecting .dockerignore)
|
||||
COPY . .
|
||||
|
||||
# Build the extension for Firefox (default)
|
||||
RUN npm run build
|
||||
|
||||
# Create the package
|
||||
RUN npm run create-package
|
||||
|
||||
# Optional: run quality checks
|
||||
RUN if [ "$RUN_TESTS" = "true" ]; then \
|
||||
echo "Running TypeScript type checking..."; \
|
||||
npm run typecheck; \
|
||||
echo "Running web-ext lint..."; \
|
||||
npm run lint; \
|
||||
fi
|
||||
|
||||
# Artifacts stage - only contains the built artifacts (for --output)
|
||||
FROM scratch AS artifacts
|
||||
|
||||
# Copy only the built extension zip file to root
|
||||
COPY --from=builder /app/web-ext-artifacts/*.zip /
|
||||
|
||||
# Default stage - full development environment
|
||||
FROM builder
|
||||
|
||||
# Default command shows the built artifact
|
||||
CMD ["ls", "-lh", "/app/web-ext-artifacts/"]
|
||||
@ -8,7 +8,7 @@ import verbs, { v } from './verbs';
|
||||
export default function useSurvey(
|
||||
clusters: RequestCluster[],
|
||||
{ onComplete }: { onComplete: (sender: { data: RawAnswers }) => void }
|
||||
): Survey.ReactSurveyModel | null {
|
||||
): Survey.Model | null {
|
||||
const [survey, setSurvey] = React.useState<Survey.Model | null>(null);
|
||||
React.useEffect(() => {
|
||||
const model = generateSurveyQuestions(clusters);
|
||||
|
||||
@ -106,6 +106,7 @@ export default function StolenDataCluster({
|
||||
cookiesOnly,
|
||||
cookiesOrOriginOnly,
|
||||
detailsVisibility,
|
||||
refreshToken,
|
||||
}: {
|
||||
origin: string;
|
||||
shorthost: string;
|
||||
@ -113,6 +114,7 @@ export default function StolenDataCluster({
|
||||
cookiesOnly: boolean;
|
||||
cookiesOrOriginOnly: boolean;
|
||||
detailsVisibility: boolean;
|
||||
refreshToken?: number;
|
||||
}) {
|
||||
const cluster = getMemory().getClustersForOrigin(origin)[shorthost];
|
||||
const fullHosts = cluster.getFullHosts();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user