sequelize / website

Our beloved website that contains all versions of our documentations and the API references.
https://sequelize.org
29 stars 155 forks source link

List of broken URLs #43

Open ephys opened 2 years ago

ephys commented 2 years ago

Just ran my script on the latest preview, here is the complete list of broken internal URLs:

https://sequelize-site.netlify.app/v6/index.html
https://sequelize-site.netlify.app/v6/manual/getting-started.html
https://sequelize-site.netlify.app/v6/manual/whos-using.html
https://sequelize-site.netlify.app/v6/class/src/model.js~Model.html
https://sequelize-site.netlify.app/v6/function/index.html
https://sequelize-site.netlify.app/api/v6/source.html
https://sequelize-site.netlify.app/v3/api/sequelize/sequelize
https://sequelize-site.netlify.app/v3/api/sequelize/transaction
https://sequelize-site.netlify.app/v3/api/sequelize/deferrable
https://sequelize-site.netlify.app/v3/api/sequelize/instance
https://sequelize-site.netlify.app/v3/api/sequelize/association
https://sequelize-site.netlify.app/v3/api/sequelize/errors
https://sequelize-site.netlify.app/v3/api/sequelize/queryinterface
https://sequelize-site.netlify.app/v3/api/sequelize/datatypes
https://sequelize-site.netlify.app/v3/api/sequelize/hooks
https://sequelize-site.netlify.app/v3/api/sequelize/model
https://sequelize-site.netlify.app/v2/sequelize
https://sequelize-site.netlify.app/v2/utils
https://sequelize-site.netlify.app/v2/promise
https://sequelize-site.netlify.app/v2/transaction
https://sequelize-site.netlify.app/v2/instance
https://sequelize-site.netlify.app/v2/errors
https://sequelize-site.netlify.app/v2/queryinterface
https://sequelize-site.netlify.app/v2/migrator
https://sequelize-site.netlify.app/v2/datatypes
https://sequelize-site.netlify.app/v2/hooks
https://sequelize-site.netlify.app/v2/model
https://sequelize-site.netlify.app/v2/irc://irc.freenode.net/
https://sequelize-site.netlify.app/api/v6/class/src/model.js~Model.html
https://sequelize-site.netlify.app/api/v6/class/src/errors/connection/connection-acquire-timeout-error.js~ConnectionAcquireTimeoutError.html
https://sequelize-site.netlify.app/api/v6/file/src/sequelize.js.html
https://sequelize-site.netlify.app/master/manual/model-basics.html
https://sequelize-site.netlify.app/api/v6/file/src/data-types.js.html
https://sequelize-site.netlify.app/api/v6/file/src/deferrable.js.html
https://sequelize-site.netlify.app/api/v6/file/src/index-hints.js.html
https://sequelize-site.netlify.app/api/v6/file/src/query-types.js.html
https://sequelize-site.netlify.app/api/v6/file/src/table-hints.js.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/validation-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/abstract/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/transaction.js.html
https://sequelize-site.netlify.app/api/v6/file/src/associations/base.js.html
https://sequelize-site.netlify.app/api/v6/file/src/associations/belongs-to-many.js.html
https://sequelize-site.netlify.app/api/v6/file/src/associations/belongs-to.js.html
https://sequelize-site.netlify.app/api/v6/file/src/associations/has-many.js.html
https://sequelize-site.netlify.app/api/v6/file/src/associations/has-one.js.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/db2/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/mssql/async-queue.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/mssql/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/mysql/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/postgres/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/snowflake/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/dialects/sqlite/query-interface.js.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/aggregate-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/association-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/base-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/bulk-record-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/database-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/eager-loading-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/empty-result-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/instance-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/optimistic-lock-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/query-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/sequelize-scope-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/access-denied-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/connection-acquire-timeout-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/connection-refused-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/connection-timed-out-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/host-not-found-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/host-not-reachable-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/connection/invalid-connection-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/database/exclusion-constraint-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/database/foreign-key-constraint-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/database/timeout-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/database/unknown-constraint-error.ts.html
https://sequelize-site.netlify.app/api/v6/file/src/errors/validation/unique-constraint-error.ts.html
https://sequelize-site.netlify.app/v3/docs/api/datatypes
https://sequelize-site.netlify.app/v3/docs/models-definition/transactions/
https://sequelize-site.netlify.app/v3/docs/scopes/associations/
https://sequelize-site.netlify.app/v3/docs/associations/scopes
https://sequelize-site.netlify.app/api/hooks
https://sequelize-site.netlify.app/v3/api/model/sequelize
https://sequelize-site.netlify.app/v3/api/model/transaction
https://sequelize-site.netlify.app/v3/api/model/model
https://sequelize-site.netlify.app/v3/api/model/instance
https://sequelize-site.netlify.app/v3/api/instance/sequelize
https://sequelize-site.netlify.app/v3/api/instance/model
https://sequelize-site.netlify.app/v3/api/instance/instancevalidator
https://sequelize-site.netlify.app/v3/api/instance/instance
https://sequelize-site.netlify.app/v3/sequelize/
https://sequelize-site.netlify.app/v3/model/
https://sequelize-site.netlify.app/v3/instance/
https://sequelize-site.netlify.app/v3/api/
https://sequelize-site.netlify.app/v3/api/has-one/
https://sequelize-site.netlify.app/v3/api/has-many/
https://sequelize-site.netlify.app/v3/api/belongs-to-many/
https://sequelize-site.netlify.app/v3/hooks/
https://sequelize-site.netlify.app/v3/transaction/
https://sequelize-site.netlify.app/v3/datatypes/
https://sequelize-site.netlify.app/v3/deferrable/
https://sequelize-site.netlify.app/v3/errors/
https://sequelize-site.netlify.app/v3/api/belongs-to/
https://sequelize-site.netlify.app/v3/api/hooks/sequelize
https://sequelize-site.netlify.app/v2//docs/latest/migrations
https://sequelize-site.netlify.app/v2//docs/latest/models
https://sequelize-site.netlify.app/v2//docs/latest/associations
https://sequelize-site.netlify.app/v2//docs/latest/usage
https://sequelize-site.netlify.app/v2//docs/latest/misc
https://sequelize-site.netlify.app/v2/instancevalidator
https://sequelize-site.netlify.app/api/v7/interfaces/transaction
https://sequelize-site.netlify.app/api/v6/manual/..class/src/model.js~Model.html
https://sequelize-site.netlify.app/api/v6/manual/polymorphism-and-scopes.html
https://sequelize-site.netlify.app/api/v6/file/src/utils.js.html
WikiRik commented 2 years ago

