diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..5ac2613 --- /dev/null +++ b/.npmignore @@ -0,0 +1,52 @@ +/src + +# Bootstrapping # +################# +/node_modules +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.ini +.env.backup +.phpunit.result.cache +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +public/robots.txt + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db +.directory + +# Tool specific files # +####################### +# vim +*~ +*.swp +*.swo +# sublime text & textmate +*.sublime-* +*.stTheme.cache +*.tmlanguage.cache +*.tmPreferences.cache +# Eclipse +.settings/* +# JetBrains, aka PHPStorm, IntelliJ IDEA +.idea/* +# NetBeans +nbproject/* +# Visual Studio Code +.vscode +# Sass preprocessor +.sass-cache/ diff --git a/package.json b/package.json index 64db716..87bd638 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,16 @@ { "name": "reflect-client", - "version": "1.0.0", + "version": "1.1.0", "main": "build/Reflect.js", + "type": "module", + "exports": { + ".": { + "import": { + "types": "./src/Reflect.ts", + "default": "./build/Reflect.js" + } + } + }, "devDependencies": { "typescript": "^5.2.2" } diff --git a/src/Reflect.ts b/src/Reflect.ts index 1b6a865..f424c76 100644 --- a/src/Reflect.ts +++ b/src/Reflect.ts @@ -1,4 +1,7 @@ -import { Method } from "./Method"; +import { Method } from "./Method.js"; + +// Export Method as importable directly from the Reflect.js ESM +export { Method }; // Connect to a Reflect API instance over HTTP export default class Client { @@ -16,7 +19,12 @@ export default class Client { // Set API key to use for all requests private setApiKey(key: string): void { - this.headers["Authentication"] = `Bearer ${key}`; + this.headers["Authorization"] = `Bearer ${key}`; + } + + // Get fully qualified URL to endpoint + private getEndpoint(endpoint: string): string { + return this.url + endpoint; } // Call a Reflect API endpoint with method and optional payload @@ -32,6 +40,6 @@ export default class Client { } // Fetch and return Response object - return await fetch(endpoint, options); + return await fetch(this.getEndpoint(endpoint), options); } } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index f74e32a..cb59621 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,9 +2,7 @@ "compilerOptions": { "emitDecoratorMetadata": true, "experimentalDecorators": true, - "module": "amd", - "target": "ES6", - "rootDir": "./src", - "outFile": "./build/Reflect.js" + "module": "NodeNext", + "outDir": "./build" } } \ No newline at end of file