PackagePackagetypeA library you install and call yourself.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

express-icf-shim

A shim that runs an ABAP ICF handler written against if_http_extension behind an Express 4.x server, for ABAP transpiled to JavaScript and run on Node.js in testing and continuous integration.

Serves an ICF service written in ABAP from an Express 4.x app: after initializeABAP(), a route calls cl_express_icf_shim.run with the request, the response and the name of the handler class, such as ZCL_HTTP_HANDLER, and the handler's if_http_extension code answers the request. open-abap.org, where ABAP runs on Node.js by transpiling it to JavaScript, lists it among the shims for testing and continuous integration. The ABAP code has to set the correct status and content type on each response itself, as the README states.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Unit testingABAPUnit testingcapabilityTesting application logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable.

Who is behind it

open-abapopen-abapOrganisationMaintains this
In the atlas: maintains 9
@open-abap
maintainerLars HvamPersonContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1
@larshp
Alice V.PersonContributes to this
In the atlas: maintains 6, contributes to 12
@oisee
2 contributors

What it declares

Every artifact

Type
Package
Origin
By a community org
Runtime
Node.js

As a package

Where it runs
does not say
Distributed through
npm

Connections2

README

quoted from open-abap/express-icf-shim under MIT, read
open-abap/express-icf-shim/README.mdOn GitHub

express-icf-shim

express 4.x ICF shim, if_http_extension

The ABAP code must set correct status and content types in responses.

npm install express@4 --save-dev

Usage

import express from 'express';
import {initializeABAP} from "../output/init.mjs";
import {cl_express_icf_shim} from "../output/cl_express_icf_shim.clas.mjs";
await initializeABAP();

...

app.use(express.raw({type: "*/*"}));

...

app.all(["/abap", "/abap*"], async function (req, res) {
  await cl_express_icf_shim.run({req, res, class: "ZCL_HTTP_HANDLER"});
});

...
MIT, read
Unit testing
  1. abap2UI5 headless frontendDrives abap2UI5 app classes from ABAP Unit tests
  2. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loop
  3. assertFluent assertion helper for ABAP Unit tests
  4. @abaplint/transpilerTranspiles ABAP to JavaScript to run on Node.js
  5. Modernization Agents for SAP on AWSAWS agents for ABAP, PI/PO and BW modernisation work
  6. abap_db_preparatorReplays stored database snapshots in ABAP unit tests
  7. cacamber-BDD-for-ABAPBDD framework turning Given/When/Then into ABAP Unit steps
  8. abap-utesthelpHelper classes for ABAP Unit tests and test doubles
  9. regression_testSnapshot testing library for ABAP, from debugger or unit test
  10. abapCovUploads ABAP Unit code coverage to codecov.io
  11. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystem
  12. open-steamgateLocal ABAP server serving /IWBEP/ OData v2 without an SAP system
  13. open-abap-coreCore ABAP artifacts for code transpiled by @abaplint/transpiler
  14. mockup_loaderLoader of Excel-prepared ABAP unit test data, with stub generation
  15. mockAA free mocking framework for ABAP, published under the Apache License 2.0.
  16. Vise_for_ABAPA characterisation-test helper: `ZCL_VISE=>GRIP` records a field's value once and fails a later run if it has changed.
  17. abap-senchaBDD/TDD assertion library for ABAP Unit, styled after Chai.js
  18. abap-test-containerGitHub-hosted test data container for ABAP Cloud
  19. abap-unit-runnerApplication job that runs and schedules ABAP Unit tests in the cloud
  20. adash-servicesBackend exposing ABAP Unit runs and coverage over REST and OData

Details

Sources3
Added by handdiscovered herechecked
github.com/open-abap/express-icf-shimtree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, developer-experience
abaplint
issues under its own abaplint configuration0
lines641
statements253
objects5
files5
analysed, main
abaplint version2.120.84
Contributors2

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:open-abap-express-icf-shim
JSON
/artifacts/open-abap-express-icf-shim.json
MCP
Connecting an agent