Do we want to fix all of these? Or just the v6 and v7 links?

ephys commented 2 years ago

Just v6 for the initial release. I think fixing the archives would be welcomed but not important.

I'm re-running the script to know which pages include these broken URLs.

ephys commented 2 years ago

breakdown of broken URLs:

This URL is a weird one listed in every file generated by esdoc:

It's already broken on the existing site - not blocking

v6 - broken API references

The following URLs are esdocs failing to generate the api reference for those files:

It's already broken on the existing site - not blocking

The following are broken URLs in Sequelize v3 that could be updated:

Not blocking, archived version

broken links on https://sequelize-site.netlify.app/v3/docs/models-definition/ :
    404: https://sequelize-site.netlify.app/v3/docs/api/datatypes
    404: https://sequelize-site.netlify.app/v3/docs/models-definition/transactions/

broken links on https://sequelize-site.netlify.app/v3/docs/scopes/ :
    404: https://sequelize-site.netlify.app/v3/docs/scopes/associations/

broken links on https://sequelize-site.netlify.app/v3/docs/associations/ :
    404: https://sequelize-site.netlify.app/v3/docs/associations/scopes

broken links on https://sequelize-site.netlify.app/v3/docs/hooks/ :
    404: https://sequelize-site.netlify.app/api/hooks

