Open kanadgupta opened 1 year ago
Maybe we also migrate to ESM? 😬
fwiw, iirc last time i looked into that you still needed to pass the --experimental
flag to Node for ESM in order to run bin/rdme
. That was like a year and a half ago though, and before we migrated to TS, so maybe things are different now.
maybe we also drop Node 16 support also when that is EOL in a few weeks. we'll want to bump the version here (in addition to everywhere else):
https://github.com/readmeio/rdme/blob/9756d95f510d05d2b4cdacddf91d509b287291e0/Dockerfile#L1
Now that we've got rdme guides
and rdme guides:prune
aliased to rdme docs:<cmd>
can we deprecate and remove rdme docs
?
@erunion ah yeah good callout — definitely down to add a deprecation notice but i don't think we should remove those until we're using the new /guides
routes
For dumping node-fetch
and formdata-node
for native fetch
the place where you're using formdata-node
in https://github.com/readmeio/rdme/pull/856 can be replaced with this diff:
diff --git a/src/lib/streamSpecToRegistry.ts b/src/lib/streamSpecToRegistry.ts
index a73445f..9d4f68a 100644
--- a/src/lib/streamSpecToRegistry.ts
+++ b/src/lib/streamSpecToRegistry.ts
@@ -1,8 +1,4 @@
-import fs from 'node:fs';
-
-import { FormData } from 'formdata-node';
import ora from 'ora';
-import { file as tmpFile } from 'tmp-promise';
import { debug, oraOptions } from './logger.js';
import readmeAPIFetch, { handleRes } from './readmeAPIFetch.js';
@@ -15,23 +11,15 @@ import readmeAPIFetch, { handleRes } from './readmeAPIFetch.js';
*/
export default async function streamSpecToRegistry(spec: string) {
const spinner = ora({ text: 'Staging your API definition for upload...', ...oraOptions() }).start();
- // Create a temporary file to write the bundled spec to,
- // which we will then stream into the form data body
- const { path } = await tmpFile({ prefix: 'rdme-openapi-', postfix: '.json' });
- debug(`creating temporary file at ${path}`);
- await fs.writeFileSync(path, spec);
- const stream = fs.createReadStream(path);
-
- debug('file and stream created, streaming into form data payload');
+ debug('preparing spec into form data payload');
const formData = new FormData();
- formData.append('spec', {
- type: 'application/json',
- name: 'openapi.json',
- [Symbol.toStringTag]: 'File',
- stream() {
- return stream;
- },
- });
+ formData.append(
+ spec,
+ new Blob([spec], {
+ type: 'application/json',
+ }),
+ 'openapi.json',
+ );
const options = {
body: formData,
docs
commandsworkingDirectory
argument fromopenapi
family of commands (RM-7754, #904)gh
CLI usage)lastUpdatedHash
insertion (internal ticket)ExperimentalWarning
s show up https://github.com/readmeio/rdme/pull/901docs:edit
command https://github.com/readmeio/rdme/pull/902oas
command https://github.com/readmeio/rdme/pull/902swagger
command https://github.com/readmeio/rdme/pull/902tsconfig
https://github.com/readmeio/rdme/pull/905isPublic
flag in theversions:create
andversions:update
commands to behidden
so it's consistent with the other flags and with our API endpoints https://github.com/readmeio/rdme/pull/906fetch
andFormData
andin favor ofmsw
node-fetch
andandnock
formdata-node
, convert everything over accordingly #1000lower priority
v9
,v9.0.0
,)9.0.0