fix(workflow): Corrected Docker image references and package scope in YAML workflows for compatibility.
This commit is contained in:
parent
249d44d5fc
commit
c949f1b968
@ -6,8 +6,8 @@ on:
|
|||||||
- '**'
|
- '**'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
|
||||||
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
|
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
|
||||||
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||||
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||||
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||||
@ -26,7 +26,7 @@ jobs:
|
|||||||
- name: Install pnpm and npmci
|
- name: Install pnpm and npmci
|
||||||
run: |
|
run: |
|
||||||
pnpm install -g pnpm
|
pnpm install -g pnpm
|
||||||
pnpm install -g @shipzone/npmci
|
pnpm install -g @ship.zone/npmci
|
||||||
|
|
||||||
- name: Run npm prepare
|
- name: Run npm prepare
|
||||||
run: npmci npm prepare
|
run: npmci npm prepare
|
||||||
|
@ -6,8 +6,8 @@ on:
|
|||||||
- '*'
|
- '*'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
|
||||||
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
|
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
|
||||||
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||||
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||||
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||||
@ -26,7 +26,7 @@ jobs:
|
|||||||
- name: Prepare
|
- name: Prepare
|
||||||
run: |
|
run: |
|
||||||
pnpm install -g pnpm
|
pnpm install -g pnpm
|
||||||
pnpm install -g @shipzone/npmci
|
pnpm install -g @ship.zone/npmci
|
||||||
npmci npm prepare
|
npmci npm prepare
|
||||||
|
|
||||||
- name: Audit production dependencies
|
- name: Audit production dependencies
|
||||||
@ -54,7 +54,7 @@ jobs:
|
|||||||
- name: Prepare
|
- name: Prepare
|
||||||
run: |
|
run: |
|
||||||
pnpm install -g pnpm
|
pnpm install -g pnpm
|
||||||
pnpm install -g @shipzone/npmci
|
pnpm install -g @ship.zone/npmci
|
||||||
npmci npm prepare
|
npmci npm prepare
|
||||||
|
|
||||||
- name: Test stable
|
- name: Test stable
|
||||||
@ -82,7 +82,7 @@ jobs:
|
|||||||
- name: Prepare
|
- name: Prepare
|
||||||
run: |
|
run: |
|
||||||
pnpm install -g pnpm
|
pnpm install -g pnpm
|
||||||
pnpm install -g @shipzone/npmci
|
pnpm install -g @ship.zone/npmci
|
||||||
npmci npm prepare
|
npmci npm prepare
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
@ -104,7 +104,7 @@ jobs:
|
|||||||
- name: Prepare
|
- name: Prepare
|
||||||
run: |
|
run: |
|
||||||
pnpm install -g pnpm
|
pnpm install -g pnpm
|
||||||
pnpm install -g @shipzone/npmci
|
pnpm install -g @ship.zone/npmci
|
||||||
npmci npm prepare
|
npmci npm prepare
|
||||||
|
|
||||||
- name: Code quality
|
- name: Code quality
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,7 +3,6 @@
|
|||||||
# artifacts
|
# artifacts
|
||||||
coverage/
|
coverage/
|
||||||
public/
|
public/
|
||||||
pages/
|
|
||||||
|
|
||||||
# installs
|
# installs
|
||||||
node_modules/
|
node_modules/
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2024-12-02 - 1.5.2 - fix(workflow)
|
||||||
|
Corrected Docker image references and package scope in YAML workflows for compatibility.
|
||||||
|
|
||||||
|
- Updated Docker image reference from GitLab to code.foss.global for npmci UI workflows.
|
||||||
|
- Fixed npm package scope for `@shipzone/npmci` in YAML workflows.
|
||||||
|
- Minor formatting corrections for better code readability.
|
||||||
|
|
||||||
## 2024-12-02 - 1.5.1 - fix(package)
|
## 2024-12-02 - 1.5.1 - fix(package)
|
||||||
Fix duplicate node export in package.json
|
Fix duplicate node export in package.json
|
||||||
|
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
<!--gitzone element-->
|
|
||||||
<!-- made by Task Venture Capital GmbH -->
|
|
||||||
<!-- checkout https://maintainedby.lossless.com for awesome OpenSource projects -->
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!--Lets set some basic meta tags-->
|
<!--Lets set some basic meta tags-->
|
||||||
@ -11,8 +8,8 @@
|
|||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
<!--Lets load standard fonts-->
|
<!--Lets load standard fonts-->
|
||||||
<link rel="preconnect" href="https://assetbroker.lossless.one/" crossorigin>
|
<link rel="preconnect" href="https://" crossorigin>
|
||||||
<link rel="stylesheet" href="https://assetbroker.lossless.one/fonts/fonts.css">
|
<link rel="stylesheet" href="https:///fonts/fonts.css">
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
|
@ -61,12 +61,12 @@
|
|||||||
"type": "module",
|
"type": "module",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://gitlab.com/designestate/private/dedocument-catalog.git"
|
"url": "git+https://code.foss.global/designestate/private/dedocument-catalog.git"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://gitlab.com/designestate/private/dedocument-catalog/issues"
|
"url": "https://code.foss.global/designestate/private/dedocument-catalog/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/designestate/private/dedocument-catalog#readme",
|
"homepage": "https://code.foss.global/designestate/private/dedocument-catalog#readme",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"document generation",
|
"document generation",
|
||||||
"invoice automation",
|
"invoice automation",
|
||||||
|
54
readme.md
54
readme.md
@ -47,48 +47,48 @@ import { ILetter } from '@design.estate/dees-document';
|
|||||||
|
|
||||||
const invoiceTemplate: ILetter = {
|
const invoiceTemplate: ILetter = {
|
||||||
from: {
|
from: {
|
||||||
name: "Your Company Name",
|
name: 'Your Company Name',
|
||||||
address: {
|
address: {
|
||||||
streetName: "Your Street",
|
streetName: 'Your Street',
|
||||||
houseNumber: "123",
|
houseNumber: '123',
|
||||||
city: "Your City",
|
city: 'Your City',
|
||||||
country: "Your Country",
|
country: 'Your Country',
|
||||||
postalCode: "12345",
|
postalCode: '12345',
|
||||||
},
|
},
|
||||||
email: "your-email@example.com",
|
email: 'your-email@example.com',
|
||||||
phone: "123-456-7890",
|
phone: '123-456-7890',
|
||||||
},
|
},
|
||||||
to: {
|
to: {
|
||||||
name: "Recipient Company Name",
|
name: 'Recipient Company Name',
|
||||||
address: {
|
address: {
|
||||||
streetName: "Recipient Street",
|
streetName: 'Recipient Street',
|
||||||
houseNumber: "456",
|
houseNumber: '456',
|
||||||
city: "Recipient City",
|
city: 'Recipient City',
|
||||||
country: "Recipient Country",
|
country: 'Recipient Country',
|
||||||
postalCode: "67890",
|
postalCode: '67890',
|
||||||
},
|
},
|
||||||
email: "recipient-email@example.com",
|
email: 'recipient-email@example.com',
|
||||||
phone: "098-765-4321",
|
phone: '098-765-4321',
|
||||||
},
|
},
|
||||||
content: {
|
content: {
|
||||||
invoiceData: {
|
invoiceData: {
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
name: "Service or Product Name",
|
name: 'Service or Product Name',
|
||||||
unitQuantity: 2,
|
unitQuantity: 2,
|
||||||
unitNetPrice: 100.00,
|
unitNetPrice: 100.0,
|
||||||
unitType: 'service',
|
unitType: 'service',
|
||||||
vatPercentage: 19,
|
vatPercentage: 19,
|
||||||
currency: 'EUR',
|
currency: 'EUR',
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
subject: "Invoice for Services Rendered",
|
subject: 'Invoice for Services Rendered',
|
||||||
date: new Date().getTime(),
|
date: new Date().getTime(),
|
||||||
versionInfo: {
|
versionInfo: {
|
||||||
type: "final",
|
type: 'final',
|
||||||
version: "1.0.0"
|
version: '1.0.0',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
@ -133,22 +133,28 @@ This script encompasses initializing services and generating a PDF in a streamli
|
|||||||
`@design.estate/dees-document` provides several advanced functionalities, enabling rich document creation:
|
`@design.estate/dees-document` provides several advanced functionalities, enabling rich document creation:
|
||||||
|
|
||||||
1. **Custom Templates & Styling**
|
1. **Custom Templates & Styling**
|
||||||
|
|
||||||
- Customize the styling through CSS or using inline styles in TypeScript.
|
- Customize the styling through CSS or using inline styles in TypeScript.
|
||||||
- Templates can be adjusted to present different document types (e.g., contracts, reports).
|
- Templates can be adjusted to present different document types (e.g., contracts, reports).
|
||||||
|
|
||||||
2. **Modular Components and Reuse**
|
2. **Modular Components and Reuse**
|
||||||
|
|
||||||
- Utilize modular components to create reusable parts across different documents, enhancing maintainability and reducing redundancy.
|
- Utilize modular components to create reusable parts across different documents, enhancing maintainability and reducing redundancy.
|
||||||
|
|
||||||
3. **Interactive Documents**
|
3. **Interactive Documents**
|
||||||
|
|
||||||
- Integrate interactivities like forms, buttons, and interactive charts within your documents.
|
- Integrate interactivities like forms, buttons, and interactive charts within your documents.
|
||||||
|
|
||||||
4. **Localization Support**
|
4. **Localization Support**
|
||||||
|
|
||||||
- Documents can be localized to support multiple languages, enhancing accessibility and usability.
|
- Documents can be localized to support multiple languages, enhancing accessibility and usability.
|
||||||
|
|
||||||
5. **Responsive and Adaptive Designs**
|
5. **Responsive and Adaptive Designs**
|
||||||
|
|
||||||
- Create documents that adjust layout dynamically depending on print or digital medium, maintaining consistency across platforms.
|
- Create documents that adjust layout dynamically depending on print or digital medium, maintaining consistency across platforms.
|
||||||
|
|
||||||
6. **Security Features**
|
6. **Security Features**
|
||||||
|
|
||||||
- Apply digital signatures and encrypt sensitive documents to ensure secure and authentic document distribution.
|
- Apply digital signatures and encrypt sensitive documents to ensure secure and authentic document distribution.
|
||||||
|
|
||||||
7. **Complex Business Logic**
|
7. **Complex Business Logic**
|
||||||
|
@ -2,8 +2,4 @@ import * as tsclass from '@tsclass/tsclass';
|
|||||||
import * as smartfile from '@push.rocks/smartfile';
|
import * as smartfile from '@push.rocks/smartfile';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
export {
|
export { tsclass, smartfile, path };
|
||||||
tsclass,
|
|
||||||
smartfile,
|
|
||||||
path,
|
|
||||||
}
|
|
||||||
|
@ -113,7 +113,7 @@ tap.test('should create an invoice', async () => {
|
|||||||
const pdfResult = await testPdfServiceInstance.createPdfFromLetterObject(optionsArg);
|
const pdfResult = await testPdfServiceInstance.createPdfFromLetterObject(optionsArg);
|
||||||
await plugins.smartfile.memory.toFs(
|
await plugins.smartfile.memory.toFs(
|
||||||
Buffer.from(pdfResult.buffer),
|
Buffer.from(pdfResult.buffer),
|
||||||
plugins.path.join(paths.nogitDir, `test-${counter++}.pdf`)
|
plugins.path.join(paths.nogitDir, `test-${counter++}.pdf`),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
await saveResult({
|
await saveResult({
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@design.estate/dees-document',
|
name: '@design.estate/dees-document',
|
||||||
version: '1.5.1',
|
version: '1.5.2',
|
||||||
description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
|
description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import * as plugins from './plugins.js';
|
import * as plugins from './plugins.js';
|
||||||
import * as helpers from './helpers.js';
|
import * as helpers from './helpers.js';
|
||||||
|
|
||||||
export interface IPdfServiceConstructorOptions {
|
export interface IPdfServiceConstructorOptions {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* a pdf service for generating pdfs
|
* a pdf service for generating pdfs
|
||||||
@ -44,8 +42,8 @@ export class PdfService {
|
|||||||
* creates an letter
|
* creates an letter
|
||||||
*/
|
*/
|
||||||
public async createPdfFromLetterObject(optionsArg: {
|
public async createPdfFromLetterObject(optionsArg: {
|
||||||
letterData: plugins.tsclass.business.ILetter,
|
letterData: plugins.tsclass.business.ILetter;
|
||||||
documentSettings: plugins.shared.interfaces.IDocumentSettings
|
documentSettings: plugins.shared.interfaces.IDocumentSettings;
|
||||||
}) {
|
}) {
|
||||||
const html = `
|
const html = `
|
||||||
<script type="module">
|
<script type="module">
|
||||||
|
@ -3,4 +3,4 @@ import * as paths from './paths.js';
|
|||||||
|
|
||||||
export const getBundleAsString = async () => {
|
export const getBundleAsString = async () => {
|
||||||
return plugins.smartfile.fs.toStringSync(paths.bundleFile);
|
return plugins.smartfile.fs.toStringSync(paths.bundleFile);
|
||||||
}
|
};
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
import * as plugins from './plugins.js';
|
import * as plugins from './plugins.js';
|
||||||
|
|
||||||
export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');
|
export const packageDir = plugins.path.join(
|
||||||
|
plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url),
|
||||||
|
'../',
|
||||||
|
);
|
||||||
|
|
||||||
export const nogitDir = plugins.path.join(packageDir, '.nogit/');
|
export const nogitDir = plugins.path.join(packageDir, '.nogit/');
|
||||||
plugins.smartfile.fs.ensureDirSync(nogitDir);
|
plugins.smartfile.fs.ensureDirSync(nogitDir);
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
// node native
|
// node native
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
export {
|
export { path };
|
||||||
path
|
|
||||||
}
|
|
||||||
|
|
||||||
// dees-document scope
|
// dees-document scope
|
||||||
import * as shared from '../dist_ts_shared/index.js';
|
import * as shared from '../dist_ts_shared/index.js';
|
||||||
@ -16,16 +14,9 @@ import * as smartjson from '@push.rocks/smartjson';
|
|||||||
import * as smartpath from '@push.rocks/smartpath';
|
import * as smartpath from '@push.rocks/smartpath';
|
||||||
import * as smartpdf from '@push.rocks/smartpdf';
|
import * as smartpdf from '@push.rocks/smartpdf';
|
||||||
|
|
||||||
export {
|
export { smartfile, smartpath, smartjson, smartpdf };
|
||||||
smartfile,
|
|
||||||
smartpath,
|
|
||||||
smartjson,
|
|
||||||
smartpdf,
|
|
||||||
}
|
|
||||||
|
|
||||||
// @tsclass scope
|
// @tsclass scope
|
||||||
import * as tsclass from '@tsclass/tsclass';
|
import * as tsclass from '@tsclass/tsclass';
|
||||||
|
|
||||||
export {
|
export { tsclass };
|
||||||
tsclass,
|
|
||||||
}
|
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@design.estate/dees-document',
|
name: '@design.estate/dees-document',
|
||||||
version: '1.5.1',
|
version: '1.5.2',
|
||||||
description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
|
description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
|
||||||
}
|
}
|
||||||
|
2
ts_web/pages/index.ts
Normal file
2
ts_web/pages/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from './page1.js';
|
||||||
|
export * from './page2.js';
|
17
ts_web/pages/page1.ts
Normal file
17
ts_web/pages/page1.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import * as plugins from '../plugins.js';
|
||||||
|
import { html } from '@design.estate/dees-element';
|
||||||
|
|
||||||
|
export const page1 = () => html`
|
||||||
|
<style>
|
||||||
|
dedocument-dedocument {
|
||||||
|
margin: 16px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<dedocument-dedocument .printMode=${false} letterData=${plugins.smartjson.stringifyBase64({
|
||||||
|
...plugins.shared.demoLetter,
|
||||||
|
from: {
|
||||||
|
...plugins.shared.demoLetter.from,
|
||||||
|
description: 'a string set via stringified JSON'
|
||||||
|
}
|
||||||
|
} as plugins.tsclass.business.ILetter)}> </dedocument-dedocument>
|
||||||
|
`;
|
18
ts_web/pages/page2.ts
Normal file
18
ts_web/pages/page2.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { html } from "@design.estate/dees-element";
|
||||||
|
|
||||||
|
export const page2 = () => html`
|
||||||
|
<style>
|
||||||
|
.demoPort {
|
||||||
|
margin: auto;
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
dedocument-page {
|
||||||
|
margin-top: 16px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="demoPort">
|
||||||
|
<dedocument-page .format="${"a4"}" .viewWidth=${400}></dedocument-page>
|
||||||
|
<dedocument-page .format="${"a4"}" .viewWidth=${400}></dedocument-page>
|
||||||
|
</div>
|
||||||
|
`;
|
@ -6,7 +6,13 @@
|
|||||||
"module": "NodeNext",
|
"module": "NodeNext",
|
||||||
"moduleResolution": "NodeNext",
|
"moduleResolution": "NodeNext",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"verbatimModuleSyntax": true
|
"verbatimModuleSyntax": true,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"undefined": [
|
||||||
|
"./ts_web/index.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"dist_*/**/*.d.ts"
|
"dist_*/**/*.d.ts"
|
||||||
|
Loading…
Reference in New Issue
Block a user