broken links on https://sequelize-site.netlify.app/v3/api/sequelize/ :
    404: https://sequelize-site.netlify.app/v3/api/sequelize/sequelize
    404: https://sequelize-site.netlify.app/v3/api/sequelize/transaction
    404: https://sequelize-site.netlify.app/v3/api/sequelize/deferrable
    404: https://sequelize-site.netlify.app/v3/api/sequelize/instance
    404: https://sequelize-site.netlify.app/v3/api/sequelize/association
    404: https://sequelize-site.netlify.app/v3/api/sequelize/errors
    404: https://sequelize-site.netlify.app/v3/api/sequelize/queryinterface
    404: https://sequelize-site.netlify.app/v3/api/sequelize/datatypes
    404: https://sequelize-site.netlify.app/v3/api/sequelize/hooks
    404: https://sequelize-site.netlify.app/v3/api/sequelize/model

broken links on https://sequelize-site.netlify.app/v3/api/model/ :
    404: https://sequelize-site.netlify.app/v3/api/model/sequelize
    404: https://sequelize-site.netlify.app/v3/api/model/transaction
    404: https://sequelize-site.netlify.app/v3/api/model/model
    404: https://sequelize-site.netlify.app/v3/api/model/instance

broken links on https://sequelize-site.netlify.app/v3/api/instance/ :
    404: https://sequelize-site.netlify.app/v3/api/instance/sequelize
    404: https://sequelize-site.netlify.app/v3/api/instance/model
    404: https://sequelize-site.netlify.app/v3/api/instance/instancevalidator
    404: https://sequelize-site.netlify.app/v3/api/instance/instance

broken links on https://sequelize-site.netlify.app/v3/api/associations/belongs-to/ :
    404: https://sequelize-site.netlify.app/v3/sequelize/
    404: https://sequelize-site.netlify.app/v3/model/
    404: https://sequelize-site.netlify.app/v3/instance/
    404: https://sequelize-site.netlify.app/v3/api/
    404: https://sequelize-site.netlify.app/v3/api/has-one/
    404: https://sequelize-site.netlify.app/v3/api/has-many/
    404: https://sequelize-site.netlify.app/v3/api/belongs-to-many/
    404: https://sequelize-site.netlify.app/v3/hooks/
    404: https://sequelize-site.netlify.app/v3/transaction/
    404: https://sequelize-site.netlify.app/v3/datatypes/
    404: https://sequelize-site.netlify.app/v3/deferrable/
    404: https://sequelize-site.netlify.app/v3/errors/

broken links on https://sequelize-site.netlify.app/v3/api/associations/has-one/ :
    404: https://sequelize-site.netlify.app/v3/sequelize/
    404: https://sequelize-site.netlify.app/v3/model/
    404: https://sequelize-site.netlify.app/v3/instance/
    404: https://sequelize-site.netlify.app/v3/api/
    404: https://sequelize-site.netlify.app/v3/api/belongs-to/
    404: https://sequelize-site.netlify.app/v3/api/has-many/
    404: https://sequelize-site.netlify.app/v3/api/belongs-to-many/
    404: https://sequelize-site.netlify.app/v3/hooks/
    404: https://sequelize-site.netlify.app/v3/transaction/
    404: https://sequelize-site.netlify.app/v3/datatypes/
    404: https://sequelize-site.netlify.app/v3/deferrable/
    404: https://sequelize-site.netlify.app/v3/errors/

