@jjlmoya/utils-performing-arts 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +40 -0
- package/.gitignore +6 -0
- package/.stylelintrc.json +98 -0
- package/astro.config.mjs +19 -0
- package/eslint.config.js +201 -0
- package/package.json +79 -0
- package/prompts/create_tool.md +98 -0
- package/prompts/i18n/de.md +16 -0
- package/prompts/i18n/en.md +16 -0
- package/prompts/i18n/es.md +16 -0
- package/prompts/i18n/fr.md +16 -0
- package/prompts/i18n/id.md +16 -0
- package/prompts/i18n/it.md +16 -0
- package/prompts/i18n/ja.md +16 -0
- package/prompts/i18n/ko.md +16 -0
- package/prompts/i18n/nl.md +16 -0
- package/prompts/i18n/pl.md +16 -0
- package/prompts/i18n/pt.md +16 -0
- package/prompts/i18n/ru.md +16 -0
- package/prompts/i18n/sv.md +16 -0
- package/prompts/i18n/tr.md +16 -0
- package/prompts/i18n/zh.md +16 -0
- package/prompts/seo.md +58 -0
- package/prompts/translations/french.md +33 -0
- package/scripts/postinstall.mjs +27 -0
- package/src/category/PerformingArtsCategorySEO.astro +9 -0
- package/src/category/i18n/de.ts +27 -0
- package/src/category/i18n/en.ts +27 -0
- package/src/category/i18n/es.ts +27 -0
- package/src/category/i18n/fr.ts +27 -0
- package/src/category/i18n/id.ts +27 -0
- package/src/category/i18n/it.ts +27 -0
- package/src/category/i18n/ja.ts +27 -0
- package/src/category/i18n/ko.ts +27 -0
- package/src/category/i18n/nl.ts +27 -0
- package/src/category/i18n/pl.ts +27 -0
- package/src/category/i18n/pt.ts +27 -0
- package/src/category/i18n/ru.ts +27 -0
- package/src/category/i18n/sv.ts +27 -0
- package/src/category/i18n/tr.ts +27 -0
- package/src/category/i18n/zh.ts +27 -0
- package/src/category/index.ts +10 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +10 -0
- package/src/entries.ts +3 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +20 -0
- package/src/layouts/PreviewLayout.astro +118 -0
- package/src/pages/[locale]/[slug].astro +165 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/faq_count.test.ts +18 -0
- package/src/tests/i18n_coverage.test.ts +34 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +23 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_em_dash.test.ts +47 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/qa-test-helpers.ts +32 -0
- package/src/tests/qa_bibliography_links.test.ts +43 -0
- package/src/tests/qa_claim_evidence.test.ts +69 -0
- package/src/tests/qa_logic_reference_coverage.test.ts +46 -0
- package/src/tests/qa_runtime_i18n.test.ts +100 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +22 -0
- package/src/tests/seo_parity.test.ts +60 -0
- package/src/tests/seo_translation_completeness.test.ts +69 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/spanish_leakage.test.ts +175 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +16 -0
- package/src/tests/translation_copy.test.ts +115 -0
- package/src/tool/rehearsal-call-sheet-planner/bibliography.astro +6 -0
- package/src/tool/rehearsal-call-sheet-planner/bibliography.ts +12 -0
- package/src/tool/rehearsal-call-sheet-planner/component.astro +74 -0
- package/src/tool/rehearsal-call-sheet-planner/controller.ts +98 -0
- package/src/tool/rehearsal-call-sheet-planner/dom-views.ts +86 -0
- package/src/tool/rehearsal-call-sheet-planner/entry.ts +27 -0
- package/src/tool/rehearsal-call-sheet-planner/evaluator.ts +27 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/de.ts +60 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/en.ts +158 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/es.ts +60 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/fr.ts +60 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/id.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/it.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/ja.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/ko.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/nl.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/pl.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/pt.ts +47 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/ru.ts +48 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/sv.ts +48 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/tr.ts +48 -0
- package/src/tool/rehearsal-call-sheet-planner/i18n/zh.ts +48 -0
- package/src/tool/rehearsal-call-sheet-planner/index.ts +11 -0
- package/src/tool/rehearsal-call-sheet-planner/logic.test.ts +68 -0
- package/src/tool/rehearsal-call-sheet-planner/logic.ts +229 -0
- package/src/tool/rehearsal-call-sheet-planner/rehearsal-call-sheet-planner.css +593 -0
- package/src/tool/rehearsal-call-sheet-planner/seo.astro +16 -0
- package/src/tool/rehearsal-call-sheet-planner/storage.ts +33 -0
- package/src/tool/rehearsal-call-sheet-planner/types.ts +84 -0
- package/src/tool/rehearsal-call-sheet-planner/ui.ts +70 -0
- package/src/tools.ts +8 -0
- package/src/types.ts +68 -0
- package/tsconfig.json +15 -0
- package/vitest.config.ts +20 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export interface RehearsalCallSheetUI extends Record<string, string> {
|
|
2
|
+
productionSection: string;
|
|
3
|
+
showName: string;
|
|
4
|
+
showNamePlaceholder: string;
|
|
5
|
+
date: string;
|
|
6
|
+
timingSection: string;
|
|
7
|
+
dayStart: string;
|
|
8
|
+
dayEnd: string;
|
|
9
|
+
breakMinutes: string;
|
|
10
|
+
sceneSection: string;
|
|
11
|
+
scenesLabel: string;
|
|
12
|
+
scenesHint: string;
|
|
13
|
+
availabilitySection: string;
|
|
14
|
+
participantAvailability: string;
|
|
15
|
+
participantHint: string;
|
|
16
|
+
roomAvailability: string;
|
|
17
|
+
roomHint: string;
|
|
18
|
+
notes: string;
|
|
19
|
+
notesPlaceholder: string;
|
|
20
|
+
presets: string;
|
|
21
|
+
presetDay: string;
|
|
22
|
+
presetTight: string;
|
|
23
|
+
presetShowcase: string;
|
|
24
|
+
resultSection: string;
|
|
25
|
+
scheduled: string;
|
|
26
|
+
conflicts: string;
|
|
27
|
+
unscheduled: string;
|
|
28
|
+
minutes: string;
|
|
29
|
+
timelineLabel: string;
|
|
30
|
+
callSheetLabel: string;
|
|
31
|
+
statusScheduled: string;
|
|
32
|
+
statusConflict: string;
|
|
33
|
+
statusUnscheduled: string;
|
|
34
|
+
issueDayOverflow: string;
|
|
35
|
+
issueParticipantAvailability: string;
|
|
36
|
+
issueRoomAvailability: string;
|
|
37
|
+
issueMissingParticipantAvailability: string;
|
|
38
|
+
issueMissingRoomAvailability: string;
|
|
39
|
+
participantSummary: string;
|
|
40
|
+
roomSummary: string;
|
|
41
|
+
scene: string;
|
|
42
|
+
room: string;
|
|
43
|
+
participants: string;
|
|
44
|
+
time: string;
|
|
45
|
+
status: string;
|
|
46
|
+
detail: string;
|
|
47
|
+
dateNotSet: string;
|
|
48
|
+
untitledProduction: string;
|
|
49
|
+
noRoom: string;
|
|
50
|
+
noPeople: string;
|
|
51
|
+
readyDetail: string;
|
|
52
|
+
scenes: string;
|
|
53
|
+
firstCall: string;
|
|
54
|
+
lastCall: string;
|
|
55
|
+
inputIssuesTitle: string;
|
|
56
|
+
inputIssuesHint: string;
|
|
57
|
+
scenesInput: string;
|
|
58
|
+
peopleInput: string;
|
|
59
|
+
roomsInput: string;
|
|
60
|
+
line: string;
|
|
61
|
+
summaryReady: string;
|
|
62
|
+
summaryAttention: string;
|
|
63
|
+
summaryInputIssues: string;
|
|
64
|
+
noScenes: string;
|
|
65
|
+
exportData: string;
|
|
66
|
+
print: string;
|
|
67
|
+
reset: string;
|
|
68
|
+
rulesNote: string;
|
|
69
|
+
rulesLinkLabel: string;
|
|
70
|
+
}
|
package/src/tools.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ALL_ENTRIES } from './entries';
|
|
2
|
+
import type { ToolDefinition } from './types';
|
|
3
|
+
import { REHEARSAL_CALL_SHEET_PLANNER_TOOL } from './tool/rehearsal-call-sheet-planner';
|
|
4
|
+
|
|
5
|
+
export const ALL_TOOLS: ToolDefinition[] = [REHEARSAL_CALL_SHEET_PLANNER_TOOL];
|
|
6
|
+
|
|
7
|
+
export { rehearsalCallSheetPlanner } from './tool/rehearsal-call-sheet-planner/entry';
|
|
8
|
+
export type { RehearsalCallSheetUI, RehearsalCallSheetLocaleContent } from './tool/rehearsal-call-sheet-planner/entry';
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { SEOSection } from '@jjlmoya/utils-shared';
|
|
2
|
+
|
|
3
|
+
export type { SEOSection };
|
|
4
|
+
|
|
5
|
+
export type KnownLocale =
|
|
6
|
+
| 'ar' | 'da' | 'de' | 'en' | 'es' | 'fi'
|
|
7
|
+
| 'fr' | 'id' | 'it' | 'ja' | 'ko' | 'nb' | 'nl'
|
|
8
|
+
| 'pl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh';
|
|
9
|
+
|
|
10
|
+
export interface FAQItem {
|
|
11
|
+
question: string;
|
|
12
|
+
answer: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface BibliographyEntry {
|
|
16
|
+
name: string;
|
|
17
|
+
url: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface HowToStep {
|
|
21
|
+
name: string;
|
|
22
|
+
text: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface ToolLocaleContent<TUI extends Record<string, string> = Record<string, string>> {
|
|
26
|
+
slug: string;
|
|
27
|
+
title: string;
|
|
28
|
+
description: string;
|
|
29
|
+
ui: TUI;
|
|
30
|
+
seo: SEOSection[];
|
|
31
|
+
faq: FAQItem[];
|
|
32
|
+
bibliography: BibliographyEntry[];
|
|
33
|
+
howTo: HowToStep[];
|
|
34
|
+
schemas: Record<string, unknown>[];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface CategoryLocaleContent {
|
|
38
|
+
slug: string;
|
|
39
|
+
title: string;
|
|
40
|
+
description: string;
|
|
41
|
+
seo: SEOSection[];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type LocaleLoader<T> = () => Promise<T>;
|
|
45
|
+
|
|
46
|
+
export type LocaleMap<T> = Partial<Record<KnownLocale, LocaleLoader<T>>>;
|
|
47
|
+
|
|
48
|
+
export interface PerformingArtsToolEntry<TUI extends Record<string, string> = Record<string, string>> {
|
|
49
|
+
id: string;
|
|
50
|
+
icons: {
|
|
51
|
+
bg: string;
|
|
52
|
+
fg: string;
|
|
53
|
+
};
|
|
54
|
+
i18n: LocaleMap<ToolLocaleContent<TUI>>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface PerformingArtsCategoryEntry {
|
|
58
|
+
icon: string;
|
|
59
|
+
tools: PerformingArtsToolEntry[];
|
|
60
|
+
i18n: LocaleMap<CategoryLocaleContent>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface ToolDefinition {
|
|
64
|
+
entry: PerformingArtsToolEntry;
|
|
65
|
+
Component: unknown;
|
|
66
|
+
SEOComponent: unknown;
|
|
67
|
+
BibliographyComponent: unknown;
|
|
68
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "astro/tsconfigs/strictest",
|
|
3
|
+
"include": ["src/**/*", ".astro/types.d.ts"],
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"baseUrl": ".",
|
|
6
|
+
"strictNullChecks": true,
|
|
7
|
+
"noImplicitAny": true,
|
|
8
|
+
"strict": true,
|
|
9
|
+
"types": ["astro/client", "astro/jsx-runtime"],
|
|
10
|
+
"jsx": "preserve",
|
|
11
|
+
"jsxImportSource": "astro"
|
|
12
|
+
},
|
|
13
|
+
"exclude": ["node_modules", "dist"]
|
|
14
|
+
}
|
|
15
|
+
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
test: {
|
|
6
|
+
environment: 'node',
|
|
7
|
+
},
|
|
8
|
+
resolve: {
|
|
9
|
+
alias: [
|
|
10
|
+
{
|
|
11
|
+
find: /^(.*)\.astro$/,
|
|
12
|
+
replacement: path.resolve(__dirname, './src/tests/mocks/astro_mock.js')
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
ssr: {
|
|
17
|
+
external: ['astro']
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|