broken links on https://sequelize-site.netlify.app/v3/api/associations/has-many/ :
    404: https://sequelize-site.netlify.app/v3/sequelize/
    404: https://sequelize-site.netlify.app/v3/model/
    404: https://sequelize-site.netlify.app/v3/instance/
    404: https://sequelize-site.netlify.app/v3/api/
    404: https://sequelize-site.netlify.app/v3/api/belongs-to/
    404: https://sequelize-site.netlify.app/v3/api/has-one/
    404: https://sequelize-site.netlify.app/v3/api/belongs-to-many/
    404: https://sequelize-site.netlify.app/v3/hooks/
    404: https://sequelize-site.netlify.app/v3/transaction/
    404: https://sequelize-site.netlify.app/v3/datatypes/
    404: https://sequelize-site.netlify.app/v3/deferrable/
    404: https://sequelize-site.netlify.app/v3/errors/

broken links on https://sequelize-site.netlify.app/v3/api/associations/belongs-to-many/ :
    404: https://sequelize-site.netlify.app/v3/sequelize/
    404: https://sequelize-site.netlify.app/v3/model/
    404: https://sequelize-site.netlify.app/v3/instance/
    404: https://sequelize-site.netlify.app/v3/api/
    404: https://sequelize-site.netlify.app/v3/api/belongs-to/
    404: https://sequelize-site.netlify.app/v3/api/has-one/
    404: https://sequelize-site.netlify.app/v3/api/has-many/
    404: https://sequelize-site.netlify.app/v3/hooks/
    404: https://sequelize-site.netlify.app/v3/transaction/
    404: https://sequelize-site.netlify.app/v3/datatypes/
    404: https://sequelize-site.netlify.app/v3/deferrable/
    404: https://sequelize-site.netlify.app/v3/errors/

broken links on https://sequelize-site.netlify.app/v3/api/hooks/ :
    404: https://sequelize-site.netlify.app/v3/api/hooks/sequelize

The following are fixable broken links on v2:

Not blocking, archived version

broken links on https://sequelize-site.netlify.app/v2/ :
    404: https://sequelize-site.netlify.app/v2/docs/misc
    404: https://sequelize-site.netlify.app/v2/imprint

broken links on https://sequelize-site.netlify.app/v2/api/sequelize/ :
    404: https://sequelize-site.netlify.app/v2/sequelize
    404: https://sequelize-site.netlify.app/v2/utils
    404: https://sequelize-site.netlify.app/v2/promise
    404: https://sequelize-site.netlify.app/v2/transaction
    404: https://sequelize-site.netlify.app/v2/instance
    404: https://sequelize-site.netlify.app/v2/errors
    404: https://sequelize-site.netlify.app/v2/queryinterface
    404: https://sequelize-site.netlify.app/v2/migrator
    404: https://sequelize-site.netlify.app/v2/datatypes
    404: https://sequelize-site.netlify.app/v2/hooks
    404: https://sequelize-site.netlify.app/v2/model

broken links on https://sequelize-site.netlify.app/v2/articles/getting-started/ :
    404: https://sequelize-site.netlify.app/v2//docs/latest/migrations
    404: https://sequelize-site.netlify.app/v2//docs/latest/models
    404: https://sequelize-site.netlify.app/v2//docs/latest/associations

broken links on https://sequelize-site.netlify.app/v2/docs/usage/ :
    404: https://sequelize-site.netlify.app/v2//docs/latest/usage

broken links on https://sequelize-site.netlify.app/v2/docs/models/ :
    404: https://sequelize-site.netlify.app/v2//docs/latest/misc

broken links on https://sequelize-site.netlify.app/v2/api/model/ :
    404: https://sequelize-site.netlify.app/v2/sequelize
    404: https://sequelize-site.netlify.app/v2/model
    404: https://sequelize-site.netlify.app/v2/instance

broken links on https://sequelize-site.netlify.app/v2/api/instance/ :
    404: https://sequelize-site.netlify.app/v2/sequelize
    404: https://sequelize-site.netlify.app/v2/model
    404: https://sequelize-site.netlify.app/v2/instance
    404: https://sequelize-site.netlify.app/v2/instancevalidator

broken links on https://sequelize-site.netlify.app/v2/api/hooks/ :
    404: https://sequelize-site.netlify.app/v2/sequelize

Broken links on v7

Only blocker is this:

broken links on https://sequelize-site.netlify.app/docs/v7/getting-started/ :
    404: https://sequelize-site.netlify.app/v6/manual/getting-started.html
WikiRik commented 2 years ago

In the API reference of v6 when you click the bold API Reference link you get referred to the missing page of https://sequelize.org/api/v6/manual/index.html

ephys commented 2 years ago

I tried fixing the missing pages in the v6 api reference. It's caused by esdoc failing to parse the new syntax. I tried transpiling the files using esbuild first, but esbuild doesn't place the comments in the right place so the files are empty and useless.

The only way to repair them would be to update their source code to manually replace the new syntax with syntax compatible with esdoc

WikiRik commented 2 years ago

The only way to update them would be to update their source code to manually replace the new syntax with syntax compatible with esdoc

Guess that's what we have to do then unfortunately. Don't think we want to keep that out of the docs for much longer.

WikiRik commented 2 years ago

Updated list; https://github.com/sequelize/website/pull/117#issuecomment-1103154971

WikiRik commented 8 months ago

@ephys not sure if you shared your script before, but can you run it again?

ephys commented 8 months ago

My script is available here: https://github.com/ephys/puppeteer-crawler

The command I use to check sequelize is:

npm start https://sequelize.org -- --collect-meta=anchors \
  --exclude-path='/v{1,2,3,4,5}' \
  --exclude-path='/v{1,2,3,4,5}/**/*' \
  --exclude-path='/api/**/*' \
  --exclude-path='/api' \
  --check-externals

This causes it to check that all pages linked from anything except the above excluded paths are not 404s

Then npm run print-broken-links can be used to print a readable list of 404s

It's a rough script that always requires some tinkering though


Here is the latest run:

broken links on https://sequelize.org/docs/v6/other-topics/upgrade/ :
    404: https://github.com/sequelize/sequelize11778/pull/
    404: https://github.com/sequelize/sequelize11775/pull/

broken links on https://sequelize.org/docs/v6/other-topics/aws-lambda/ :
    404: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/
    404: https://sequelize.org/api/v6/class/src/errors/connection/connection-acquire-timeout-error.js~ConnectionAcquireTimeoutError.html

broken links on https://sequelize.org/docs/v6/other-topics/resources/ :
    404: https://www.pg-generator.com/builtin-templates/sequelize/

broken links on https://sequelize.org/docs/v7/models/data-types/ :
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.STRING.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.TEXT.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.CHAR.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.TINYINT.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.SMALLINT.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.MEDIUMINT.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.INTEGER.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.BIGINT.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.FLOAT.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.DOUBLE.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.DECIMAL.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.DATE.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.BLOB.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.ENUM.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.GEOMETRY.html
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.GEOGRAPHY.html

broken links on https://sequelize.org/docs/v7/models/inheritance/ :
    404: https://sequelize.org/v7/variables/_sequelize_core.decorators_legacy.table.abstract
    404: https://sequelize.org/api/v7/functions/_sequelize_core.decorators_legacy.table-1

broken links on https://sequelize.org/docs/v7/other-topics/aws-lambda/ :
    404: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/

broken links on https://sequelize.org/docs/v7/other-topics/connection-pool/ :
    404: https://sequelize.org/api/v7/classes/_sequelize_core.index.unknown.ReplicationPool.html

broken links on https://sequelize.org/docs/v7/other-topics/upgrade/ :
    404: https://sequelize.org/api/v7/variables/_sequelize_core.index.sql.literal.html
    404: https://sequelize.org/api/v7/variables/_sequelize_core.index.sql.col.html
    404: https://sequelize.org/api/v7/variables/_sequelize_core.index.sql.fn.html

broken links on https://sequelize.org/api/v6/class/src/model.js~model :
    404: https://sequelize.org/api/v6/source.html
    404: https://sequelize.org/api/v6/file/src/model.js.html